ports/143529: [PATCH] math/py-numpy: does not build
b. f.
bf1783 at googlemail.com
Mon Feb 15 13:00:22 UTC 2010
The following reply was made to PR ports/143529; it has been noted by GNATS.
From: "b. f." <bf1783 at googlemail.com>
To: "Li-Lun Wang (Leland Wang)" <llwang at infor.org>
Cc: bug-followup at freebsd.org, amdmi3 at amdmi3.ru, gerald at freebsd.org
Subject: Re: ports/143529: [PATCH] math/py-numpy: does not build
Date: Mon, 15 Feb 2010 07:58:47 -0500
On 2/15/10, b. f. <bf1783 at googlemail.com> wrote:
>>From: "Li-Lun Wang (Leland Wang)" <llwang at infor.org>
>>To: bug-followup at FreeBSD.org
>>Cc:
>>Subject: Re: ports/143529: [PATCH] math/py-numpy: does not build
>>Date: Mon, 15 Feb 2010 12:50:24 +0800
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>
>>The following patch will fix the problem. It first detects if
>> binutils>=2.18.50 is installed. If it is, then it patches numpy so
>> that the new fenv.h will be used if __FreeBSD_version <= 900009.
>
> This fixes the build problem on i386 (although we're stuck with
> possible run-time problems when numpy is built with the newer binutils
> until the latest fenv.h changes are backported to all supported
> versions of FreeBSD), but this code is machine-dependent, and fenv.h
> needs to be selected based on ARCH.
>
> You might do instead something like:
>
> ...
> .if exists(${LOCALBASE}/bin/as)
> .if ${ARCH} == "i386"
> FP_ARCH= i387
> .else
> FP_ARCH= ${ARCH}
> .endif
> MASTER_SITES+= http://svn.freebsd.org/base/head/lib/msun/%SUBDIR%/:fp
> MASTER_SITE_SUBDIR+= ${FP_ARCH}/:fp
> DISTFILES+= fenv.h:fp
> .endif
> ...
> pre-configure:
> .if exists(${LOCALBASE}/bin/as)
> ${CP} ${DISTDIR}/fenv.h ${WRKSRC}/numpy/core/include/numpy/fenv/fenv.h;
> \
> ${PATCH} ${PATCH_DIST_ARGS} < ${FILESDIR}/fenv.patch; \
> .endif
> ...
>
I should note that a specific snapshot of the headers may be preferred
to head, to ease maintenance. You may also wish to add some specific
provisions for the "makesum" target.
This problem is occurring with lang/gcc44 from Ports, when
devel/binutils is installed, because then the latest gcc44 snapshots
are automatically preferring devel/binutils to the base system
binutils. This is a bug in the lang/gcc44 port, and it should be
explicitly instructed to use one or the other (either hardcoded, or
based upon an OPTION), as lang/gcc45 is now wired to devel/binutils.
I have cc'ed the gcc maintainer.
b.
More information about the freebsd-python
mailing list