Re: IMSL Fortran Numeric Library under Debian.
yuri.nefe...@gmail.com writes: On Wed, 6 Feb 2013, Dmitrii Kashin wrote: Собственно, получил у Rogue Wave копию библиотеки IMSL для Red Hat. Так как выбора особо не было, поставил в chroot-окружении Scientific Linux 6. Установил там Intel Fortran Compiler 11, Math Kernel Library, ну и собственно IMSL FNL. Я бы попробовал без всякого chroot-а просто установить их вместе с интеловским компилятором. Такая мысль уже мелькала. Единственная причина, по которой я ставил Scientific Linux, это то, что мне предоставили версию IMSL для Red Hat. Хотел для начала обеспечить наиболее нативное окружение. Однако сейчас вот смотрю, что поставилось в /opt, и недоумеваю, где тут привязка к дистрибутиву. В следующий раз поставлю прямо под Debian. Думаю, все заработает. Почитайте man nm - пригодится Искать можно например так: nm -o /opt/intel/Compiler/11.1/073/mkl/lib/32/*.a | grep ftim_ Это я искал в библиотеках Intel Fortran и ничего не нашел. Значит ищите в IMSL. Спасибо, я про это команду не знал. Сегодня утром первым делом все, что мог проверил, но разумеется ничего не нашел, ибо... Линковщик жалуется, что функции ftim readin и т.д. неизвестно где брать. То есть в перечисленных с строке компиляции библиотеках их нет. Я, кажется, понял, в чем дело. Все эти функции я обнаружил в соответствующий файлах программы, которую пытаюсь скомпилировать. =) Я наивно пытался подать на вход только один файл, а их там без малого сотня. Надо, стало быть, из каждого объектник сделать, а потом слинковать. Ну или подключить их директивой include в главном файле. p.s. Из любопытства спрашиваю. Фортрановская библиотека - это существенно? Нельзя, скажем, GSL приспособить? Или там просто нет того, что требуется? Существенно то, что программа написана не мной, а также то, что ни с IMSL, ни с GSL я раньше не работал. Все, что я на данный момент пытаюсь сделать - это заставить работать то, что уже есть, и переписывать программу только ради свободной библиотеки я бы не хотел, ибо она огромна и плохо комментирована. -- ** * jabber: free...@jabber.mipt.ru * * Registered linux user #546240* ** -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87a9rgjuay@ws00.freehck.ru
Re: IMSL Fortran Numeric Library under Debian.
On Thu, 7 Feb 2013, Dmitrii Kashin wrote: Я, кажется, понял, в чем дело. Все эти функции я обнаружил в соответствующий файлах программы, которую пытаюсь скомпилировать. =) Я наивно пытался подать на вход только один файл, а их там без малого сотня. Надо, стало быть, из каждого объектник сделать, а потом слинковать. Ну или подключить их директивой include в главном файле. С include это не самая удачная идея. Лучше написать Makefile, что бы он эту программу вам собирал. Если никогда с make не работали, посмотрите http://www.osp.ru/os/1993/03/178469/ как раз для начинающих. Полная документация по make в пакете make-doc. В приложении болванка под Makefile, что бы легче было стартовать. Впишите список своих файлов. FFLAGS - то что ваши скрипты определяют как FFLAGS. Вместо EXTLIBS поставьте LINK_FNL_STATIC. (Я ориентируюсь на вашу строку $FC $FFLAGS solver3.for $LINK_FNL_STATIC ) p.s. Из любопытства спрашиваю. Фортрановская библиотека - это существенно? Нельзя, скажем, GSL приспособить? Или там просто нет того, что требуется? Существенно то, что программа написана не мной, а также то, что ни с IMSL, ни с GSL я раньше не работал. Все, что я на данный момент пытаюсь сделать - это заставить работать то, что уже есть, и переписывать программу только ради свободной библиотеки я бы не хотел, ибо она огромна и плохо комментирована. Ситуация понятная. Заставить чужую программу работать - задача благородная, но неблагодарная. Действительно, тогда лучше пользоваться тем что есть. Успехов. Ю. PROGRAM := galuga.exe # # compiler options # FC := ifort FFLAGS := -g # # links options and libraries # LINK:= ifort EXTLIBS := $(shell cernlib packlib) # # list of files # SRCS:= ranlux.f vegas.f galuga2.f MAIN:= demo_my.f OBJS:= $(SRCS:.f=.o) OBJS+= $(MAIN:.f=.o) # all : $(PROGRAM) $(PROGRAM) : $(OBJS) $(LINK) -o $(PROGRAM) $(OBJS) $(EXTLIBS) @echo done clean: @rm -f *.o $(PROGRAM) core *~
Re: IMSL Fortran Numeric Library under Debian.
yuri.nefe...@gmail.com writes: On Thu, 7 Feb 2013, Dmitrii Kashin wrote: Я, кажется, понял, в чем дело. Все эти функции я обнаружил в соответствующий файлах программы, которую пытаюсь скомпилировать. =) Я наивно пытался подать на вход только один файл, а их там без малого сотня. Надо, стало быть, из каждого объектник сделать, а потом слинковать. Ну или подключить их директивой include в главном файле. С include это не самая удачная идея. Учитывая, что я не знаю фортрана - пожалуй. Лучше написать Makefile, что бы он эту программу вам собирал. Если никогда с make не работали, посмотрите http://www.osp.ru/os/1993/03/178469/ как раз для начинающих. Полная документация по make в пакете make-doc. В приложении болванка под Makefile, что бы легче было стартовать. Впишите список своих файлов. FFLAGS - то что ваши скрипты определяют как FFLAGS. Вместо EXTLIBS поставьте LINK_FNL_STATIC. (Я ориентируюсь на вашу строку $FC $FFLAGS solver3.for $LINK_FNL_STATIC ) Вот тут беспокоиться не стоит. Еще как работал. Особо много времени потратил на раздел 'Implicit Rules'. Успехов. Спасибо! =) -- ** * jabber: free...@jabber.mipt.ru * * Registered linux user #546240* ** -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87sj576gtb@ws00.freehck.ru
Re: IMSL Fortran Numeric Library under Debian.
Собственно, получил у Rogue Wave копию библиотеки IMSL для Red Hat. Так как выбора особо не было, поставил в chroot-окружении Scientific Linux 6. Установил там Intel Fortran Compiler 11, Math Kernel Library, ну и собственно IMSL FNL. Как и сказано в документации к обоим продуктам, установил соответствующие переменные окружения. Вот вырезка из .zshrc: # # Intel Fortran Compiler . /opt/intel/Compiler/11.1/080/bin/ifortvars.sh ia32 # IMSL Libraries . /opt/imsl/imsl/fnl700/rdhin111i32/bin/fnlsetup.sh # Запускаю компиляцию программы следующей командой (так сказано в документации): % $FC $FFLAGS solver3.for $LINK_FNL_STATIC На выходе получаю кучу жалоб на, как я понимаю, ошибки линковки. На всякий случай прикладываю файл с развернутым вызовом вышеприведенной команды (то бишь с раскрытием всех переменных), а также с выводом компилятора. ifort-err.log Description: Ошибки Я так понимаю, что ifort жалуется на невозможность слинковать некоторые функци. Собственно, надо понять, в каких библиотеках мне их искать; каких опций не хватает, чтобы слинковать все это добро. Собственно, я сегодня уже совсем никакой. Надеялся, может здешние фортранщики посмотрят незамыленным глазом на сей вывод, да подскажут, как исправить? В данный момент любой ответ лучше никакого. Заранее спасибо. -- ** * jabber: free...@jabber.mipt.ru * * Registered linux user #546240* **
Re: IMSL Fortran Numeric Library under Debian.
On Wed, 6 Feb 2013, Dmitrii Kashin wrote: Собственно, получил у Rogue Wave копию библиотеки IMSL для Red Hat. Так как выбора особо не было, поставил в chroot-окружении Scientific Linux 6. Установил там Intel Fortran Compiler 11, Math Kernel Library, ну и собственно IMSL FNL. Я бы попробовал без всякого chroot-а просто установить их вместе с интеловским компилятором. ... skip Запускаю компиляцию программы следующей командой (так сказано в документации): % $FC $FFLAGS solver3.for $LINK_FNL_STATIC На выходе получаю кучу жалоб на, как я понимаю, ошибки линковки. На всякий случай прикладываю файл с развернутым вызовом вышеприведенной команды (то бишь с раскрытием всех переменных), а также с выводом компилятора. Я так понимаю, что ifort жалуется на невозможность слинковать некоторые функци. Собственно, надо понять, в каких библиотеках мне их искать; каких опций не хватает, чтобы слинковать все это добро. Линковщик жалуется, что функции ftim readin и т.д. неизвестно где брать. То есть в перечисленных с строке компиляции библиотеках их нет. Собственно надо найти где они есть. Для этого имеется команда nm - напечатать список символов имеющихся в библиотеке. Почитайте man nm - пригодится Искать можно например так: nm -o /opt/intel/Compiler/11.1/073/mkl/lib/32/*.a | grep ftim_ Это я искал в библиотеках Intel Fortran и ничего не нашел. Значит ищите в IMSL. Успехов. Ю. p.s. Из любопытства спрашиваю. Фортрановская библиотека - это существенно? Нельзя, скажем, GSL приспособить? Или там просто нет того, что требуется?
IMSL Fortran Numeric Library under Debian.
Собственно, есть необходимость и желание скомпилировать и запустить на домашней рабочей лошадке программу для аэродинамических рассчетов, которая написана с использованием библиотеки IMSL. Я пока заказал ознакомительную версию и ожидаю ответа, но так как они официально Debian не поддерживают, то хотелось бы узнать, есть ли здесь фортранщики, которые это чудо под Debian заставили работать? Прошу поделиться опытом. Спасибо. -- ** * jabber: free...@jabber.mipt.ru * * Registered linux user #546240* **