вопрос к линуксоидам

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

вопрос к линуксоидам

Сообщение NT » 11 ноя 2013, 23:32

makefile:
# COMPILING OPTIONS ###################
OPT1 = -Minfo -fast -fastsse

Не проходит компиляция с этими опциями

В интернете нашел информацию, что надо заинсталлировать вот эту версию Фортрана:
pgf90 - Portland Group Fortran 90 compiler
Последний раз редактировалось NT 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
laplas
Сообщений: 1927
Зарегистрирован: 18 окт 2009, 21:00

вопрос к линуксоидам

Сообщение laplas » 11 ноя 2013, 23:39

а где ее взять?
или она ужо есть в убунте?
Последний раз редактировалось laplas 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

вопрос к линуксоидам

Сообщение NT » 11 ноя 2013, 23:58

нет ее стандартово на ubuntu.
надо как-то скачивать с интернета, завтра - уже засыпаю.
Последний раз редактировалось NT 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
laplas
Сообщений: 1927
Зарегистрирован: 18 окт 2009, 21:00

вопрос к линуксоидам

Сообщение laplas » 11 ноя 2013, 23:59

спасибо)
Последний раз редактировалось laplas 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
zykov
Сообщений: 1777
Зарегистрирован: 02 ноя 2009, 21:00

вопрос к линуксоидам

Сообщение zykov » 12 ноя 2013, 00:14

NT писал(а):Source of the post
makefile:
# COMPILING OPTIONS ###################
OPT1 = -Minfo -fast -fastsse

Не проходит компиляция с этими опциями

Эти опции можно и выкинуть. Всё равно оно только для оптимизации.
Последний раз редактировалось zykov 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

вопрос к линуксоидам

Сообщение NT » 12 ноя 2013, 00:43

zykov писал(а):Source of the post
Эти опции можно и выкинуть. Всё равно оно только для оптимизации.


Выкинул, теперь вот со сборкой проблема:
# LINKING OPTIONS #####################
OPT2 = -lrfftw -lfftw -lm -L${FFTWLIB} -I${FFTWINC}

usr/bin/ld: can not find -lrfftw
usr/bin/ld: can not find -lfftw
collect2: error: ld return 1 exit status
[attachmentid=17186]
Последний раз редактировалось NT 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
zykov
Сообщений: 1777
Зарегистрирован: 02 ноя 2009, 21:00

вопрос к линуксоидам

Сообщение zykov » 12 ноя 2013, 02:28

NT писал(а):Source of the post
Выкинул, теперь вот со сборкой проблема:
# LINKING OPTIONS #####################
OPT2 = -lrfftw -lfftw -lm -L${FFTWLIB} -I${FFTWINC}

usr/bin/ld: can not find -lrfftw
usr/bin/ld: can not find -lfftw
collect2: error: ld return 1 exit status

А пути в makefile настроили на эту Фурье библиотку (она в том же архиве лежит)?

Код: Выбрать все

# FFTW LIBRARY LOCATION ###############
FFTWLIB = /usr/local/fftw-2/lib
FFTWINC = /usr/local/fftw-2/include



Подозреваю, что библиотеку нужно сначала проинсталировать.
Последний раз редактировалось zykov 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
homosapiens
Сообщений: 8400
Зарегистрирован: 16 июн 2008, 10:02

вопрос к линуксоидам

Сообщение homosapiens » 12 ноя 2013, 05:55

Кароче, убунту - на фиг. Кому нужны языки вроде фортрана качают церновский Scientific Linux и пользуют f90.
Кому нужны научные библиотеки - качают его же. Все из коробки, все работает.

А линукс - хорошая вещь, но не для дома.
Последний раз редактировалось homosapiens 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

вопрос к линуксоидам

Сообщение folk » 12 ноя 2013, 08:50

На всякий случай для понимания, если хотите при линковке дабавить библиотеку то надо сделать две вещи - указать линковщику путь и имя в командной строке. Это разные опции - что то вроде -L и -l (смотрим man ld) Иногда надо подсказать тип библиотеки shared или static. Порядок важен - линкер проходит один раз.
Если же бибиотека не находится при запуске программы то надо добавить путь до нее в переменную энвайронмента
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.:/usr/lib
точка значит в текущей
это как переменная PATH для программ, она наследуется у запускаемых процессов.
Для контроля за тем что происходит используем
strace -f -o /tmp/loglog make
grep open /tmp/loglog
и видим что на самом деле пытался и в каком порядке открывал линкер. Там же будут и параметры запуска линкера (системный вызов exec..) и переменные env с которыми он запускался. (для этого еще пару опций в strace можно добавить )

Не пугайтесь - вышесказанное позволит вам теперь разобраться с любой сборкой любых программ в Unix System V
Последний раз редактировалось folk 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

вопрос к линуксоидам

Сообщение NT » 12 ноя 2013, 10:05

zykov писал(а):Source of the post
А пути в makefile настроили на эту Фурье библиотку (она в том же архиве лежит)?

Код: Выбрать все

# FFTW LIBRARY LOCATION ###############
FFTWLIB = /usr/local/fftw-2/lib
FFTWINC = /usr/local/fftw-2/include


Да , yстановленны на каталог, где был распакован пакет, соответственно:
FFTWLIB = /home/nurik/Документы/SolvMolCR/fftw-2.1.5/lib
FFTWINC = /home/nurik/Документы/SolvMolCR/fftw-2.1.5/include

Что видно из скрина:
[attachmentid=17187]

usr/bin/ld: can not find -lrfftw
usr/bin/ld: can not find -lfftw

То, на что кричит gfortran (rfftw, fftw)- это каталоги, они находятся в "fftw-2.1.5"

Может всё дело в названии каталога на русском языке "Документы" - система КДЕ сама заложила его (интефейс русскояз. выбрал).

Вообще у меня вопрос такой, что значит опция для фортрана:
gfortran -l<name_of_catalog>
Последний раз редактировалось NT 28 ноя 2019, 06:44, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 4 гостей