<div dir="auto">Here my notes are:<div dir="auto">-Others were getting somewhere else such errors too and were equally puzzled</div><div dir="auto">-I wonder if llvm.lld could be even nicer in saying something like:</div><div dir="auto">"When trying to statically link <binaryname> with options <options causing staticlink>, dynamic object <dynobjname> was found on a chain due to options <either explicit so mention or offending -llibname etc>, please consider switching to dynamic link with <options that would cause dynamic linking> or using static version of <dynobjname>"</div><div dir="auto">-If above is too much, entry in documentation and url to article could be good enough as second line of error message.</div><div dir="auto"><br></div><div dir="auto">Pawel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">sob., 8.05.2021, 04:50 użytkownik Danie Grobbelaar via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> napisał:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">I'm currently having issues trying to rebuild one of my projects with an updated version of LLVM. This project generates a statically linked binary.<div><br></div><div>My previous build used llvm-10.0.0 and I could build the binary without any issues. When I checked out HEAD a few weeks ago (commit 82fbc5d) and tried a build, it failed with the following linking error:</div><div><br></div><div><div><font face="monospace">/usr/bin/c++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -O3 -DNDEBUG -static -Wl,-rpath-link,/home/danie/nett-testing/tmp/llvm-project/build/./lib -Wl,-O3 -Wl,--gc-sections <b><source files></b> -o <b><binary name></b> -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a -lpthread -static-libgcc -static-libstdc++ lib/libclangTooling.a lib/libclangBasic.a lib/libclangASTMatchers.a lib/libclangFormat.a lib/libclangToolingInclusions.a lib/libclangFrontend.a lib/libclangDriver.a lib/libclangParse.a lib/libclangSerialization.a lib/libclangSema.a lib/libclangEdit.a lib/libclangAnalysis.a lib/libclangASTMatchers.a lib/libclangAST.a lib/libclangToolingCore.a lib/libclangRewrite.a lib/libclangLex.a lib/libclangBasic.a lib/libLLVMOption.a lib/libLLVMFrontendOpenMP.a lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a lib/libLLVMObject.a lib/libLLVMBitReader.a lib/libLLVMCore.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a lib/libLLVMMC.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMTextAPI.a lib/libLLVMBinaryFormat.a lib/libLLVMSupport.a -lrt -ldl -lpthread -lm /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libtinfo.so lib/libLLVMDemangle.a && :</font></div><div><font face="monospace">/usr/bin/ld: attempted static link of dynamic object `/usr/lib/x86_64-linux-gnu/libz.so'</font></div></div><div><br></div><div>I haven't changed my CMakeLists.txt file, and I'm lost as to how to fix this issue. Any help would be appreciated. For reference, my CMakeLists.txt file as as follows:</div><div><br></div><div><font face="monospace">--- BEGIN CMakeLists.txt ---</font></div><div><font face="monospace">set(LLVM_LINK_COMPONENTS support)</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">add_clang_executable(mybinary</font></div><div><font face="monospace"> <source files></font></div><div><font face="monospace"> )</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">set (GCC_COMPILE_FLAGS "-O3")</font></div><div><font face="monospace">set (GCC_LINK_FLAGS "-static")</font></div><div><font face="monospace">set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COMPILER_FLAGS}")</font></div><div><font face="monospace">set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS}")</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">target_link_libraries(mybinary</font></div><div><font face="monospace"> PRIVATE</font></div><div><font face="monospace"> -static-libgcc</font></div><div><font face="monospace"> -static-libstdc++</font></div><div><font face="monospace"> clangTooling</font></div><div><font face="monospace"> clangBasic</font></div><div><font face="monospace"> clangASTMatchers</font></div><div><font face="monospace"> )</font></div><div><font face="monospace">--- END CMakeLists.txt ---</font></div><div><br></div><div>Kind regards and thank you in advance,</div><div>Danie Grobbelaar</div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>