jhenderson added a comment. In D95246#2587123 <https://reviews.llvm.org/D95246#2587123>, @ASDenysPetrov wrote:
>> This shows, for example, that the `libz.so` my build uses is located in >> `/usr/lib/x86_64-linux-gnu`. By having your equivalent path, we can >> hopefully confirm that the issue is caused by a different set of system >> libraries being used. > > Hi, @jhenderson > I changed `llvm-ar.cpp` then ran `ninja -v llvm-ar` and got this: > > [1/2] D:\WORK\Utilities\MSYS2\mingw64\bin\c++.exe -DGTEST_HAS_RTTI=0 > -D_DEBUG -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS > -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/llvm-ar > -ID:/WORK/LLVM/llvm-project/llvm/tools/llvm-ar -Iinclude > -ID:/WORK/LLVM/llvm-project/llvm/include -Wa,-mbig-obj -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-noexcept-type -Wdelete-non-virtual-dtor > -Wsuggest-override -Wno-comment -O2 -fno-exceptions -fno-rtti -UNDEBUG > -std=c++14 -MD -MT tools/llvm-ar/CMakeFiles/llvm-ar.dir/llvm-ar.cpp.obj -MF > tools\llvm-ar\CMakeFiles\llvm-ar.dir\llvm-ar.cpp.obj.d -o > tools/llvm-ar/CMakeFiles/llvm-ar.dir/llvm-ar.cpp.obj -c > D:/WORK/LLVM/llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp > [2/2] cmd.exe /C "cd . && D:\WORK\Utilities\MSYS2\mingw64\bin\c++.exe > -Wa,-mbig-obj -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-noexcept-type > -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -O2 > -Wl,--stack,16777216 tools/llvm-ar/CMakeFiles/llvm-ar.dir/llvm-ar.cpp.obj -o > bin\llvm-ar.exe -Wl,--out-implib,lib\libllvm-ar.dll.a > -Wl,--major-image-version,0,--minor-image-version,0 > lib/libLLVMX86AsmParser.a lib/libLLVMX86Desc.a lib/libLLVMX86Info.a > lib/libLLVMBinaryFormat.a lib/libLLVMCore.a lib/libLLVMDlltoolDriver.a > lib/libLLVMLibDriver.a lib/libLLVMObject.a lib/libLLVMSupport.a > lib/libLLVMMCDisassembler.a lib/libLLVMMCParser.a lib/libLLVMMC.a > lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a > lib/libLLVMTextAPI.a lib/libLLVMOption.a lib/libLLVMBitReader.a > lib/libLLVMCore.a lib/libLLVMBinaryFormat.a lib/libLLVMRemarks.a > lib/libLLVMBitstreamReader.a lib/libLLVMSupport.a -lpsapi -lshell32 > -lole32 -luuid -ladvapi32 D:/WORK/Utilities/MSYS2/mingw64/lib/libz.dll.a > lib/libLLVMDemangle.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 > -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ." > > As you can `libz` is here `D:/WORK/Utilities/MSYS2/mingw64/lib/libz.dll.a` Thanks (for clarity, `libz` isn't what I'm looking for, it was just an example of how this information might be useful). As it is, I think we might need more information still - that commandline hides which files are actually used slightly. Could you try explicitly running the c++ command that is being requested, but with the `-Wl,--trace` option added too. That will tell the linker to print what files it opens when it runs the link, and should give us an hint as to which system library is different for your usage than ours. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D95246/new/ https://reviews.llvm.org/D95246 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits