cross-rs/cross

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

cosoc opened this issue · 2 comments

cosoc commented

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?

  • macOS
  • Windows
  • Linux / BSD
  • other OS (specify in description)

What architecture is the host?

  • x86_64 / AMD64
  • arm32
  • arm64 (including Mac M1)

What container engine is cross using?

  • docker
  • podman
  • other container engine (specify in description)

cross version

cross 0.2.5 (d6511b7 2023-09-08)

Example

No response

Additional information / notes

No response

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

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

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

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