The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"cpan - ошибка работы модуля"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"cpan - ошибка работы модуля"  
Сообщение от FTPuser email(ok) on 06-Окт-06, 00:55 
В программе нужно считать ранги матриц. причем неквадратных. для этих целей был установлен из портов lapack и из исходников PDL:LinearAlgebra.
был создан для проверки файл:


localhost% cat linal.pl
#!/usr/local/bin/perl

use PDL;
use PDL::LinearAlgebra;
$a = random (100,100);
$b = mrank($a,1e-5);

который при вызове выдает ошибку.


localhost% ./linal.pl
/libexec/ld-elf.so.1: /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/PDL/LinearAlgebra/Real/Real.so: Undefined symbol "dgesdd_"

хотя вот это тоже верно:


localhost% strings /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/PDL/LinearAlgebra/Real/Real.so | grep dgesdd
dgesdd_

очень прошу помочь.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "cpan - ошибка работы модуля"  
Сообщение от СергейК email(??) on 06-Окт-06, 03:51 
>хотя вот это тоже верно:
>
 
>localhost% strings /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/PDL/LinearAlgebra/Real/Real.so | grep dgesdd
>dgesdd_
>

Это ничего не доказывает. В таких случаях надо делать

 
localhost% nm /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/PDL/LinearAlgebra/Real/Real.so | grep dgesdd

и тут вы увидите, что символ dgesdd_ помечен, как не определенный.

А dgesdd_ -- это символ из LAPACK'а
Так что, если у вас LAPACK не установлен, то установите его, и убедитесь, что его библиотеки лежат в директориях видных линкеру ( /etc/ld.so.conf ), или, если установили в какое-то свое место, то установите переменную окружения
export LD_LIBRARY_PATH=/path_to_lapack_installation/lib/

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "cpan - ошибка работы модуля"  
Сообщение от FTPuser email(ok) on 06-Окт-06, 11:16 
>и тут вы увидите, что символ dgesdd_ помечен, как не определенный.
верно, именно так.
>
>А dgesdd_ -- это символ из LAPACK'а
>Так что, если у вас LAPACK не установлен, то установите его, и
>убедитесь, что его библиотеки лежат в директориях видных линкеру ( /etc/ld.so.conf
>), или, если установили в какое-то свое место, то установите переменную
>окружения
>export LD_LIBRARY_PATH=/path_to_lapack_installation/lib/


localhost% ls /usr/local/lib | grep lapack
liblapack.a
liblapack.so
liblapack.so.3
liblapack_p.a

localhost% cat /usr/compat/linux/etc/ld.so.conf
/lib
/usr/lib
/usr/local/lib
/usr/X11R6/lib

так что неясно, чего не хватает. lapack был установлен и ранее, а вот ld.so.conf я правил уже по вашему совету. даже PDL:LinAlg потом пересобрал. и переменную тоже пробовал ставить. результат старый.

файла /etc/ld.so.conf у меня почему-то не было. но даже после того, как он был создан с содержимым описанным выше, ничего не изменилось.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру