Xref: utzoo comp.sys.sgi:8084 bionet.software:690 Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!ncar!gatech!mcnc!decwrl!sgi!bron@bronze.wpd.sgi.com From: bron@bronze.wpd.sgi.com (Bron Campbell Nelson) Newsgroups: comp.sys.sgi,bionet.software Subject: Re: MOPAC problem with multiprocessor Fortran Summary: Incompatible versions Message-ID: <83988@sgi.sgi.com> Date: 4 Feb 91 23:31:54 GMT References: <1991Jan31.103637.1344@urz.unibas.ch> Sender: guest@sgi.sgi.com Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 54 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.