Подтвердить что ты не робот

Libgfortran: версия `GFORTRAN_1.4 'не найдена

Я получаю следующую ошибку при попытке запуска 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)

Любые идеи, как решить эту проблему?

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

4b9b3361

Ответ 1

прочитайте эту ссылку, в нем объясняется, как настроить 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"

Ответ 2

I (думаю, я) исправил эту проблему, запустив matlab с LD_PRELOAD, вроде этого

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

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

Ответ 3

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

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, как указано выше:) Спасибо за помощь:)

Ответ 4

В моем случае, исправлено с помощью $ 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)
csdp: /opt/matlab/sys/os/glnxa64/libgfortran.so.3: version
GFORTRAN_1.4 'не найден (требуется/usr/lib64/atlas/libf77blas.so.3)

Ответ 5

Я просто столкнулся с той же проблемой (ошибка usr/lib64/libgfortran.so.3: version `gfortran_1.4 'не найдена), и на самом деле ее было нелегко исправить. Проблема заключается в том, что версия gfortran_1.4 libgfortran.so.3 поступает из выпуска 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, С++, go make make install

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

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

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