Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I cannot build post-02 bootimage on rustc 1.66.0-nightly (db0597f56 2022-10-11) #1158

Closed
ghost opened this issue Oct 12, 2022 · 1 comment
Closed

Comments

@ghost
Copy link

ghost commented Oct 12, 2022

my environment

rustup show

Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\chen2\.rustup

installed toolchains
--------------------

stable-x86_64-pc-windows-msvc (default)
nightly-x86_64-pc-windows-msvc

active toolchain
----------------

nightly-x86_64-pc-windows-msvc (overridden by 'C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\rust-toolchain')
rustc 1.66.0-nightly (db0597f56 2022-10-11)

bootimage --version

bootimage 0.10.3

cargo --version

cargo 1.66.0-nightly (3cdf1ab25 2022-10-07)

git branch

  main
* post-02

build

PS C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os> cargo clean
PS C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os> cargo build
   Compiling compiler_builtins v0.1.82
   Compiling core v0.0.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core)
   Compiling bootloader v0.9.23
   Compiling rustc-std-workspace-core v1.99.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core)
   Compiling blog_os v0.1.0 (C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os)
    Finished dev [unoptimized + debuginfo] target(s) in 11.54s
PS C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os> cargo install bootimage
    Updating `ustc` index
     Ignored package `bootimage v0.10.3` is already installed, use --force to override
PS C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os> cargo bootimage -v
WARNING: `CARGO_MANIFEST_DIR` env variable not set
Building kernel
       Fresh core v0.0.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core)
       Fresh rustc-std-workspace-core v1.99.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core)
       Fresh compiler_builtins v0.1.82
       Fresh bootloader v0.9.23
       Fresh blog_os v0.1.0 (C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os)
    Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Building bootloader
   Compiling compiler_builtins v0.1.82
   Compiling core v0.0.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core)
   Compiling serde v1.0.116
   Compiling bitflags v1.2.1
   Compiling x86_64 v0.14.7
   Compiling llvm-tools v0.1.1
   Compiling toml v0.5.6
   Compiling bootloader v0.9.23 (C:\Users\chen2\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bootloader-0.9.23)
   Compiling rustc-std-workspace-core v1.99.0 (C:\Users\chen2\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core)
   Compiling zero v0.1.2
   Compiling volatile v0.4.4
   Compiling bit_field v0.10.1
   Compiling xmas-elf v0.6.2
   Compiling usize_conversions v0.2.0
   Compiling fixedvec v0.2.4
   Compiling rlibc v1.0.0
error: linking with `rust-lld` failed: exit code: 1
  |
  = note: "rust-lld" "-flavor" "gnu" "C:\\Users\\chen2\\AppData\\Local\\Temp\\rustcGxpvz0\\symbols.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.0.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.10.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.11.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.12.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.13.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.14.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.15.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.2.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.3.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.4.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.5.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.6.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.7.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.8.rcgu.o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d.bootloader.3718698b-cgu.9.rcgu.o" "--as-needed" "-L" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps" "-L" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\release\\deps" "-L" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\build\\bootloader-db75ac76a186a061\\out" "-L" "C:\\Users\\chen2\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-bootloader\\lib" "-Bstatic" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libxmas_elf-9854980f4ce4d900.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libzero-4971f46a293b6bab.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libx86_64-81f2acc522b3e945.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libvolatile-ff7a1c1b70556de2.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libbitflags-0dc0c70846831d70.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libbit_field-07031cf5ee72cfe3.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libusize_conversions-a69361252f938460.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libfixedvec-c384aabf84ed7b66.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libbootloader-08c934a79fc62dec.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\librlibc-2295bf2fcec3f649.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\librustc_std_workspace_core-eed85230e399e6a5.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libcore-c8198d4fd7cf0737.rlib" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\libcompiler_builtins-341758b0438265c8.rlib" "-Bdynamic" "--eh-frame-hdr" "-znoexecstack" "-L" "C:\\Users\\chen2\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-bootloader\\lib" "-o" "C:\\Users\\chen2\\Documents\\SourceCode\\os_in_rust\\blog_os\\target\\bootimage\\bootloader\\x86_64-bootloader\\release\\deps\\bootloader-894afd283b20060d" "--gc-sections" "-O1"
  = note: rust-lld: error: undefined symbol: _rest_of_bootloader_start_addr
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot-first-stage+0x60)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot-first-stage+0x7B)

          rust-lld: error: undefined symbol: _rest_of_bootloader_end_addr
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot-first-stage+0x81)

          rust-lld: error: undefined symbol: _kernel_buffer
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x59)

          rust-lld: error: undefined symbol: _memory_map
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0xCA)
          >>> referenced by main.rs:108 (src\main.rs:108)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)

          rust-lld: error: undefined symbol: __page_table_start
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1A1)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x20C)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x219)
          >>> referenced 2 more times

          rust-lld: error: undefined symbol: __page_table_end
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1A6)
          >>> referenced by main.rs:111 (src\main.rs:111)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)
          >>> referenced by main.rs:105 (src\main.rs:105)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)

          rust-lld: error: undefined symbol: _p3
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1B4)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1C9)

          rust-lld: error: undefined symbol: _p4
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1BC)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x24C)
          >>> referenced by main.rs:114 (src\main.rs:114)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)
          >>> referenced 1 more times

          rust-lld: error: undefined symbol: _p2
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1C1)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1D6)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1FB)

          rust-lld: error: undefined symbol: _p1
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x1CE)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x231)
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x371)

          rust-lld: error: undefined symbol: __bootloader_end
          >>> referenced by bootloader.3718698b-cgu.1
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(.boot+0x221)
          >>> referenced by main.rs:113 (src\main.rs:113)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)
          >>> referenced by main.rs:105 (src\main.rs:105)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)

          rust-lld: error: undefined symbol: __bootloader_start
          >>> referenced by main.rs:112 (src\main.rs:112)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)
          >>> referenced by main.rs:105 (src\main.rs:105)
          >>>               C:\Users\chen2\Documents\SourceCode\os_in_rust\blog_os\target\bootimage\bootloader\x86_64-bootloader\release\deps\bootloader-894afd283b20060d.bootloader.3718698b-cgu.1.rcgu.o:(stage_4)


error: could not compile `bootloader` due to previous error
Error: Bootloader build failed.
Stderr:
@ghost
Copy link
Author

ghost commented Oct 12, 2022

@ghost ghost closed this as completed Oct 12, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants