Problems with linking to libLLVMSupport.a: undefined reference to symbol

Hi folks,

When trying to link to libLLVMSuport.a in our CFD application, we get the following error at link time:

/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/x86_64-suse-linux/bin/ld: /pds/opt/llvm-20160530-r271230/lib/libLLVMSupport.a(Path.cpp.o): undefined reference to symbol ‘_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line

For the full command & output of ‘—verbose’ see at the end of the mail. This is not really understandable for me, since the only thing I changed was to switch to a newer version of clang (before we used r253770, now it is r271230).

Any idea what I’m doing wrong or what I could try to fix this?

P.S.: This is the command we used to compile clang (if it matters):
cmake …/llvm-20160530-r271230-src/ -DCMAKE_INSTALL_PREFIX=/pds/opt/llvm-20160530-r271230 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCLANG_DEFAULT_CXX_STDLIB=libc++

P.P.S.: Here is the full command + error output:

/pds/opt/llvm-20160530-r271230/bin/clang++ -O0 -g3 -fno-inline -DCOMPILER_ATTRIBUTES -std=c++14 -stdlib=libc++ -Wall -Wextra -pedantic -Wshadow -Wfloat-equal -Wcast-align -Wfloat-equal -Wdisabled-optimization -Wformat=2 -Winvalid-pch -Winit-self -Wmissing-include-dirs -Wredundant-decls -Wpacked -Wpointer-arith -Wstack-protector -Wswitch-default -Wwrite-strings -Wno-type-safety -Werror -Wunused -Wno-infinite-recursion -Wno-undefined-var-template -L/pds/opt/llvm-20160530-r271230/lib -Wl,-rpath,/pds/opt/openmpi/lib64:/pds/opt/PointwiseV17.0R2/linux_x86_64/plugins:/pds/opt/intel-16.0.3/lib/intel64/:/pds/opt/llvm-20160530-r271230/lib:/pds/opt/StarCD/lib:/pds/opt/torque/lib src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_fv.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_lb.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_avg.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_dg.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_hilbert.cpp.o src/CMakeFiles/zfs.dir/zfsgridgenpar.cpp.o src/CMakeFiles/zfs.dir/zfsgridgencell.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfslbmblockdxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticle.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcnddxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd2d.cpp.o src/CMakeFiles/zfs.dir/zfslbmblock.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfspostprocessingblock.cpp.o src/CMakeFiles/zfs.dir/zfsavgblock.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcndd2q9.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbbndrycnd2d.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry3d.cpp.o src/CMakeFiles/zfs.dir/zfsmethods.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckwindowinfo.cpp.o src/CMakeFiles/zfs.dir/zfslbmblockd2q9.cpp.o src/CMakeFiles/zfs.dir/zfsfileprocessingenv.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfacedxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticleellipsoid.cpp.o src/CMakeFiles/zfs.dir/zfsapplication.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticlespherical.cpp.o src/CMakeFiles/zfs.dir/zfsfvcmbstnblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvcmbstnblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_2d_linearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_3d_linearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_2d_acousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_3d_acousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgcell.cpp.o src/CMakeFiles/zfs.dir/zfsdginterpolation.cpp.o src/CMakeFiles/zfs.dir/zfsbigdata_pnetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsbigdata_hdf5.cpp.o src/CMakeFiles/zfs.dir/zfscontext.cpp.o src/CMakeFiles/zfs.dir/zfsinfoout.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry2d.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryadt.cpp.o src/CMakeFiles/zfs.dir/zfsionetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryionetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsparticle.cpp.o src/CMakeFiles/zfs.dir/zfsfvlevelsetcontrolpoint.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckpartition.cpp.o src/CMakeFiles/zfs.dir/zfspartcont.cpp.o src/CMakeFiles/zfs.dir/zfsenums.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfaced2q9.cpp.o src/CMakeFiles/zfs.dir/SCmathlib.cpp.o src/CMakeFiles/zfs.dir/zfslbmcell.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdbndrycnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvgcell.cpp.o src/CMakeFiles/zfs.dir/zfsfvgequpvblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvcell.cpp.o src/CMakeFiles/zfs.dir/zfsellipsoiddistance.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdwindowmapping.cpp.o src/CMakeFiles/zfs.dir/zfsenvironment.cpp.o src/CMakeFiles/zfs.dir/zfs.cpp.o src/CMakeFiles/zfs.dir/zfslbminterface.cpp.o src/CMakeFiles/zfs.dir/zfsgeometrycontext.cpp.o src/CMakeFiles/zfs.dir/zfsproperty.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycell.cpp.o src/CMakeFiles/zfs.dir/zfsfvgequpvblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvsurface.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryproperty.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckcommunicationhandle.cpp.o src/CMakeFiles/zfs.dir/zfsscratch.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryelement.cpp.o src/CMakeFiles/zfs.dir/gmres.cpp.o src/CMakeFiles/zfs.dir/zfsblock.cpp.o src/CMakeFiles/zfs.dir/zfsavgcell.cpp.o src/CMakeFiles/zfs.dir/zfslbmgridboundarycell.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfacecell.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry.cpp.o src/CMakeFiles/zfs.dir/zfssignal.cpp.o src/CMakeFiles/zfs.dir/zfslbmparentcell.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangridpoint.cpp.o src/CMakeFiles/zfs.dir/zfstimer.cpp.o src/CMakeFiles/zfs.dir/zfspointbasedcell.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck2d.cpp.o src/CMakeFiles/zfs.dir/zfsdebug.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticlebase.cpp.o src/CMakeFiles/zfs.dir/zfsvariables.cpp.o src/CMakeFiles/zfs.dir/zfsgenericobject.cpp.o src/CMakeFiles/zfs.dir/zfsfunctions.cpp.o src/CMakeFiles/zfs.dir/zfsalloc.cpp.o src/CMakeFiles/zfs.dir/zfsglobalvariables.cpp.o src/CMakeFiles/zfs.dir/zfslbmparticle.cpp.o src/CMakeFiles/zfs.dir/zfslbmpartcont.cpp.o src/CMakeFiles/zfs.dir/zfsdgsyseqnacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgbcfactoryacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgbcfactorylinearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgccfactoryacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgccfactorylinearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgccacousticperturbsourcefiles.cpp.o src/CMakeFiles/zfs.dir/zfsmath.cpp.o src/CMakeFiles/zfs.dir/main.cpp.o -o src/zfs -L/pds/opt/llvm-20160530-r271230/lib -rdynamic /pds/opt/fftw/lib64/libfftw3.a /pds/opt/parallel-netcdf-1.7.0/lib/libpnetcdf.a /pds/opt/openmpi/lib64/libmpi_cxx.so /pds/opt/openmpi/lib64/libmpi.so /pds/opt/llvm-20160530-r271230/lib/libLLVMSupport.a -ldl -ltinfo -lpthread -lc++ /pds/opt/llvm-20160530-r271230/lib/libc++abi.a /pds/opt/llvm-20160530-r271230/lib/libc++abi.a -lpthread -lc++ -Wl,-rpath,/pds/opt/openmpi/lib64:/pds/opt/llvm-20160530-r271230/lib -v
clang version 3.9.0 (trunk 271230)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /pds/opt/llvm-20160530-r271230/bin
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/4.8
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/4.9
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/4.9
Candidate multilib: .;@m64
Selected multilib: .;@m64
“/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/x86_64-suse-linux/bin/ld” -export-dynamic -z relro --hash-style=gnu --hash-style=both --build-id --enable-new-dtags --eh-frame-hdr -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o src/zfs /usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/lib64/crt1.o /usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.9/crtbegin.o -L/pds/opt/llvm-20160530-r271230/lib -L/pds/opt/llvm-20160530-r271230/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.9 -L/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/lib64 -L/lib/…/lib64 -L/usr/lib/…/lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/… -L/aia/opt/llvm-20160530-r271230/bin/…/lib -L/lib -L/usr/lib -rpath /pds/opt/openmpi/lib64:/pds/opt/PointwiseV17.0R2/linux_x86_64/plugins:/pds/opt/intel-16.0.3/lib/intel64/:/pds/opt/llvm-20160530-r271230/lib:/pds/opt/StarCD/lib:/pds/opt/torque/lib src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_fv.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_lb.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_avg.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_inst_dg.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangrid_hilbert.cpp.o src/CMakeFiles/zfs.dir/zfsgridgenpar.cpp.o src/CMakeFiles/zfs.dir/zfsgridgencell.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock.cpp.o src/CMakeFiles/zfs.dir/zfsfvblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfslbmblockdxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticle.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcnddxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycnd2d.cpp.o src/CMakeFiles/zfs.dir/zfslbmblock.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbbndrycnd3d.cpp.o src/CMakeFiles/zfs.dir/zfspostprocessingblock.cpp.o src/CMakeFiles/zfs.dir/zfsavgblock.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcndd2q9.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvmbbndrycnd2d.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry3d.cpp.o src/CMakeFiles/zfs.dir/zfsmethods.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckwindowinfo.cpp.o src/CMakeFiles/zfs.dir/zfslbmblockd2q9.cpp.o src/CMakeFiles/zfs.dir/zfsfileprocessingenv.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfacedxqy.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticleellipsoid.cpp.o src/CMakeFiles/zfs.dir/zfsapplication.cpp.o src/CMakeFiles/zfs.dir/zfslbmbndcnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticlespherical.cpp.o src/CMakeFiles/zfs.dir/zfsfvcmbstnblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvcmbstnblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_2d_linearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_3d_linearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_2d_acousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgblock_inst_3d_acousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgcell.cpp.o src/CMakeFiles/zfs.dir/zfsdginterpolation.cpp.o src/CMakeFiles/zfs.dir/zfsbigdata_pnetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsbigdata_hdf5.cpp.o src/CMakeFiles/zfs.dir/zfscontext.cpp.o src/CMakeFiles/zfs.dir/zfsinfoout.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry2d.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryadt.cpp.o src/CMakeFiles/zfs.dir/zfsionetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryionetcdf.cpp.o src/CMakeFiles/zfs.dir/zfsparticle.cpp.o src/CMakeFiles/zfs.dir/zfsfvlevelsetcontrolpoint.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckpartition.cpp.o src/CMakeFiles/zfs.dir/zfspartcont.cpp.o src/CMakeFiles/zfs.dir/zfsenums.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfaced2q9.cpp.o src/CMakeFiles/zfs.dir/SCmathlib.cpp.o src/CMakeFiles/zfs.dir/zfslbmcell.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdbndrycnd.cpp.o src/CMakeFiles/zfs.dir/zfsfvgcell.cpp.o src/CMakeFiles/zfs.dir/zfsfvgequpvblock2d.cpp.o src/CMakeFiles/zfs.dir/zfsfvcell.cpp.o src/CMakeFiles/zfs.dir/zfsellipsoiddistance.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdwindowmapping.cpp.o src/CMakeFiles/zfs.dir/zfsenvironment.cpp.o src/CMakeFiles/zfs.dir/zfs.cpp.o src/CMakeFiles/zfs.dir/zfslbminterface.cpp.o src/CMakeFiles/zfs.dir/zfsgeometrycontext.cpp.o src/CMakeFiles/zfs.dir/zfsproperty.cpp.o src/CMakeFiles/zfs.dir/zfsfvbndrycell.cpp.o src/CMakeFiles/zfs.dir/zfsfvgequpvblock3d.cpp.o src/CMakeFiles/zfs.dir/zfsfvsurface.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryproperty.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblckcommunicationhandle.cpp.o src/CMakeFiles/zfs.dir/zfsscratch.cpp.o src/CMakeFiles/zfs.dir/zfsgeometryelement.cpp.o src/CMakeFiles/zfs.dir/gmres.cpp.o src/CMakeFiles/zfs.dir/zfsblock.cpp.o src/CMakeFiles/zfs.dir/zfsavgcell.cpp.o src/CMakeFiles/zfs.dir/zfslbmgridboundarycell.cpp.o src/CMakeFiles/zfs.dir/zfslbminterfacecell.cpp.o src/CMakeFiles/zfs.dir/zfsgeometry.cpp.o src/CMakeFiles/zfs.dir/zfssignal.cpp.o src/CMakeFiles/zfs.dir/zfslbmparentcell.cpp.o src/CMakeFiles/zfs.dir/zfscartesiangridpoint.cpp.o src/CMakeFiles/zfs.dir/zfstimer.cpp.o src/CMakeFiles/zfs.dir/zfspointbasedcell.cpp.o src/CMakeFiles/zfs.dir/zfsstrctrdblck2d.cpp.o src/CMakeFiles/zfs.dir/zfsdebug.cpp.o src/CMakeFiles/zfs.dir/zfsfvparticlebase.cpp.o src/CMakeFiles/zfs.dir/zfsvariables.cpp.o src/CMakeFiles/zfs.dir/zfsgenericobject.cpp.o src/CMakeFiles/zfs.dir/zfsfunctions.cpp.o src/CMakeFiles/zfs.dir/zfsalloc.cpp.o src/CMakeFiles/zfs.dir/zfsglobalvariables.cpp.o src/CMakeFiles/zfs.dir/zfslbmparticle.cpp.o src/CMakeFiles/zfs.dir/zfslbmpartcont.cpp.o src/CMakeFiles/zfs.dir/zfsdgsyseqnacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgbcfactoryacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgbcfactorylinearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgccfactoryacousticperturb.cpp.o src/CMakeFiles/zfs.dir/zfsdgccfactorylinearscalaradv.cpp.o src/CMakeFiles/zfs.dir/zfsdgccacousticperturbsourcefiles.cpp.o src/CMakeFiles/zfs.dir/zfsmath.cpp.o src/CMakeFiles/zfs.dir/main.cpp.o /pds/opt/fftw/lib64/libfftw3.a /pds/opt/parallel-netcdf-1.7.0/lib/libpnetcdf.a /pds/opt/openmpi/lib64/libmpi_cxx.so /pds/opt/openmpi/lib64/libmpi.so /pds/opt/llvm-20160530-r271230/lib/libLLVMSupport.a -ldl -ltinfo -lpthread -lc++ /pds/opt/llvm-20160530-r271230/lib/libc++abi.a /pds/opt/llvm-20160530-r271230/lib/libc++abi.a -lpthread -lc++ -rpath /pds/opt/openmpi/lib64:/pds/opt/llvm-20160530-r271230/lib -lc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-suse-linux/4.9/crtend.o /usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/lib64/crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.9/…/…/…/…/x86_64-suse-linux/bin/ld: /pds/opt/llvm-20160530-r271230/lib/libLLVMSupport.a(Path.cpp.o): undefined reference to symbol ‘_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)

bump

Is there really nobody here who has a possible answer? If not, do you have any suggestions where else I could turn to for help? While I’m not an expert on LLVM/Clang, I’ve done my share of compiling & linking other tools and programs, so I think that I’ve exhausted all “obvious” explanations (without success).

Yours

Michael

It might be possible that the missing symbol which is present in older llvm may not be present or renamed in the new version of llvm you had now.
check the libLLVMSupport.a for the missing symbol using nm from command line**.**

nm -g libLLVMSupport.a  or   nm -gC libLLVMSupport.a

with option C, c++ symbols names are demangled.
on OS X option C is not available.

The only thing odd that I noticed is that although you specifically requested libc++, the linker tried to link libstdc++ and complained about a symbol it couldn’t find.

The symbol looks like std::string::_Rep::destroy which would be found in the standard library, so I’d guess some sort of mis-compile. Wish I could be of more help.

hth…
Don

Btw, did you build all you dependencies yourself, including libmpi_cxx, and link them to libc++? Otherwise, I’d bet one of them links to libstdc++.

Hi Don,

Indeed, mpi_cxx is linked against libstdc++, but that has not been a problem been so far (i.e., with previous versions of clang).

Anyhow, the problem resolved itself after I installed yet another trunk version (r272243). Apparently it was something related to the version of llvm/clang that I used before (r271230), but now the problem has disappeared.

Thanks for your input!

Michael