Bug 214401 - base/gcc -r424540: requires older mpfr 3.1.4 which was not found so cross build failed
Summary: base/gcc -r424540: requires older mpfr 3.1.4 which was not found so cross bui...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks: 214402
  Show dependency treegraph
 
Reported: 2016-11-10 18:18 UTC by Mark Millard
Modified: 2018-02-17 21:42 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Millard 2016-11-10 18:18:52 UTC
My attempt to build (package) base/gcc for targeting powerpc64 failed:

> Script started on Tue Nov  8 19:59:23 2016
> Command: make CROSS_TOOLCHAIN=powerpc64-gcc CROSS_SYSROOT=/usr/obj/DESTDIRs/xtoolchain-powerpc64-installworld package
. . .
> => mpfr-3.1.4.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
> => Attempting to fetch http://www.mpfr.org/mpfr-current/mpfr-3.1.4.tar.xz
> fetch: http://www.mpfr.org/mpfr-current/mpfr-3.1.4.tar.xz: Not Found
> => Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/mpfr-3.1.4.tar.xz
> fetch: http://distcache.FreeBSD.org/ports-distfiles/mpfr-3.1.4.tar.xz: Not Found
> => Couldn't fetch it - please try to retrieve this
> => port manually into /usr/ports/distfiles/ and try again.
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/ports/base/gcc
> 
> Script done, output file is /root/ports_typescripts/gcc_00.typescript

# pkg info | grep mpfr
mpfr-3.1.5                     Library for multiple-precision floating-point computations
Comment 1 Walter Schwarzenfeld freebsd_triage 2018-01-12 14:44:12 UTC
Is this still relevant? If not please, close it.
Comment 2 Mark Millard 2018-01-12 17:51:58 UTC
I may try this again this weekend if I get a chance.

But looking at https://svnweb.freebsd.org/ports/head/base/gcc/?view=log
I see no evidence of relevant changes since -r424540
and so expect the same results. (And base/gcc is not a
slave port.) Only -r431796 is more recent and it is
about USE_LOCALE and the like.

It is likely that mpfr and other things have updated
and I'd have to adjust things to use modern versions,
much like mpfr 3.1.5 after I submitted this about its
reference to 3.1.4 .
Comment 3 Mark Millard 2018-01-12 18:30:00 UTC
(In reply to Mark Millard from comment #2)

Looking in the Makefile, it still says:

DISTFILES=      ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
                mpfr-3.1.4.tar.xz:mpfr \
                gmp-5.1.3.tar.xz:gmp \
                mpc-1.0.3.tar.gz:mpc

and so does not track /usr/ports/ updates for
mpfr, gmp, or mpc --and is as it was back
when I submitted this (when mpfr 3.1.4 was
out of date but the other two were still
found at the time).
Comment 4 Steve Wills freebsd_committer freebsd_triage 2018-02-13 17:00:58 UTC
I think this is resolved by the changes in bug 224217. Please confirm.
Comment 5 Mark Millard 2018-02-17 05:52:53 UTC
(In reply to Steve Wills from comment #4)

I had no troubles with the likes of mpfr
when I tried building based on the modern
material.

So the specific problem is fixed.


Points of note:

I had to have the following already
installed to get the build to happen:

print/texinfo
misc/help2man
devel/p5-Locale-gettext
devel/gettext-tools

devel/bison
devel/gmake
lang/perl5.24

The README did not mention any of them.
(base/gcc's attempts to build such failed.)

There are naming oddities for:

base/gcc vs. devel/powerpc64-gcc

Both use powerpc64-unknown-freebsd12.0-
prefixes (but devel/powerpc64-binutils uses
powerpc64-freebsd- prefixes).

There are the /usr/bin/ vs. /usr/local/bin/
sorts of path differences as well so the
matching names for devel/powerpc64-gcc and
base/gcc make for ties to PATH order.
Comment 6 Mark Millard 2018-02-17 05:55:05 UTC
I had no troubles with the likes of mpfr
when I tried building based on the modern
material.

So the specific problem is fixed.
Comment 7 Mark Millard 2018-02-17 21:42:49 UTC
(In reply to Mark Millard from comment #5)

Turns out that a more modern devel/powerpc64-binutils
does use powerpc64-unknown-freebsd12.0- prefixes,
just like base/binutils does.

So base/binutils and devel/powerpc64-binutils
end up with PATH controlling which directory
is used when the path is implicit, just like
base/gcc vs. cevel/powerpc64-gcc does.