Ошибка при компиляции umfpack после обновления Mac

#fortran #gfortran #umfpack

#фортран #gfortran #umfpack

Вопрос:

Я смог использовать umfpack, но только что обнаружил, что не могу использовать его по-прежнему. Я думаю, причина в моем недавнем обновлении Mac.

Я уже установил SuiteSparse ВЕРСИИ 4.5.4. Я использую интерфейс Fortran, umfpack.f90, из http://geo.mff.cuni.cz /~lh/Fortran/UMFPACK/. И использовать gfortran umfpack.f90 umfpack_simple_3subr.f90 -L/usr/local/lib -lumfpack для компиляции. Но я получил следующие ошибки:

 Undefined symbols for architecture x86_64:
  "__gfortran_os_error_at", referenced from:
      ___mumfpack_MOD_umfpack_zi_operator_pcsr in ccAIP7gL.o
      ___mumfpack_MOD_umfpack_zi_operator_pcsc in ccAIP7gL.o
      ___mumfpack_MOD_umfpack_zi_operator_csr in ccAIP7gL.o
      ___mumfpack_MOD_umfpack_zi_operator_csc in ccAIP7gL.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
 

Я понятия не имею о решении проблемы. Любые предложения приветствуются! Заранее благодарю!

Комментарии:

1. В вашей теме письма вы предполагаете, что вы обновили Mac. Вы имеете в виду новую версию macOS? Я мало что знаю об этом, извините, но я думаю, что в какой-то момент недавно macOS прекратила поддержку 32-битных двоичных файлов. Может быть, в этом проблема? Я предлагаю вам сообщить нам, до какой версии macOS вы обновились, а еще лучше, с какой.

2. Что именно вы обновили? Как вы установили свой gfortran? Вы переустанавливали его? Вы перекомпилировали UMFPACK с переустановленным gfortran? У нас есть несколько похожих вопросов.

3. Спасибо за ваш ответ. Да, я использую новую версию macOS, и gfortran также переустановлен. Приятно знать, что есть похожие вопросы. Извините, что я не могу их найти. Не могли бы вы поделиться ими со мной? @Vladimir F Большое спасибо!

4. «Вы перекомпилировали UMFPACK с переустановленным gfortran?» Пожалуйста, ответьте на это, это важно. Другие вопросы и ответы будут касаться ошибки «символы не найдены для архитектуры x86_64» и libgfortran в частности, но не UMFPACK конкретно.

5. Привет @Vladimir F, спасибо, что указали на это. Я не был уверен в этом на 100 процентов, потому что я никогда не указываю версию gfortran при компиляции кода. Но я только что запустил gfortran --version терминал, и он показывает GNU Fortran (GCC) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. , что он новый. Тогда я думаю, что да, я перекомпилировал UMFPACK с переустановленным gforran.