Почему я не могу найти эту библиотеку?

Я не очень хорошо разбираюсь в этой теме и поэтому не могу понять, почему следующая команда не работает:

$ gfortran -o dsimpletest -O dsimpletest.o ../lib/libdmumps.a \ ../lib/libmumps_common.a -L/usr -lparmetis -lmetis -L../PORD/lib/ \ -lpord -L/home/eiser/src/scotch_5.1.12_esmumps/lib -lptesmumps -lptscotch \ -lptscotcherr /opt/scalapack/lib/libscalapack.a -L/usr/lib/openmpi/ \ -lmpi -L/opt/scalapack/lib/librefblas.a -lrefblas -lpthread /usr/bin/ld: cannot find -lrefblas collect2: ld returned 1 exit status 

Это происходит при компиляции библиотеки mumps . Вышеупомянутая команда выполняется make. У меня есть librefblas.a по правильному пути:

 $ ls /opt/scalapack/lib/ -l total 20728 -rw-r--r-- 1 root root 619584 May 3 14:56 librefblas.a -rw-r--r-- 1 root root 9828686 May 3 14:59 libreflapack.a -rw-r--r-- 1 root root 10113810 May 3 15:06 libscalapack.a -rw-r--r-- 1 root root 653924 May 3 14:59 libtmg.a 

Вопрос 1: Я думал, что -L переключатель ld принимает каталоги, почему он ссылается на файл прямо здесь? Если я удалю librefblas.a из аргумента -L, я получаю много ошибок «неопределенной ссылки».

Вопрос 2: -l должен подразумевать поиск .a и затем поиск .so , если я правильно помню. Является ли проблема, что у меня нет файла .so ? Я попытался выяснить, используя gfortran -v ... , но это не помогло мне отладить его.

  • Статическая компиляция wget
  • как добавить curlcpp в библиотеку / включить путь?
  • Компиляция кода C / C ++ путем включения инструкций сборки препроцессора в исходный файл C / C ++
  • One Solution collect form web for “Почему я не могу найти эту библиотеку?”

    Я смог решить это с помощью комментариев, в частности, для @Mat.

    Поскольку я хотел скомпилировать версию openmpi, это помогло использовать mpif90 вместо gfortran , который в моей системе

      $ mpif90 --showme /usr/bin/gfortran -I/usr/include -pthread -I/usr/lib/openmpi -L/usr/lib/openmpi -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc 
    Interesting Posts

    Почему моя машина не нуждается в пароле при пробуждении из спящего режима?

    Запуск окна Chrome Incognito, зарегистрированного в определенной учетной записи google

    Что означает «sh a.sh <& 0> & 0»?

    автоматическое отключение RAID-массива

    Прикрепление файла в Unix для данной строки, а затем другой набор строк в этом файле и печать свойств файла тоже

    Lubuntu 14.04 – подключение через RDP с экрана входа в систему

    udev Подпроцесс / usr / bin / dpkg вернул код ошибки (1)

    Интерфейс pf out?

    Изменение ключевой фразы GPG неэффективно

    Как я могу исправить ошибки при использовании драйвера отображения nouveau?

    Войдите в другой bash ttys после входа в систему

    увеличить LVM и DRBD

    Обновляет ли Fedora 16 автоматические обновления системы?

    замените слово или число в предложении, которое меньше 8, используя awk или sed

    Какой самый простой способ определить, какие сигналы отправляются процессу?

    Linux и Unix - лучшая ОС в мире.