Date: Mon, 15 Feb 2010 13:00:22 GMT From: "b. f." <bf1783@googlemail.com> To: freebsd-python@FreeBSD.org Subject: Re: ports/143529: [PATCH] math/py-numpy: does not build Message-ID: <201002151300.o1FD0Llx071210@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR ports/143529; it has been noted by GNATS.
From: "b. f." <bf1783@googlemail.com>
To: "Li-Lun Wang (Leland Wang)" <llwang@infor.org>
Cc: bug-followup@freebsd.org, amdmi3@amdmi3.ru, gerald@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@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.
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002151300.o1FD0Llx071210>
