NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/47930: Crossbuilding from ppc64 hosts is broken

>Number:         47930
>Category:       toolchain
>Synopsis:       Crossbuilding from ppc64 hosts is broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 15 00:55:00 +0000 2013
>Originator:     Julio Merino
>Release:        NetBSD 6.99.17
System: NetBSD 6.99.17 NetBSD 6.99.17 (GENERIC) #0: Sun Feb 24 
07:58:12 EST 2013
Architecture: x86_64
Machine: amd64
        Trying to build NetBSD-current from a ppc64 host (be it from Linux
        or from FreeBSD) results in the message attached below.

        I have traced down the problem to the GMP release we have in the
        tree, 5.0.2.  Updating GMP to the latest release along the 5.0.x
        series, which is 5.0.5, fixes this particular problem.  The notes
        have no specific reference to this issue, but they mention fixing
        some issues in PowerPC systems.  The changes between 5.0.2 and
        5.0.5 in the code are numerous, so cherry-picking this particular
        fix seems non-trivial.

        This has been filed from the discussion in:

----- cut here -----
configure:5635: checking for the correct version of the gmp/mpfr/mpc libraries
configure:5666: cc -o conftest -O
-I/home/jmmv/os/netbsd/macppc/tools/include    conftest.c
-L/home/jmmv/os/netbsd/macppc/tools/lib -lmpc -lmpfr -lgmp >&5
/home/jmmv/os/netbsd/macppc/tools/lib/libgmp.a(divrem_1.o): In
function `__gmpn_divrem_1':
divrem_1.c:(.text+0x1b8): undefined reference to `__multi3'
divrem_1.c:(.text+0x2a0): undefined reference to `__multi3'
divrem_1.c:(.text+0x340): undefined reference to `__multi3'
divrem_1.c:(.text+0x520): undefined reference to `__multi3'
divrem_1.c:(.text+0x608): undefined reference to `__multi3'
more undefined references to `__multi3' follow
collect2: ld returned 1 exit status
configure:5666: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_URL ""
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include <mpc.h>
| int
| main ()
| {
|     mpfr_t n;
|     mpfr_t x;
|     mpc_t c;
|     int t;
|     mpfr_init (n);
|     mpfr_init (x);
|     mpfr_atan2 (n, n, x, GMP_RNDN);
|     mpfr_erfc (n, x, GMP_RNDN);
|     mpfr_subnormalize (x, t, GMP_RNDN);
|     mpfr_clear(n);
|     mpfr_clear(x);
|     mpc_init2 (c, 53);
|     mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
|     mpc_cosh (c, c, MPC_RNDNN);
|     mpc_pow (c, c, c, MPC_RNDNN);
|     mpc_acosh (c, c, MPC_RNDNN);
|     mpc_clear (c);
|   ;
|   return 0;
| }
configure:5670: result: no
configure:5691: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ 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  See also 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.
----- cut here -----
        Attempt to " tools" on a ppc64 host.
        Update GMP to 5.0.5.  Or look for a specific fix to this issue
        instead, but I don't think it's worth it.


Home | Main Index | Thread Index | Old Index