f77 -g -o secondf secondf.o -L/usr/local/mpich/lib/sun4/ch_p4 -lmpichО: Эта программа f77 не принимает команду -L для установки пути поиска библиотек. Некоторые системы предлагают скрипт shell для f77, очень ограниченный по своим возможностям. Чтобы обойти это, используйте полный путь к библиотекам вместо опции -L:
invalid option -L/usr/local/mpich/lib/sun4/ch_p4
ld: -lmpich: No such file or directory
f77 -g -o secondf secondf.o /usr/local/mpich/lib/sun4/ch_p4/libmpich.aНачиная с версии mpich 1.2.0, configure для mpich пытается определить корректную опцию для определения путей библиотек для компилятора Фортрана. Если Вы обнаружили, что configure для mpich делает ошибки, пожалуйста сообщите о них по адресу mpi-bugs@mcs.anl.gov.
f77 -c secondf.fС программами на С этого не происходит.
secondf.f:
MAIN main:
f77 -o secondf secondf.o -L/home/mpich/lib/solaris/ch_shmem -lmpich
Undefined first referenced
symbol in file
getdomainname /home/mpich/lib/solaris/ch_shmem/libmpi.a (shmempriv.o)
ld: fatal: Symbol referencing errors. No output written to secondf
О: Это означает, что Ваш компилятор С предоставляет Вам библиотеки, которые не может предоставить компилятор Фортрана. Найдите опции для компиляторов С и Фортрана, указывающие, какие из бибилотек используются (или же Вы можете обнаружить такие опции, как -dryrun, которая покажет команды, используемые компилятором). Создайте простую программу на С или Фортране и сравните использованные библиотеки (обычно в командной строке ld). Попробуйте те, которые представлены для компилятора С, но отсутствуют для компилятора Фортран.
Error: foo.f, line 30: Inconsistent datatype for argument 1 in MPI_SENDО: Фортран требует, чтобы в двух вызовах одной и той же процедуры типы аргументов совпадали. Т.е., если Вы вызываете MPI_SEND с буфером REAL в качестве первого аргумента, то вызов его с буфером INTEGER в качестве первого аргумента компилятор Фортрана воспринимает как ошибку. Некоторые компиляторы Фортрана 77 могут пропустить это; большинство компиляторов Фортран 90 или Фортран 95 проверяют это. Существует два решения. Одно из них - использование модуля MPI (в версии с ``аргументами по выбору'': используйте опцию -choicemod для mpif90); другим является указание опции компилятору Фортрана 90, допускающей несовпадение аргументов. Использование модуля MPI более предпочтительно. Пользователи Фортрана 77 могут иногда увидеть подобные сообщения, особенно в последних версиях g77. Опция -Wno-globals запрещает появление этих предупреждений.