libgfortran: версия `GFORTRAN_1.4 'не найдена - PullRequest
11 голосов
/ 09 марта 2012

При попытке запустить mex-файл в MATLAB я получаю следующую ошибку:

??? Invalid MEX-file
'findimps3.mexa64':
/MATLAB/bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /usr/lib/libblas.so.3gf)

Есть идеи, как решить эту проблему?

update: я обнаружил, что "строки MATLAB /.../ libgfortran.so.3 | grep GFORTRAN "вывод GFORTRAN_1.0.Я пытался изменить libgfortran внутри MATLAB, но это не сработало.Не думаю, что лучше найти подходящий libblas, который работает с GFORTRAN_1.0.

Ответы [ 5 ]

12 голосов
/ 30 мая 2012

read по этой ссылке , объясняется, как настроить matlab в некоторых системах linux.

вот шаги, которые относятся к вам:

Чтобы включить запуск внешних программ, библиотеки [...] fortran должны быть должным образом обновлены и связаны. Посмотрите на вывод этой команды:

ll "$MATLABDIR/bin/glnxa64/"

Вероятно, существует [эта ссылка]:

libgfortran.so.3 -> libgfortran.so.3.0.0

Поиск [этой библиотеки] на вашем компьютере:

locate libgfortran.so

[…] Обновите ссылки Matlab, чтобы они указывали на эти более новые версии:

sudo ln -sf [location of libgfortran.so.3.0.0] "$MATLABDIR/bin/glnxa64/libgfortran.so.3"
3 голосов
/ 01 сентября 2013

Я (кажется, я) исправил эту проблему, запустив matlab с LD_PRELOAD, вот так

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libfreetype.so:/usr/lib/x86_64-linux-gnu/libgfortran.so.3 matlab

Обратите внимание, что freetype - это еще одна библиотека, с которой у меня была похожая проблема.

2 голосов
/ 02 августа 2013

В моем случае сработала следующая команда:

sudo ln -sf /usr/lib/gcc/i686-linux-gnu/4.7/libgfortran.so /usr/local/MATLAB/R2012a/sys/os/glnx86/libgfortran.so.3

Matlab жаловался, что не может найти GFORTRAN1.4 в следующем месте:

/usr/lib/gcc/i686-linux-gnu/4.7/libgfortran.so

Итак, я связал это место с моей библиотекой:

/usr/local/MATLAB/R2012a/sys/os/glnx86/libgfortran.so.3

Я нашел местоположение этой библиотеки с помощью команды locate, как указано выше :) Спасибо за помощь:)

0 голосов
/ 06 июня 2016

Я только что столкнулся с той же проблемой (ошибка usr / lib64 / libgfortran.so.3: версия `gfortran_1.4 'не найдена), и это было на самом деле несложно исправить. Проблема, по-видимому, заключается в том, что версия libgfortran.so.3 для gfortran_1.4 происходит из выпуска gcc-4.6.2 (т. Е. Fortran 4.6).

То, что я сделал, было скачано gcc-4.6.2 и собрано, используя шаги: tar -xvf gcc-4.6.2.tar.gz cd gcc-4.6.2 ./contrib/download_prerequisites cd .. mkdir objdir cd objdir $ PWD /../ gcc-4.6.2 / configure --prefix = $ HOME / gcc-4.6.2 --enable-languages ​​= c, fortran, c ++, go make make install

Затем, когда все было сделано, я пошел в каталог, где находился новый, свежий libgfortran.so.3 (в моем случае это был / home / testuser / objdir / x86_64-unknown-linux-gnu / 32 / libgfortran / .libs /)

Я скопировал эту версию libgfortran.so.3 и пошел в каталог, где моя программа ожидала найти libgfortran.so.3. Я заменил старый (старый libgfortran.so.3) новым (тот, который мы только что скопировали).

Проблема мгновенно ушла. Надеюсь, это вам тоже поможет!

0 голосов
/ 15 января 2013

В моем случае исправлено
$ ln -sf /usr/lib64/libgfortran.so.3.0.0 /opt/matlab/sys/os/glnxa64/libgfortran.so.3

Ошибки, с которыми я сталкиваюсь при использовании CDSP:
csdp: /opt/matlab/sys/os/glnxa64/libgfortran.so.3: версия GFORTRAN_1.4' not found (required by /usr/lib64/atlas/libptf77blas.so.3)<br> csdp: /opt/matlab/sys/os/glnxa64/libgfortran.so.3: version GFORTRAN_1.4 'не найдена (требуется /usr/lib64/atlas/libf77blas.so.3)

...