Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam.
Programuję w Fortranie i chciałem skorzystać z jednej z bilbliotek Netlib'a - biblioteki SLATEC. Na stronie http://devernay.free.fr/hacks/netlibs.html można przeczytać, że wszystkie biblioteki z grupy Netlib są w pakietach Debiana. Niestety jej nie znalazłem. Niżej, w instrukcji dla pozostałych dystrybucji jest opisany sposób instalacji. Opiera się on na pobraniu odpowiedniej paczki z serwera Debiana: http://ftp.debian.org/debian/pool/main/s/slatec/ Problem w tym, że taka paczka (już?) nie istnieje. Pomyślałem, że może ta biblioteka została włączona do innej paczki, toteż spróbowałem wyszukiać słowa "slatec" oraz "netlib" w opisach pakietów (nie wiem czy poprawnie...), ale do niczego to nie doprowadziło.
Następnym krokiem było pobranie paczki ze źródłami ze strony Netlib'a (http://www.netlib.org/slatec/) i próba ich kompilacji. Potrzebny jest do tego kompilator egcs, którego również nie ma w paczkach debianowskich. Odpuściłem po wystąpieniu problemów z instalacją egcs.
Ostatnio edytowany przez ATBu (2011-05-27 16:03:20)
Offline
a to nie bedzie to?
gwoli wyjasnienia napisali tam tez ze biblioteka jest w paczce minpack
Chyba sie pospieszylem :) tobie chodzi o te druga paczke :)
jakies przedpotopowe paczki znalazlem tutaj
Ostatnio edytowany przez sal_i (2011-05-27 16:49:26)
Offline
sal_i napisał(-a):
gwoli wyjasnienia napisali tam tez ze biblioteka jest w paczce minpack
Tam, to znaczy gdzie? Ja niczego takiego nie zauważyłem. Poza tym nie sądzę, żeby tak było - MINPACK to oddzielna biblioteka.
Tak, to powinno być to. Nie wiedziałem, że istnieje archiwum starych paczek. Tylko dlaczego ją usunęli z aktualnego zbioru?
Ostatnio edytowany przez ATBu (2011-05-27 16:52:40)
Offline
Zapewne zabraklo opiekuna.
Ostatnio edytowany przez sal_i (2011-05-27 16:59:17)
Offline
$ dpkg -i slatec_4.1-4_i386.deb Zaznaczenie poprzednio niezaznaczonego pakietu slatec. (Odczytywanie bazy danych ... 201347 plików i katalogów obecnie zainstalowanych.) Rozpakowanie slatec (z slatec_4.1-4_i386.deb) ... dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie slatec: slatec zależy od g77; jednakże: Pakiet g77 nie jest zainstalowany. dpkg: błąd przetwarzania slatec (--install): problemy z zależnościami - pozostawiony nieskonfigurowany Wystąpiły błędy podczas przetwarzania: slatec
Teraz nie mogę nigdzie znaleźć g77. :(
Offline
Tutaj pewnie jest: http://snapshot.debian.org.
Offline
Faktycznie jest, dziękuję. Jednak pojawił się kolejny problem.
$ dpkg -i g77_0.5.20-1.deb Zaznaczenie poprzednio niezaznaczonego pakietu g77. (Odczytywanie bazy danych ... 201354 plików i katalogów obecnie zainstalowanych.) Rozpakowanie g77 (z g77_0.5.20-1.deb) ... dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie g77: g77 zależy od gcc (<< 2.7.2.2); jednakże: Wersją gcc w systemie jest 4:4.3.2-2. dpkg: błąd przetwarzania g77 (--install): problemy z zależnościami - pozostawiony nieskonfigurowany Przetwarzanie wyzwalaczy dla man-db... Wystąpiły błędy podczas przetwarzania: g77
Offline
deb http://snapshot.debian.org/archive/debian/20080324T000000Z testing main
# aptitude install g77 -s Następujące NOWE pakiety zostaną zainstalowane: cpp-3.4{a} g77 g77-3.4{a} gcc-3.4{a} gcc-3.4-base{a} libg2c0{a} libg2c0-dev{a} 0 pakietów aktualizowanych, 7 instalowanych, 0 do usunięcia i 17 nie aktualizowanych. Do pobrania 5569 kB archiwów. Zajęte po rozpakowaniu: 15,1 MB. Kontynuować? [T/n/?]
Tak w ogóle to nie wiem czy coś z tego będzie. Strasznie stare te pakiety.
Offline
$ aptitude install g77 ... Następujące pakiety mają NIESPEŁNIONE zależności: g77-3.4 libg2c0-dev Następujące NOWE pakiety zostaną zainstalowane: g77 0 pakietów aktualizowanych, 3 instalowanych, 0 do usunięcia i 0 nie aktualizowanych. Do pobrania 2028kB archiwów. Zajęte po rozpakowaniu: 5423kB. Następujące pakiety mają niespełnione zależności: libg2c0-dev: Wymaga: gcc-3.4-base (= 3.4.6-6) ale zainstalowana jest wersja 3.4.6-9. Wymaga: libg2c0 (= 1:3.4.6-6) ale zainstalowana jest wersja 1:3.4.6-9. g77-3.4: Wymaga: gcc-3.4-base (= 3.4.6-6) ale zainstalowana jest wersja 3.4.6-9. Wymaga: gcc-3.4 (= 3.4.6-6) którego nie można zainstalować Następujące działania rozwiążą problemy z zależnościami: Instalacja następujących pakietów: cpp-3.4 [3.4.6-6 (<NULL>)] gcc-3.4 [3.4.6-6 (<NULL>)] Cofnięcie następujących pakietów do wcześniejszych wersji: gcc-3.4-base [3.4.6-9 (oldstable, <NULL>, now) -> 3.4.6-6 (<NULL>)] libg2c0 [1:3.4.6-9 (oldstable, <NULL>, now) -> 1:3.4.6-6 (<NULL>)] Wynik: -8 Zaakceptować rozwiązanie? [T/n/q/?]
Nie wiem czy powinienem cofać te pakiety do wcześniejszych wersji.
Offline
Jak już tak dłubiesz to możesz cofnąć, systemowi nic się od tego nie stanie. BTW, masz Lenny'ego?
Offline
Może i systemowi się od tego nic nie stanie, ale czy coś innego się nie posypie? Spróbuję, najwyżej później zrobię ich upgrade.
Zgadza się, mam Lenny'ego.
Offline
Po cofnięciu wspomnianych pakietów udało się zainstalować pakiet slatec.
Niestety przy kompilacji (testowego) programu z użyciem tej biblioteki występują błędy, jakby czegoś brakowało.
$ gfortran test.f -o testslatec.x -lslatec /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_rsfe' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_rdue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_wsfi' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `d_sin' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `r_sin' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `r_tan' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_stop' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_wdue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `f_clos' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_wsfe' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `f_rew' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_rsue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `r_lg10' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_wsue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_cmp' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_wsfe' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `do_lio' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_wsle' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_sin' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_log' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `d_mod' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_cat' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_sqrt' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_cos' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_rsue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `r_mod' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_copy' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `d_tan' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_rdue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `f_end' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_wsue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `pow_dd' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `do_fio' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_wdue' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `f_open' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_rsfe' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_abs' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `e_wsle' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `c_exp' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `d_lg10' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `f_back' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `s_wsfi' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `do_uio' /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libslatec.so: undefined reference to `i_indx' collect2: ld returned 1 exit status
W rezultacie nadal nie mogę korzystać z tejże biblioteki.
Offline
Ja się nie znam na tym, ale probowaleś kompilacji tym starym gcc 3.4, tym które było w zależnościach?
Offline
A czy gcc jest skompilowane z suportem do Fortrana?
Bo język jest na tyle zabytkowy, nie zawsze developerzy zostawiają suport Fortrana w gcc.
Np w Gnetoo trzeba zaznaczyć fortran samodzielnie:
sys-devel/gcc-4.4.5 (gtk hardened mudflap nls nptl openmp) # to sa domyślne flagi Gentoo
sys-devel/gcc-4.5.1-r1 (fortran gtk hardened mudflap nls nptl openmp) # to samodzielna modyfikacja.
Gcc 4.5.3 w Wheezy ma to wkompilowane:
cc -v ...
--enable-languages=c,c++,fortran,objc,obj-c++
gcc version 4.5.3 (Debian 4.5.3-1)
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-05-28 10:58:13)
Offline
@sal_i
Też nie działa. Poza tym tamten gcc chyba nie obsługiwał standardu Fortran 95, co mnie nie urządza.
@Jacekalex
cc -v ... Configured with: (...) --enable-languages=c,c++,fortran,objc,obj-c++ (...) gcc version 4.3.2 (Debian 4.3.2-1.1)
Offline
Strony: 1