[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Länkning av Fortran mot C i Debian respektive Ubuntu



Håller på att installera ett program (http://www.openmadrigal.org/)
och har stött på ett problem som vi inte förstår.

Inte direkt relaterat till Debian, snarare tvärtom, men jag skickar
det till listan ifall någon vet vad det är som händer.

Vid ett steg i kompileringen ska Fortran- och C-objekt länkas och på
Wheezy funkar det fint, men på servern som kör Ubuntu 12.04 LTS går
det så här:

  libtool: link: gcc -I../include -I/usr/include/tcl8.5 -I/var/data/madrigal/inclu
  de -I/var/data/madrigal/include/freetype2 -o .libs/testMadrec testMadrec.o  -L/v
  ar/data/madrigal/lib -L../../madf/geolib /var/data/madrigal/source/madf/geolib/.
  libs/libgeo.so /var/data/madrigal/source/madc/madrec/.libs/libmadrec.so -L/usr/l
  ib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-
  linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linu
  x-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc
  /x86_64-linux-gnu/4.7/../../.. -lgfortran -lquadmath /var/data/madrigal/lib/libh
  df5.so -lm /var/data/madrigal/lib/libfreetype.so -lz -lpng -Wl,-rpath -Wl,/var/d
  ata/madrigal/lib
  
  /var/data/madrigal/source/madc/madrec/.libs/libmadrec.so: undefined reference to
 `initialize_'
 /var/data/madrigal/source/madc/madrec/.libs/libmadrec.so: undefined reference to
 `convrt_'
 /var/data/madrigal/source/madc/madrec/.libs/libmadrec.so: undefined reference to `tnf_'
   ...

 /var/data/madrigal/source/madc/madrec/.libs/libmadrec.so: undefined reference to `geocgm01_'

   ...
   
  och så vidare, men symbolerna är definierade i libgeo.so som är inkluderade:

  cd /var/data/madrigal/source/madc/madrec/.libs
  nm libmadrec.so | grep geocgm
                 U geocgm01_


  cd /var/data/madrigal/source/madf/geolib/.libs		 
  nm libgeo.so | grep geocgm 
  000000000001bc90 T geocgm01_

  Och på debianmaskinen där det fungerar:
  
  nm libmadrec.so | grep geocgm
                 U geocgm01_
   
   nm libgeo.so  | grep geocgm
   000000000001bc90 T geocgm01_
  
  
Ser helt identiskt ut!  Vi misstänker en bugg i gcc eller är det något
annat uppenbart fel?

Hälsningar 
-- 
Carl-Fredrik Enell

Tähteläntie 70B
FIN-99600 Sodankylä, Finland
-------------------------------------------------
URL:	  http://www.is.kiruna.se/~fredrik
Work URL: http://www.sgo.fi/~fredrik
-------------------------------------------------


Reply to: