Установка Armadillo без прав root - PullRequest
0 голосов
/ 20 сентября 2018

Я пытался установить библиотеку C ++ armadillo в кластерной среде, для которой у меня нет прав root и sudo.До сих пор у меня не было большого успеха.Следуя некоторым основным рекомендациям системного администратора, файлу armadillo README и предоставленным инструкциям здесь , я пришел к пониманию, что это установочная часть:

"cmake . -DCMAKE_INSTALL_PREFIX:PATH=<desired directory>

In "нужный каталог"Я ввел папку, в которой находятся мои коды.

Затем я сделал

make

и

make install

и вернулся в каталог, где ябыл установлен броненосец.Я попытался скомпилировать свой код и получил сообщение: «ошибка: броненосец: нет такого файла или каталога». Я предположил, что система просто не видит библиотеку вообще.Затем системный администратор посоветовал мне изменить $ LD_LIBRARY_PATH, чтобы компилятор знал, где искать.Я продолжил делать это:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<desired directory>

только чтобы снова получить ту же ошибку.(«нужный каталог» - это каталог, в котором находятся мои коды и библиотека).

Я подозреваю, что могу сделать какую-то очень простую ошибку, но я впервые пытаюсь решить такие проблемы.Поэтому я был бы признателен за любую помощь и был бы благодарен за ваше терпение.

1 Ответ

0 голосов
/ 21 сентября 2018

Основываясь на странице Вопросы на веб-сайте Armadillo, один из подходов заключается в простом использовании опции -I для gcc или clang.Если вы распаковали броненосец в /home/sergio, вам нужно сделать следующее:

g++ prog.cpp -o prog -O2 -I /home/sergio/armadillo-9.100.5/include -DARMA_DONT_USE_WRAPPER -lopenblas -llapack

Измените -lopenblas на -lblas, если на вашей машине нет OpenBLAS установлено.(OpenBLAS - это быстрая версия BLAS).

...