pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/54506: undefined float128 symbols in math/mpfr on netbsd 9
The following reply was made to PR pkg/54506; it has been noted by GNATS.
From: Tobias Ulmer <tobiasu%tmux.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: pkg/54506: undefined float128 symbols in math/mpfr on netbsd 9
Date: Fri, 6 Sep 2019 17:27:25 +0200
On Thu, Sep 05, 2019 at 04:55:01PM +0000, coypu%sdf.org@localhost wrote:
> The following reply was made to PR pkg/54506; it has been noted by GNATS.
>
> From: coypu%sdf.org@localhost
> To: gnats-bugs%netbsd.org@localhost
> Cc:
> Subject: Re: pkg/54506: undefined float128 symbols in math/mpfr on netbsd 9
> Date: Thu, 5 Sep 2019 16:51:50 +0000
>
> what's the symptom for failure? I can build web2c.
> thanks.
>
Ok, I've tried to reproduce this, it's more complicated than I first thought.
It can be reproduced by installing lang/gcc5-aux, then building it again:
...
checking for the correct version of gmp.h... yes
checking for the correct version of mpfr.h... yes
checking for the correct version of mpc.h... yes
checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations. Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.
*** Error code 1
Stop.
make[1]: stopped in /usr/pkgsrc/lang/gcc5-aux
from configure.log:
configure:5757: checking for the correct version of the gmp/mpfr/mpc libraries
configure:5788: /usr/pkg/gcc5-aux/bin/ada -o conftest -g -O2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include -lm -Wl,-R/usr/pkg/lib conftest.c -L/usr/pkg/lib -L/usr/pkg/
lib -L/usr/pkg/lib -lmpc -lmpfr -lgmp >&5
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__subtf3@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__getf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__letf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__fixunstfdi@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__gttf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__multf3@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__floatunditf@GCC_4.2.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__trunctfdf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__addtf3@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__netf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__eqtf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__extenddftf2@GCC_3.0'
/usr/bin/ld: /usr/pkg/lib/libmpfr.so: undefined reference to `__lttf2@GCC_3.0'
collect2: error: ld returned 1 exit status
configure:5788: $? = 1
This is because gcc5-aux builds and installs a libgcc_s.so without the symbols
above. Building gcc5-aux a second time uses the installed Ada compiler
instead of the bootstrap (on purpose) which fails as shown above.
The bootstrap compiler does not contain a libgcc_s.so, it falls back to
/usr/lib/libgcc_s.so.
I can think of a couple ways of fixing this:
- Disable long float support in mpfr like it was previously
- Disable and remove (somehow) libgcc_s from gcc*-aux
- Patch gcc*-aux to include the same set of symbols as base libgcc.
The libgcc/config/ machinery doesn't seem to support NetBSD very much and
base has custom Makefiles to build it, so that's fun.
Patching mpfr seems the most trivial. What do yo think?
Home |
Main Index |
Thread Index |
Old Index