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