cross-rs / cross

“Zero setup” cross compilation and “cross testing” of Rust crates
Apache License 2.0
6.49k stars 365 forks source link

rlib(sqlite3.o): in function `sqlite3AtoF.part.0': #1337

Open cosoc opened 11 months ago

cosoc commented 11 months ago

Checklist

Describe your issue


  /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: /target/mips64-unknown-linux-muslabi64/release/deps/liblibsqlite3_sys-60939fb5133aaf0e.rlib(sqlite3.o): in function `sqlite3AtoF.part.0':
          sqlite3.c:(.text.sqlite3AtoF.part.0+0x47c): undefined reference to `__floatditf'
          /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: sqlite3.c:(.text.sqlite3AtoF.part.0+0x480): undefined reference to `__floatditf'
          /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: sqlite3.c:(.text.sqlite3AtoF.part.0+0x804): undefined reference to `__floatditf'
          /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: sqlite3.c:(.text.sqlite3AtoF.part.0+0x808): undefined reference to `__floatditf'
          /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: /target/mips64-unknown-linux-muslabi64/release/deps/liblibsqlite3_sys-60939fb5133aaf0e.rlib(sqlite3.o): in function `sqlite3MemCompare':
          sqlite3.c:(.text.sqlite3MemCompare+0x14c): undefined reference to `__floatditf'
          /usr/local/bin/../lib/gcc/mips64-linux-musl/9.2.0/../../../../mips64-linux-musl/bin/ld: /target/mips64-unknown-linux-muslabi64/release/deps/liblibsqlite3_sys-60939fb5133aaf0e.rlib(sqlite3.o):sqlite3.c:(.text.sqlite3MemCompare+0x150): more undefined references to `__floatditf' follow
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

What target(s) are you cross-compiling for?

mips64el-unknown-linux-muslabi64

Which operating system is the host (e.g computer cross is on) running?

What architecture is the host?

What container engine is cross using?

cross version

cross 0.2.5 (d6511b7 2023-09-08)

Example

No response

Additional information / notes

No response

Emilgardis commented 11 months ago

What version of rustc/cargo are you using? This looks like missing compiler builtins for float ops

There's been some wrong assumptions made about this target, where it was assumed to be soft-float, but actually its hard float. I dont think thats related but I've only given this a quick glance right now

cosoc commented 11 months ago

您使用什么版本的 rustc/cargo?这看起来像是缺少浮点操作的编译器内置函数

人们对这个目标做出了一些错误的假设,假设它是软浮动,但实际上是硬浮动。我不认为这是相关的,但我现在只是快速浏览了一下

rustc 1.72.0 (5680fa18f 2023-08-23) cargo 1.72.0 (103a7ff2e 2023-08-15)