octave - błędne zależności w pakiecie RPM
Kacper Kornet
kornet w camk.edu.pl
Sob, 31 Paź 2009, 16:47:51 CET
On Wed, Oct 28, 2009 at 01:59:57PM +0100, Arkadiusz Miskiewicz wrote:
> Wisi na:
> http://pld.pastebin.com/f5f255980
> żrąc 99 procka, strace nic nie pokazuje więc żadnych syscalli nie woła - coś
> się po prostu zapętliło samo w sobie. ltrace również cisza.
Problem chyba namierzony. Winnym wydaje sie arpack. Jedna z procedur
dostarczanych przez niego przy kompilacji z włączoną optymalizacją
wchodzi w nieskończoną pętlę. Nie wiem tylko dlaczego na i686 ten proces
był ubijany i tam się budowało do końca.
Rozwiązanie to skompilować dwa pliki z arpack z
-O0, tak jak jest to robione podczas budowania lapack.
Ale to nie koniec problemu z octave. Arpack używa lapack dostarczanego
ze sobą. W rezultacie libarpack i libapack dostarczają kilka funkcji o
tych samych nazwach. A że octave linkuje się potencjalnie z obydwoma,
to prowadzi to czasami do błędów. W szczególności nie przechodzi wtedy
część testów dostarczanych z octave.
Rozwiązanie jakie sam widzę są trzy:
1) Połatać wewnętrznie arpack, tak żeby jego funkcje nazywały się
inaczej niż te dostarczane przez lapack.
2) Wyciąć arpack z budowania octave - no ale wtedy obcinamy temu
drugiemu trochę funkcjonalności
3) Linkować arpack z zewnętrznym lapack pomimo rekomendacji jego autorów.
Tak robi Fedora i Debian.
--
Kacper
Więcej informacji o liście dyskusyjnej pld-users-pl