I have spent a few hours now to try to sort out the f2c issues with igraph; 
here’s a summary of what I’ve found:

1) The configure.ac script tries to link to f2c even if it would not be needed 
at all. Basically, f2c is needed if someone wants to use the BLAS, LAPACK or 
ARPACK version that comes bundled with igraph (because these were converted 
from Fortran using f2c). Since we link to the BLAS, LAPACK and ARPACK packages 
provided in Debian itself, linking to f2c is not needed at all. I have recently 
committed a patch to the development branch of igraph on Github that resolves 
this issue [1].

2) The bug mentioned in #1 did not appear in the Debian package for igraph 
before (with the 0.5.x versions) because configure.ac did *not* link to -f2c at 
all (even though a comment in it claimed to do so). Therefore, out of pure 
coincidence, everything worked just fine for 0.5.x and things went wrong for 
0.6.x when configure.ac was fixed (by debian/patches/link_f2c.patch) and the 
compiler started to link to f2c.

3) There is yet another bug in src/Makefile.am, which is not affecting Debian 
but I thought I’d raise it anyway. When at least one of BLAS, LAPACK or ARPACK 
is compiled from the source bundled with igraph *but* F2C is linked dynamically 
from an external libf2c.so, the makefile does not link the dummy MAIN__ Fortran 
function from src/f2c/dummy.c (or, alternatively, from src/f2c_dummy.c, which 
is a duplicate). I will commit yet another patch to the igraph development tree 
on Github to fix this.
 
In the meanwhile, the easiest (but probably not the cleanest) way to fix the 
MAIN__ linkage issue for the Debian package would be to remove 
debian/patches/link_f2c.patch completely. Alternatively, one could merge the 
patch [1] I mentioned above into debian/patches.

[1] 
https://github.com/igraph/igraph/commit/fb554c839a1c9d40818e16aec8c8444b50b243e2

All the best,
Tamas


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to