[Shape-univ] circles-0.1.62
Boud Roukema
boud w astro.uni.torun.pl
Wto, 30 Sty 2007, 17:48:16 CET
Cześć Zbyszek,
On Fri, 19 Jan 2007, ZBIGNIEW BULIŃSKI wrote:
> Wiam!
>
> plkik pxalloc.c działa teraz poprawnie lecz niestety są nowe błędy w
> rdWMAP_.f oraz rdCOBE.f w których jest niezdefiniowane odołanie do funcji:
> ftopen_
> ftmahd_
> ftgtbb_
> ftclos_
> W załączniku wysyłam raport
ANALIZA:
Brakujący funkcji są w bibliotece cfitsio, tzn plik libcfitsio.a jeśli jest
wersja staticzna (też istnieje wersja "shared" - podzielona).
W zasadzie, ,,-lcfitsio" w komendzie kompilacja, że cytowałeś, jest interpretowany
automatyczny jako ,,libcfitsio.a" i jest szukany w niektórych katalogach
standardowych i w katalogach np
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/../../.. (tz. /usr/lib)
Tu jest twój komend:
f95 -g -O2 -Lcosmdist/lib -Lisolat/lib -Lastromisc/lib -o circles circles.o xmalloc.o circles_f77.o lib/libcircles.a -lcosmdist -lisolat -lastromisc -L/usr/local/pgplot -lpgplot -lpng -L/usr/X11R6/lib -lX11 -lm -llapack -lblas -L/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1 -L/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/../../.. -lgfortranbegin -lgfortran -lm -lgcc_s -L/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1 -L/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/../../.. -lgfortranbegin -lgfortran -lm -lgcc_s -lcfitsio -lgsl -lgslcblas -lm -lgcc -lX11 -lm
Wydaje mi się, że albo twoja instalacja mandriva jest trochę nie-standardowy,
albo skrypt configure nie dobrze dodawał całych katalogów -L/tu/katalog w
komendzie kompilacji.
Czy mogłbyś zrobić:
./configure --prefix=$HOME > /tmp/log 2>&1
i nas wysyłać /tmp/log ? (Jeśli ktoś nie lubi to czytać na
shape-univ, niech go wyjaśnić gdzie jest błęd lub to poprawić :P.
Albo się wypisywać z listy lub zmienić jego paramety w liście. Na
http://cosmo.torun.pl/mailman/listinfo/shape-univ możesz prosić robot mailman
o wysyłaniu Ci twój hasło.)
EWENTUALNE ROZWIĄZANIA:
W mandrivie, szukaj pakiet typu cfitsio-dev lub cfitsio3-dev lub
libcfitsio-dev lub libcfitsio3-dev lub coś
podobny i to instalować - w debian to jest dodatkowy pakiet dla osoby, chęcie do
użycie pakiet jako biblioteką.
Wtedy ./configure && make && make install
BIBLIOTEKI OD ŹRÓDŁA:
1. Kompilować cfitsio od źródła, tworzą bibliotekę staticzną: libcfitsio.a
albo 2a+3a:
2a. Umieszczyć go np $HOME/mylib/ jako zwykly użytkownik.
3a. LDFLAGS=$HOME/mylib/ ./configure --prefix=$HOME
albo 2b+3b:
2b. Umieszczyć go w /usr/local/lib/ jako root
3b. ./configure --prefix=$HOME
Idealnie, 2a + 3a powinna działać tzn bez prawa root'a. W debian unstable,
działa.
BUG: ANNOYING: W piernix-0.0.4, 2a+3a nie działał dla mnie - configure nie mogł
znaleźć kompilator gcc ! Może bo zależy od pusty wartości LDFLAGS aby
sam dodawać ,,standardowy katalogów" do LDFLAGS.
Więc jeśli nie możesz to zrobić jako użytkownik, spróbuj 2b jako rootem i 3b
jako użytkownikiem.
To testowałem także dla liblapack.a w piernix-0.0.4 i działa.
pozdr
boud
Więcej informacji o liście Shape-univ