I'm trying to build librustc_codegen_gcc.so from this repo (rather than from Rust) to make it easier to upstream patches. However, the Quickstart instructions do not appear to work.
Following the instructions, I've:
- Copied
config.example.toml to config.toml
- Ran
./y.sh prepare
- Ran
./y.sh build --sysroot --release
Now I'm trying to run the fourth step:
$ ./y.sh cargo build --manifest-path tests/hello-world/Cargo.toml
[BUILD] build system
Finished [`release` profile [optimized]](https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles) target(s) in 0.01s
Using `/home/seancross/Code/rustc_codegen_gcc/build/libgccjit/b794cb99508e7eccd40fa42bb310d5781e09899b` as path for libgccjit
Compiling hello_world v0.0.0 (/home/seancross/Code/rustc_codegen_gcc/tests/hello-world)
error: couldn't load codegen backend /home/seancross/Code/rustc_codegen_gcc/target/debug/librustc_codegen_gcc.so: cannot open shared object file: No such file or directory
error: could not compile `hello_world` (bin "hello_world") due to 1 previous error
$
It appears to be looking for something under target/debug even though the instructions say to run ./y.sh build --sysroot --release. If I re-run step 3 with ./y.sh build --sysroot without --release, then attempting to build hello-world gives a different error:
$ ./y.sh cargo build --manifest-path tests/hello-world/Cargo.toml
[BUILD] build system
Finished [`release` profile [optimized]](https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles) target(s) in 0.00s
Using `/home/seancross/Code/rustc_codegen_gcc/build/libgccjit/b794cb99508e7eccd40fa42bb310d5781e09899b` as path for libgccjit
Compiling hello_world v0.0.0 (/home/seancross/Code/rustc_codegen_gcc/tests/hello-world)
error[E0463]: can't find crate for `mylib`
--> src/main.rs:1:5
|
1 | use mylib::my_func;
| ^^^^^ can't find crate
For more information about this error, try `rustc --explain E0463`.
error: could not compile `hello_world` (bin "hello_world") due to 1 previous error
$
I'm trying to build librustc_codegen_gcc.so from this repo (rather than from Rust) to make it easier to upstream patches. However, the Quickstart instructions do not appear to work.
Following the instructions, I've:
config.example.tomltoconfig.toml./y.sh prepare./y.sh build --sysroot --releaseNow I'm trying to run the fourth step:
It appears to be looking for something under
target/debugeven though the instructions say to run./y.sh build --sysroot --release. If I re-run step 3 with./y.sh build --sysrootwithout--release, then attempting to buildhello-worldgives a different error: