-----Original Message----- 
From: sisyph...@optusnet.com.au

> Is it possible to just specify *all* of the possible libraries that might 
> be needed, skip the validation, and leave it to EU::MM to automatically 
> remove the ones that don't exist ?

Didn't really give a very good account of this - crap post. Sorry, I'll try 
to elaborate.

On Windows, we're relying on this code in F77.pm:

$F77config{MinGW}{GFortran}{Link} = sub {
    # do stuff
    return( "-L$dir -L/usr/lib -lgfortran -lquadmath -lm" );
};

Now, I can change the return to:

    return( "-L$dir -L/usr/lib -lgfortran -lquadmath -lm -lrubbish" );

where "-lrubbish" is a non-existent and unlocatable  library.

Having made that change, it makes no difference to the usability of 
ExtUtils-F77. It still builds, tests and installs fine:

##########################################
C:\sisyphusion\ExtUtils-F77>perl -Mblib t/require.t
1..2

ExtUtils::F77: Version 1.19
Loaded ExtUtils::F77 version 1.19
Found compiler gfortran.exe
ExtUtils::F77: Using system=MSWin32 compiler=<undefined>
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=Generic Compiler=GFortran
ExtUtils::F77: 
Validating -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0 -L/usr/lib -lg
fortran -lquadmath -lm -lrubbish
ExtUtils::F77:    Unable to find library -lrubbish
ExtUtils::F77: Well that didn't appear to validate. Well I will try it 
anyway.
ExtUtils::F77: Compiler: gfortran
ExtUtils::F77: Cflags: -O
ok 1
ok 2

##########################################

When it comes to building PDL using this EU-F77 installation, Slatec and 
Minuit still build fine.

Firstly, during the 'Makefile.PL' step I find:

##########################################
Writing Makefile for PDL::CallExt

ExtUtils::F77: Version 1.19
Loaded ExtUtils::F77 version 1.19
Found compiler gfortran.exe
ExtUtils::F77: Using system=MSWin32 compiler=<undefined>
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=Generic Compiler=GFortran
ExtUtils::F77: 
Validating -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0 -L/usr/lib -lg
fortran -lquadmath -lm -lrubbish
ExtUtils::F77:    Unable to find library -lrubbish
ExtUtils::F77: Well that didn't appear to validate. Well I will try it 
anyway.
ExtUtils::F77: Compiler: gfortran
ExtUtils::F77: Cflags: -O
(ExtUtils Version 1.19)
Compiling the test Fortran program...
Executing the test program...
Congratulations you seem to have a working f77!

   Building PDL::Slatec. Turn off WITH_SLATEC if there are any problems

Warning (mostly harmless): No library found for -lrubbish
Generating a dmake-style Makefile
Writing Makefile for PDL::Slatec
##########################################

And further on:

##########################################
Writing Makefile for PDL::Transform
ExtUtils::F77: Using system=MSWin32 compiler=<undefined>
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=Generic Compiler=GFortran
ExtUtils::F77: 
Validating -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0 -L/usr/lib -lg
fortran -lquadmath -lm -lrubbish
ExtUtils::F77:    Unable to find library -lrubbish
ExtUtils::F77: Well that didn't appear to validate. Well I will try it 
anyway.
ExtUtils::F77: Compiler: gfortran
ExtUtils::F77: Cflags: -O
(ExtUtils Version 1.19)
Compiling the test Fortran program...
Executing the test program...
Congratulations you seem to have a working f77!
Building PDL::Minuit. Turn off WITH_MINUIT if there are any problems
Stand alone Minuit library will be built...
Warning (mostly harmless): No library found for -lrubbish
Generating a dmake-style Makefile
Writing Makefile for PDL::Minuit
##########################################

As you can see, EU-MM removes the link to the unfound librubbish library on 
both occasions, thus avoiding what would otherwise be fatal errors.

And then PDL-2.014_01 builds and tests fine (including slatec and minuit).

So ... are you sure that linking to non-existent libraries is really an 
issue ?
The removal of links to unlocatable libraries is a design feature of EU-MM, 
and works on all systems afaik.

Cheers,
Rob




------------------------------------------------------------------------------
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140
_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to