[R-SIG-Mac] compiling with R-3.4.0

Simon Urbanek simon.urbanek at r-project.org
Thu Jun 8 16:22:57 CEST 2017


Charles,

Including another SDK's includes manually won't work, because you can't mix SDKs - and you shouldn't need to do that.

If in doubt, run
sudo xcode-select --install
which will install any missing tools - you still do need regular Xcode installation in addition to the clang+fortran compilers.
You shouldn't need to touch CPPFLAGS - if you do, something is broken in your system.

Cheers,
Simon

 

> On Jun 4, 2017, at 6:03 PM, Charles C. Berry <ccberry at ucsd.edu> wrote:
> 
> 
> 
> TL;DR: I can compile C/Fortran to install packages that need
> compilation, but I get loads of warnings.  I must have quirks in my
> setup, possibly including the need to add system header files
> compatible with clang4.
> 
> 
> Details:
> 
> I have
> 
> : R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
> : macOS 10.12.5 (16F73) aka Sierra -- on an older MacBook Pro
> : Xcode 7.3        (mindful of advice that version 8.0 has some gotchas)
> : clang version 4.0.0 (tags/RELEASE_400/final) (in /usr/local/clang4/bin)
> : gfortran reports: gcc version 6.1.0 (GCC)  (in /usr/local/bin)
> : PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/bin
> 
> bash-3.2$ grep -v "#" ~/.R/MakeVars
> 
> CC=/usr/local/clang4/bin/clang
> CXX=/usr/local/clang4/bin/clang++
> LDFLAGS=-L/usr/local/clang4/lib
> CPPFLAGS=-I/usr/local/clang4/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
> bash-3.2$
> 
> 
> I came to the CPPFLAGS setting by trial and error - noticing that compilations generated fatal errors and complaints about not finding <string.h> and hunting my system for it.
> 
> ----
> 
> With all this packages will install, but generate lots of warnings, viz.
> 
> * installing *source* package ‘ECTC’ ...
> ** libs
> /usr/local/clang4/bin/clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG   -I/usr/local/clang4/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include   -fPIC  -Wall -g -O2  -c estimateCTC.c -o estimateCTC.o
> In file included from estimateCTC.c:26:
> In file included from ./ectc.h:1:
> In file included from /Library/Frameworks/R.framework/Resources/include/R.h:55:
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/stdlib.h:92:6: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
> #if !__DARWIN_NO_LONG_LONG
>     ^
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sys/cdefs.h:633:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
> #define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
>                                 ^
> [ ... ]
> 
> 14 warnings generated.
> /usr/local/clang4/bin/clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/clang4/lib -o ECTC.so estimateCTC.o init.o utils.o zmat.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
> installing to /Users/cberry/projects/bushman/ECTC.Rcheck/ECTC/libs
> ** R
> ** byte-compile and prepare package for lazy loading
> ** help
> *** installing help indices
> ** building package indices
> ** testing if installed package can be loaded
> * DONE (ECTC)
> 
> ---
> 
> 
> Further, attempts to use inline::cfunction(...) will *sometimes* fail.
> I recall that this depends on whether I specify #include directives
> and maybe which headers I use.
> 
> Advice appreciated.
> 
> 
> Chuck_______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list