I'm attempting to follow these instructions
   https://zenn.dev/zulinx86/articles/rust-nostd-101
...to create a no_std "hello world" in Rust, just to 
see it work, and its size and speed. 

I get these two errors:


$cargo build --target x86_64-unknown-openbsd
   Compiling baremetal_rust v0.1.0 (/home/lacall/proj/learnrust/no_std)
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/local/lib/rustlib/
x86_64-unknown-openbsd/bin:/usr/local/lib/rustlib/
x86_64-unknown-openbsd/bin:/usr/local/lib/rustlib/x86_64-unknown-openbsd
/bin:[...] " VSLANG="1033" "cc" "-m64" "/tmp/rustcxWUaqp/symbols.o" 
"/home/lacall/proj/learnrust/no_std/target/x86_64-unknown-openbsd/
debug/deps/baremetal_rust-a29cf966f63a7968.27oi4sy4zl19d02xz9nha6rkv.
rcgu.o" "-Wl,--as-needed" "-L" "/home/lacall/proj/learnrust/no_std/
target/x86_64-unknown-openbsd/debug/deps" "-L" "/home/lacall/proj/
learnrust/no_std/target/debug/deps" "-L" "/usr/local/lib/rustlib/
x86_64-unknown-openbsd/lib" "-Wl,-Bstatic" "/usr/local/lib/rustlib/
x86_64-unknown-openbsd/lib/librustc_std_workspace_core-02e247769dc17413.
rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libcore-02e24
7769dc17405.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/
libcompiler_builtins-02e247769dc17404.rlib" "-Wl,-Bdynamic" 
"-lcompiler_rt" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/
local/lib/rustlib/x86_64-unknown-openbsd/lib" "-o" "/home/lacall/proj/
learnrust/no_std/target/x86_64-unknown-openbsd/debug/deps/
baremetal_rust-a29cf966f63a7968" "-Wl,--gc-sections" "-pie" "-Wl,-z,
relro,-z,now" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: ld: error: duplicate symbol: _start
          >>> defined at /usr/lib/crt0.o:(.text+0x0)
          >>> defined at 27oi4sy4zl19d02xz9nha6rkv
          >>>            /home/lacall/proj/learnrust/no_std/target/
          x86_64-unknown-openbsd/debug/deps/baremetal_rust-
          a29cf966f63a7968.27oi4sy4zl19d02xz9nha6rkv.rcgu.o:(
          .text._start+0x0)

          cc: error: linker command failed with exit code 1 (use -v 
          to see invocation)
error: could not compile `baremetal_rust` (bin "baremetal_rust") due to 1 
previous error 


...or...


$cargo build --target x86_64-unknown-none                                       
                                                        Compiling 
baremetal_rust v0.1.0 (/home/lacall/proj/learnrust/no_std)
error[E0463]: can't find crate for `core`
  |
  = note: the `x86_64-unknown-none` target may not be installed
  = help: consider downloading the target with `rustup target add 
x86_64-unknown-none`
For more information about this error, try `rustc --explain E0463`.
error: could not compile `baremetal_rust` (bin "baremetal_rust") due to 1 
previous error


But I'm also interested in cross-compiling later, to other platforms,
which I will have to learn, and this makes me wonder if that will be 
possible, since rustup does not seem to be available.

Any suggestions or corrections? Thanks very much.

Luke Call
lukecall.net

Reply via email to