GNAT and LAPACK

Gerald Pfeifer gerald at pfeifer.com
Thu Jan 7 23:28:53 UTC 2010


> This creates a further problem as installing the math/lapack port 
> requires a Fortran compiler and that means one of the other GCC ports 
> will be compiled as a dependency...
>
> To clarify this confusing situation: The lang/gnat-gcc44 port needs to 
> be able to compile one of it's own (sometimes) runtime dependencies.
>
> I'm happy to enable the C++ and gfortran backends in the lang/gnat-gcc44
> port but I suspect it'll be necessary to update either math/lapack
> or bsd.gcc.mk in order to allow the lang/gnat-gcc44 port to compile
> math/lapack. I do regular builds on 7.2 i386/amd64 and 8.0 i386/amd64
> with "ada,c,c++,fortran" so I'm confident there won't be any serious
> problems with the port itself.
>
> Perhaps somebody with a clue could tell me what the right way to handle 
> this mess is.

I looked into the situation and think the following should work nicely 
given the constraints of the FreeBSD Ports Collection in handling 
dependencies and creating several packages from one build:

 1. Make gnat-gcc44 dependent on gcc44 itself by means of USE_GCC=4.4.
 2. Have math/lapack as another dependency to gnat-gcc44.
 3. Build the minimum necessary as part of gnat-gcc44.  Do not install
    using `make install`, but copy the relevant files to $PREFIX/bin,
    $PREFIX/lib,... manually.

That way the Ports Collection as such will use gcc44 and you will add
the GNAT support from gnat-gcc44 (and only that) on top.

Gerald @FreeBSD.org
-- 
Gerald (Jerry) Pfeifer   gerald at pfeifer.com   http://www.pfeifer.com/gerald/


More information about the freebsd-ports mailing list