Le samedi 14 avril 2018 à 22:26 +0200, Pierre Labastie a écrit : > On 14/04/2018 19:18, Pierre Labastie wrote: > > On 14/04/2018 18:18, Bruce Dubbs wrote: > > > On 04/13/2018 11:38 PM, Bruce Dubbs wrote: > > > > Using the new instructions in the book O could not get rustc to build. > > > > I was > > > > getting: > > > > > > > > --- stderr > > > > error: couldn't load codegen backend > > > > "/tmp/rustc-test/rustc-1.25.0-src/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64- > > > > unknown-linux-gnu/codegen-backends/librustc_trans-llvm.so": > > > > "/tmp/rustc-test/rustc-1.25.0-src/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64- > > > > unknown-linux-gnu/codegen-backends/librustc_trans-llvm.so: > > > > undefined symbol: ffi_type_float" > > > > > > > > ======= > > > > > > > > Note: ffi_type_float is defined as a symbol in libffi.so. > > > > > > > > > > > > > > Do we need to adjust the book's instructions? > > > > > > > I'd say not before understanding what is going on... Let me try building > > rust > > with the new instructions, after installing llvm 6, and removing completely > > llvm 5 (using porg). > > > > And then... Another error on my side: > --------- > [...] > cargo:rustc-link-search=native=/sources/rust/rustc-1.25.0-src/build/x86_64-unkno > wn-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-7878 > f9d37a1306fb/out > > --- stderr > llvm-config: error: missing: /usr/lib/libLLVMDemangle.so > llvm-config: error: missing: /usr/lib/libLLVMSupport.so > llvm-config: error: missing: /usr/lib/libLLVMBinaryFormat.so > llvm-config: error: missing: /usr/lib/libLLVMCore.so > llvm-config: error: missing: /usr/lib/libLLVMAsmParser.so > llvm-config: error: missing: /usr/lib/libLLVMBitReader.so > llvm-config: error: missing: /usr/lib/libLLVMMC.so > llvm-config: error: missing: /usr/lib/libLLVMMCParser.so > llvm-config: error: missing: /usr/lib/libLLVMObject.so > [... fifty so lines like that ...] > llvm-config: error: missing: /usr/lib/libLLVMX86AsmParser.so > llvm-config: error: missing: /usr/lib/libLLVMX86Disassembler.so > thread 'main' panicked at 'command did not execute successfully: > "/usr/bin/llvm-config" "--link-shared" "--libs" "--system-libs" "asmparser" > "bitreader" "bitwriter" "instrumentation" "interpreter" "ipo" "linker" "lto" > "mcjit" "x86" > --------------- > And indeed, running the command: > --------------- > $ llvm-config --link-shared --libs > --------------- > returns the same list of errors as above, while > --------------- > $ llvm-config --libs > --------------- > returns a bunch of static libraries without errors. > > I think there is a switch for building shared libraries in llvm. The book was > using it at a time, but there were problems with mesa IIRC. > > The switch is -DBUILD_SHARED_LIBS=ON, and the documentation still says: > ``BUILD_SHARED_LIBS is only recommended for use by LLVM developers. If you > want to build LLVM as a shared library, you should use the > LLVM_BUILD_LLVM_DYLIB option.'' > > The book uses the LLVM_BUILD_LLVM_DYLIB option. > > So: three persons; three different outcomes... > > Let me rebuild llvm with -DBUILD_SHARED_LIBS=ON. I'll give the results > tomorrow (my time), since llvm+rustc build time ~ 3 hours, and I'll be > sleeping when it ends. > > Pierre >
In that regard, I'm also getting these on the new build of llvm: lfs:~/blfs_root/work$ llvm-config --link-shared --libs llvm-config: error: missing: /usr/lib/libLLVMDemangle.so llvm-config: error: missing: /usr/lib/libLLVMSupport.so llvm-config: error: missing: /usr/lib/libLLVMBinaryFormat.so llvm-config: error: missing: /usr/lib/libLLVMCore.so llvm-config: error: missing: /usr/lib/libLLVMBitReader.so llvm-config: error: missing: /usr/lib/libLLVMMC.so llvm-config: error: missing: /usr/lib/libLLVMMCParser.so llvm-config: error: missing: /usr/lib/libLLVMObject.so llvm-config: error: missing: /usr/lib/libLLVMProfileData.so llvm-config: error: missing: /usr/lib/libLLVMAnalysis.so llvm-config: error: missing: /usr/lib/libLLVMBitWriter.so llvm-config: error: missing: /usr/lib/libLLVMTransformUtils.so llvm-config: error: missing: /usr/lib/libLLVMInstCombine.so llvm-config: error: missing: /usr/lib/libLLVMAsmParser.so llvm-config: error: missing: /usr/lib/libLLVMIRReader.so llvm-config: error: missing: /usr/lib/libLLVMLinker.so llvm-config: error: missing: /usr/lib/libLLVMScalarOpts.so llvm-config: error: missing: /usr/lib/libLLVMVectorize.so llvm-config: error: missing: /usr/lib/libLLVMInstrumentation.so llvm-config: error: missing: /usr/lib/libLLVMipo.so llvm-config: error: missing: /usr/lib/libLLVMCoroutines.so llvm-config: error: missing: /usr/lib/libLLVMTarget.so llvm-config: error: missing: /usr/lib/libLLVMCodeGen.so llvm-config: error: missing: /usr/lib/libLLVMRuntimeDyld.so llvm-config: error: missing: /usr/lib/libLLVMExecutionEngine.so llvm-config: error: missing: /usr/lib/libLLVMInterpreter.so llvm-config: error: missing: /usr/lib/libLLVMLineEditor.so llvm-config: error: missing: /usr/lib/libLLVMOption.so llvm-config: error: missing: /usr/lib/libLLVMLibDriver.so llvm-config: error: missing: /usr/lib/libLLVMMCJIT.so llvm-config: error: missing: /usr/lib/libLLVMX86Utils.so llvm-config: error: missing: /usr/lib/libLLVMX86AsmPrinter.so llvm-config: error: missing: /usr/lib/libLLVMX86Info.so llvm-config: error: missing: /usr/lib/libLLVMMCDisassembler.so llvm-config: error: missing: /usr/lib/libLLVMX86Desc.so llvm-config: error: missing: /usr/lib/libLLVMDebugInfoMSF.so llvm-config: error: missing: /usr/lib/libLLVMDebugInfoCodeView.so llvm-config: error: missing: /usr/lib/libLLVMAsmPrinter.so llvm-config: error: missing: /usr/lib/libLLVMSelectionDAG.so llvm-config: error: missing: /usr/lib/libLLVMGlobalISel.so llvm-config: error: missing: /usr/lib/libLLVMX86CodeGen.so llvm-config: error: missing: /usr/lib/libLLVMX86AsmParser.so llvm-config: error: missing: /usr/lib/libLLVMX86Disassembler.so llvm-config: error: missing: /usr/lib/libLLVMWindowsManifest.so llvm-config: error: missing: /usr/lib/libLLVMObjectYAML.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUUtils.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUAsmPrinter.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUInfo.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUDesc.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUAsmParser.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUCodeGen.so llvm-config: error: missing: /usr/lib/libLLVMAMDGPUDisassembler.so llvm-config: error: missing: /usr/lib/libLLVMMIRParser.so llvm-config: error: missing: /usr/lib/libLLVMCoverage.so llvm-config: error: missing: /usr/lib/libLLVMOrcJIT.so llvm-config: error: missing: /usr/lib/libLLVMDlltoolDriver.so llvm-config: error: missing: /usr/lib/libLLVMTableGen.so llvm-config: error: missing: /usr/lib/libLLVMFuzzMutate.so llvm-config: error: missing: /usr/lib/libLLVMDebugInfoDWARF.so llvm-config: error: missing: /usr/lib/libLLVMDebugInfoPDB.so llvm-config: error: missing: /usr/lib/libLLVMSymbolize.so llvm-config: error: missing: /usr/lib/libLLVMObjCARCOpts.so llvm-config: error: missing: /usr/lib/libLLVMPasses.so llvm-config: error: missing: /usr/lib/libLLVMLTO.so lfs:~/blfs_root/work$ This is by the book instruction while the previous installation, I changed the target from "host,AMDGPU" to "all" (manual build) and ran make install 4 times to ensure llvm installed everything correctly after compilation. This may be the reason why rust 1.22.1 compiled successfully. rust 1.25 did not build reporting the missing libs from llvm. my hand builds are always done using make -j1 and installed using make -j1 too. Alain -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
