<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I’m trying to intall Rcpp using clang and libc++ instead of gcc and libstdc++. However, something is adding =lstdc++ to the call to ld and I can’t figure out what it is.<div><br></div><div>Here is the link command that is happening:</div><div><br></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><font face="Courier New">vagrant@vagrant-ubuntu-trusty-64:/vagrant/Rcpp$ R CMD INSTALL --no-test-load -d --with-keep-source .</font></div><div><font face="Courier New">Warning: unknown option ‘--with-keep-source’</font></div><div><font face="Courier New">processing ‘.’</font></div><div><font face="Courier New">a directory</font></div><div><font face="Courier New">* installing to library ‘/usr/local/lib/R/library’</font></div><div><font face="Courier New">* build_help_types=</font></div><div><font face="Courier New">* DBG: 'R CMD INSTALL' now doing do_install()</font></div><div><font face="Courier New">* created lock directory ‘/usr/local/lib/R/library/00LOCK-Rcpp’</font></div><div><font face="Courier New">* installing *source* package ‘Rcpp’ ...</font></div><div><font face="Courier New">** backing up earlier installation</font></div><div><font face="Courier New">** libs</font></div><div><font face="Courier New">about to run R CMD SHLIB -o Rcpp.so Date.cpp Module.cpp Rcpp_init.cpp api.cpp attributes.cpp barrier.cpp</font></div><div><font face="Courier New">clang++ -std=c++11 -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -lc++ -v -L/usr/local/lib/R/lib -lR</font></div><div><font face="Courier New">Ubuntu clang version 3.5-1ubuntu1 (trunk) (based on LLVM 3.5)</font></div><div><font face="Courier New">Target: x86_64-pc-linux-gnu</font></div><div><font face="Courier New">Thread model: posix</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.2</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.1</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.2</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9</font></div><div><font face="Courier New">Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.1</font></div><div><font face="Courier New">Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8</font></div><div><font face="Courier New">Selected multilib: .;</font></div><div><font face="Courier New"> "/usr/bin/ld" -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -shared -o Rcpp.so /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/crtbeginS.o -L/usr/local/lib/R/lib -L/usr/local/lib -L/usr/local/lib/R/lib -L/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/bin/../lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../.. -L/usr/bin/../lib -L/lib -L/usr/lib Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -lc++ -lR -lstdc++ -lm -lgcc_s -lc -lgcc_s /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/crtendS.o /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o</font></div><div><font face="Courier New">installing to /usr/local/lib/R/library/Rcpp/libs</font></div></blockquote><div><br></div><div>When I run objdump -v on the generated .so file, it shows:</div><div><font face="Courier New"><br></font></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">Dynamic Section:</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libc++.so.1</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libR.so</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libstdc++.so.6</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libm.so.6</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libgcc_s.so.1</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">  NEEDED               libc.so.6</font></div></div></blockquote><div><br></div><div>I’ve looked at every environment variable in R, along with every variable visible via “R CMD config”. None mention stdc++. Here is my Makevars:</div><div><br></div><div><br></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div style="margin: 0px; font-size: 13px; font-family: Inconsolata-dz;">vagrant@vagrant-ubuntu-trusty-64:/vagrant/Rcpp$ cat ~/.R/Makevars </div></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">CXX=clang++</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">CC=clang</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">PKG_CXXFLAGS = -std=c++11 -stdlib=libc++</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">CXXFLAGS= -g  -O3 -Wall -pipe -pedantic -Wno-variadic-macros </font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">CXX_STD=CXX11</font></div></div><div><div style="margin: 0px; font-size: 13px;"><font face="Courier New">PKG_LIBS=-lc++ -v</font></div></div></blockquote><div><br></div><div>Any suggestions where to look? For now I’m just manually linking Rcpp and excluding the -lstdc++ but that isn’t very easy for someone trying to reproduce my work.</div><div><br></div><div>Thanks.</div><div><br></div></body></html>