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

configure: error: Unable to determine floating-point ABI!! #46

Open
SongYi-2fish opened this issue Apr 10, 2023 · 1 comment
Open

configure: error: Unable to determine floating-point ABI!! #46

SongYi-2fish opened this issue Apr 10, 2023 · 1 comment

Comments

@SongYi-2fish
Copy link

SongYi-2fish commented Apr 10, 2023

孙老师你好,有这么个问题想请教您。
问题描述:我在loongarch架构的linux系统上源码编译glibc,升级glibc到2.36版本。在glibc源码目录运行mkdir build && cd build && ../configure时,报如下错误:
checking build system type... loongarch64-unknown-linux-gnu
checking host system type... loongarch64-unknown-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for readelf... readelf
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ can link programs... yes
checking for sysdeps preconfigure fragments... aarch64 alpha arc arm csky hppa i386 loongarch configure: error: Unable to determine floating-point ABI!!

我的一些排查点

  1. 在glibc源码的README中看到如下内容,按理说glibc2.36版本应该支持loongarch架构了。
    aarch64*--linux-gnu
    alpha
    --linux-gnu
    arc
    --linux-gnu
    arm-
    -linux-gnueabi
    csky--linux-gnuabiv2
    hppa-
    -linux-gnu
    i[4567]86--linux-gnu
    x86_64-
    -linux-gnu Can build either x86_64 or x32
    ia64--linux-gnu
    loongarch64-
    -linux-gnu Hardware floating point, LE only.
    m68k--linux-gnu
    microblaze
    --linux-gnu
    mips-
    -linux-gnu
    mips64--linux-gnu
    or1k-
    -linux-gnu
    powerpc--linux-gnu Hardware or software floating point, BE only.
    powerpc64
    --linux-gnu Big-endian and little-endian.
    s390-
    -linux-gnu
    s390x--linux-gnu
    riscv32-
    -linux-gnu
    riscv64--linux-gnu
    sh[34]-
    -linux-gnu
    sparc*--linux-gnu
    sparc64
    -*-linux-gnu

  2. gcc版本信息如下内容。
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/loongarch64-linux-gnu/8/lto-wrapper
    Target: loongarch64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Loongnix 8.3.0-6.lnd.vec.24' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,c++,fortran --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-multiarch --disable-werror --with-arch=loongarch64 --with-abi=lp64 --enable-tls --enable-initfini-array --enable-gnu-indirect-function --disable-host-shared --disable-emultls --with-fix-loongson3-llsc --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu
    Thread model: posix
    gcc version 8.3.0 (Loongnix 8.3.0-6.lnd.vec.24)

  3. 内核版本是5.4.18。

我不确定是不是因为本机loongarch不支持硬件浮点,而基于loongarch的glibc仅支持硬件浮点?
还是说需要修改检测脚本?

@sunhaiyong1978
Copy link
Owner

用的是Loongnix系统吗?系统内置的gcc可能和社区版的glibc不匹配导致的,可以先更新gcc再编译glibc。

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

2 participants