doelz@urz.unibas.ch (01/31/91)
Hi,
following a post from USENET, I obtained MOPAC (semi-empirical
quantum chemistry application) Version 6.0 from
ouchem.chem.oakland.edu:/pub/unix/ [141.210.108.5] and tried to
compile it on a SGI 4D/320GTX running PFA and IRIX 3.3.2.
I get a compiler warning with O2 without pfa as follows:
f77 -O2 -p -static -c deri2.f
uopt: Warning: harmless compiler bug detected (LDA length 0); please report
to MIPS
Well. This didnt hurt. It runs, with a great performance, and produces
correct output.
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. Other multiprocessor
directives were not found. 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:
Undefined:
__mp_simple_sched_
__mp_4th_arg_
*** Error code 1
Stop.
Has anyone seen this behaviour or is there any workaround known ?
Regards
Reinhard
************************************************************************
Dr. Reinhard Doelz * EAN doelz@urz.unibas.ch
Biocomputing * DECNET 48130::doelz
Biozentrum der Universitaet * X25 psi%46211142::embnet
Klingelbergstrasse 70 * FAX x41 61 256760
CH 4056 Basel * TEL x41 61 253880 ext 888
************************************************************************bron@bronze.wpd.sgi.com (Bron Campbell Nelson) (02/05/91)
In article <1991Jan31.103637.1344@urz.unibas.ch>, doelz@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: > Undefined: > __mp_simple_sched_ > __mp_4th_arg_ > *** Error code 1 > > Stop. > > 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@sgi.com or possibly ..!ames!sgi!bron These statements are my own, not those of Silicon Graphics.