tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[abi:cxx11] on 9.0_BETA with pkgsrc LLVM



Hi,

splitting this issue out to a single-issue-per-thread message:

Trying to make the rust powerpc bootstrap built on 8.0 on
9.0_BETA reveals that the pkgsrc LLVM, even if it is made to be
the same version (LLVM 8.0.0), is binary-incomatible on 9.0_BETA
because trying to run the rust bootstrap fails with:

error: couldn't load codegen backend "/usr/pkgsrc/lang/rust/work/rust-bootstrap/lib/rustlib/powerpc-unknown-netbsd/codegen-backends/librustc_codegen_llvm-llvm.so": "/usr/pkgsrc/lang/rust/work/rust-bootstrap/lib/rustlib/powerpc-unknown-netbsd/codegen-backends/librustc_codegen_llvm-llvm.so: Undefined PLT symbol \"_ZN4llvm6Triple9normalizeENS_9StringRefE\" (symnum = 87)"

That is "llvm::Triple::normalize(llvm::StringRef)" says c++filt.
Grep'ing part of that symbol in libLLVM.so gives me:

% nm -Cop /usr/pkg/lib/libLLVM.so | grep llvm::Triple::normalize
/usr/pkg/lib/libLLVM.so:0052c89c T llvm::Triple::normalize[abi:cxx11](llvm::StringRef)
%

I was told that the '[abi:cxx11]' thing was something from early
NetBSD 9.0_BETA, and that the change which was responsible for
its insertion had been reverted (reference, please?), but
updating to a recent 9.0_BETA (of October 19) and re-building
llvm and re-installing it did exactly nothing to fix this.

Any idea what is causing this incompatibility and how to fix it?

I'm pretty sure this problem doesn't only affect NetBSD/powerpc...

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index