<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>I'm currently working on one of my team's project to build LLVM full clang toolchain (Clang, libcxx, libcxxabi) on a CentOS machine. </div><div><br></div><div>Previously we compiled our codebase with llvm-toolset-7/clang++, which by default takes stdlibc++ to compile and link. And now we'd like to switch to use LLVM clang with libc++. I have built libc++ and libc++abi from source (5.0.1 release) and set up related flags to compile our code base, but it turned out having some issue in the "linker" phase:</div><div><br></div><div>Flags set for complier:</div><div>-stdlib=libc++ -std=c++14</div><div><br></div><div>Flags set for linker:</div><div>-stdlib=libc++</div><div><br></div><div>Error:<br></div><div><div>/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../bin/ld: product.o: undefined reference to symbol '__cxa_free_exception@@CXXABI_1.3'</div><div>//lib64/libstdc++.so.6: error adding symbols: DSO missing from command line</div><div>clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)</div></div><div><br></div><div>My question is:</div><div>1. We plan to replace stdlibc++ with libc++, and we've set up compiler and linker to run with "-stdlib=libc++', why is it complaining about libstdc++?</div><div>2. How can we resolve this error? (any ideas would be appreciated!)</div><div>3. Is there anything missing if we'd like to replace stdlibc++ with libc++?</div><div>4. I also noticed when it's in linker phase, these flags were set in the ld command (-lc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc ), which we didn't have them setup anywhere in our project, just out of curiosity, are they added automatically? Why are they needed?</div><div><br></div><div>A little bit more details:</div><div>Environment: CentOS Linux release 7.6.1810 (Core) </div><div>Clang version: <br></div></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><div><div><div>clang version 5.0.1 (tags/RELEASE_501/final)</div></div></div></div></div><div><div><div><div>Target: x86_64-unknown-linux-gnu</div></div></div></div><div><div><div><div>Thread model: posix</div></div></div></div></blockquote><div><br></div><div>Thanks for any ideas,</div><div>Aichi</div></div></div></div></div></div>