In article <1991Jan31.103637.1344 at urz.unibas.ch>, doelz at urz.unibas.ch writes:
> [stuff deleted]
> I get WARNINGS while trying to compile it with PFA and -mp for multiple
> processors, because there are two statements:
>> C$DOIT with several argumets
> C$DOUT VBEST
>> If I edit them out, the warnings disappear.
This happens because the "C$" prefix is what SGI uses to indicated a
multi-processor compiler directive. These two statements look like directives,
but are not recognized as any known directive, hence the warning.
> However, compiling the code is ok, and the linking
> (after -O2 -pfa keep -p -static -mp -mp_keep -v) FAILS with the message:
>> modl [/convex_tmp/mopac] % make
> Loading mopac.exe ... /usr/bin/ld:
> *** Error code 1
>> Has anyone seen this behaviour or is there any workaround known ?
There are 2 possible causes (that I know about :-)):
(1) The most likely cause is that the load line does not have the Fortran
multi-processing library in it. This library is included in the load when
you add the "-mp" option to the f77 load command (e.g. "f77 -mp *.o").
This is the prefered method.
If you do not use f77 do to the link, but rather construct your load line
by hand (i.e. you use cc or call ld directly) the library name is libI77_mp.a
(e.g. -lI77_mp or /usr/lib/libI77_mp.a).
In brief: use the -mp option to link code that was compiled with
the -mp option.
(2) If you have a new (3.3.*) version of the Fortran compiler
front end (/usr/lib/fcom) and an old (3.1.* or 3.2.*) version of the
Fortran MP runtime library (/usr/lib/libI77_mp.a). If this is the case,
the best thing to do is use "inst" to remove the Fortran and PFA subsytems,
and then reinstall them.
Bron Campbell Nelson
bron at sgi.com or possibly ..!ames!sgi!bron
These statements are my own, not those of Silicon Graphics.