Like g++, clang++ notices that argv[0] is clang++ rather than clang, e.g.:
http://stackoverflow.com/questions/13870967/whats-the-difference-between-clang-and-clang-when-building-a-library So yes, they are just symlinks, but the name matters. On Sat, Dec 5, 2015 at 12:54 PM, Richard Shaw <[email protected]> wrote: > On Fri, Dec 4, 2015 at 10:15 PM, Shane Ambler <[email protected]> > wrote: > >> On 05/12/2015 04:42, Larry Gritz wrote: >> >>> I think it should be as simple as >>> >>> CXX=clang cmake ~/git/oiio && make >>> >>> See if that works? >>> >>> >>> On Dec 4, 2015, at 8:13 AM, Richard Shaw <[email protected]> >>>> wrote: >>>> >>>> I'm playing around with clang but I'm not very familiar how to do >>>> that with cmake... I told cmake to to use the clang complier but do >>>> I need to tell it anything about linking? >>>> >>>> $ cmake -DCMAKE_C_COMPILER=/usr/bin/clang >>>> -DCMAKE_CXX_COMPILER=/usr/bin/clang ~/git/oiio/ >>>> >>> >> CMAKE_CXX_COMPILER should be clang++ ?? > > > clang++ is a symbolic link to clang... I think it knows how to compile it > based on the extension. > > > >> The first time it tries to link I get this: >>>> >>>> [ 8%] Linking CXX executable array_view_test cd >>>> /home/build/build/OpenImageIO/src/libutil && /usr/bin/cmake -E >>>> cmake_link_script CMakeFiles/array_view_test.dir/link.txt >>>> --verbose=1 /usr/bin/clang -O3 -DNDEBUG >>>> CMakeFiles/array_view_test.dir/array_view_test.cpp.o -o >>>> array_view_test -rdynamic libOpenImageIO_Util.so.1.6.6 >>>> -lboost_filesystem -lboost_regex -lboost_system -lboost_thread -lrt >>>> -ldl -lHalf -lIex -lImath -lIlmThread -lpthread >>>> -Wl,-rpath,/home/build/build/OpenImageIO/src/libutil /usr/bin/ld: >>>> CMakeFiles/array_view_test.dir/array_view_test.cpp.o: undefined >>>> reference to symbol '_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9' >>>> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from >>>> command line clang: error: linker command failed with exit code 1 >>>> (use -v to see invocation) >>>> >>> >> "undefined reference to GLIBCXX_3.4.9" which it is trying to load from >> /usr/lib64/libstdc++.so.6 - try setting LD_LIBRARY_PATH in your >> environment to point at a newer gcc build so it can find an updated >> libstdc++ before the older system one. > > > I'm doing everything with system installed packages so I'm not sure what > to do. > > Thanks, > Richard > > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > >
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
