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