Comments (3)
I am unsure whether this is a bug in bootstrap or a limitation of using precompiled CI rustc
.. 🤔
cc @nikic
from rust.
Building tools that link against rustc internals requires both the rustc-dev and llvm-tools-preview components to be installed. The former for all crate metadata and librustc_driver.so in the sysroot, while the latter is for libLLVM.so. Linking against the libLLVM.so in the rustc component that rustc itself is linked against doesn't work as it isn't in the sysroot for the target. It is in lib/
rather than lib/rustlib/some-target-triple/lib
.
from rust.
I am unsure whether this is a bug in bootstrap or a limitation of using precompiled CI rustc.. 🤔
Even if llvm.download-ci-llvm
is set to true, stage > 0
rustc will always use the prebuilt LLVM library which comes with ci-rustc. So I tried to use locally-built LLVM libraries in the ci-rustc by replacing the existing LLVM libraries with the locally built ones, and it appears that this is indeed a limitation of using rust.download-rustc=true
as it fails with the following error:
$ ./build/host/ci-rustc/bin/rustc --version
./build/host/ci-rustc/bin/rustc: symbol lookup error: /home/nimda/devspace/.other/rustc-builds/build/x86_64-unknown-linux-gnu/ci-rustc/bin/../lib/librustc_driver-a03ea465d8e03db1.so: undefined symbol: LLVMInitializeARMTargetInfo, version LLVM_18.1
So, if rust.download-rustc
is set to true and llvm.download-ci-llvm
is false, I believe bootstrap should terminate the process (as it always uses prebuilt LLVM libraries from ci-rustc, there is no point to build LLVM locally) while parsing the configuration.
from rust.
Related Issues (20)
- Track implementation for MC/DC HOT 18
- Lints stop firing if macro reports with `Span::call_site`? HOT 4
- Miscompilation due to MatchBranchSimplification MIR pass mixing up discriminants HOT 13
- ICE: `tried to combine ConstKind::Infer/ConstKind::Infer(InferConst::Var)` HOT 1
- Documentation for abs() on signed integers doesn't mention unsigned_abs() HOT 1
- Allowlist for SanitizerCoverage
- ICW when Unknown MIR dialect: ' ' HOT 1
- something is weird about llvm submodule handling HOT 4
- ICE: assertion `left == right` failed at `rustc_const_eval/src/interpret/validity.rs` HOT 4
- generic_const_exprs and inline_const interact poorly. HOT 2
- ICE: inference variables in normalized parameter environment: unconstrained type HOT 2
- testing `cg_gcc` is difficult HOT 30
- ICE on stable due to messed up target/ directory HOT 6
- Unheplful Borrow Error Related to Use of Borrows in Loop
- ICE: `assertion failed: layout.is_sized()` HOT 3
- Tracking Issue for future-compatibility warning `SELF_CONSTRUCTOR_FROM_OUTER_ITEM`
- ICE: `error performing operation: fully_perform` HOT 3
- Couldn't evaluate constant const with `-Zpolymorphize=on` HOT 2
- missing diagnostic HOT 1
- std::fs::symlink_metadata + set_permissions makes unintuitive behavior HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.