[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