[molpro-user] Parallel 2009.1 compilation on AIX5.3

Reuti reuti at staff.uni-marburg.de
Mon Dec 28 12:19:13 GMT 2009


Am 24.12.2009 um 09:25 schrieb Andy May:

> Reuti,
>
> The error comes from updating the library, which in your case involves
> replacing every single object file in the library. On AIX the shell  
> can
> not cope with a command line this long. The solution, which in this  
> case
> will be faster anyway, is to:
>
> rm -f lib/libmolpro.a
>
> and then 'make', which will rebuild the library from scratch.
>
> We have not built the MPI2 only parallel version of Molpro on AIX, but
> several people have built parallel Molpro with GA using TCGMSG-MPI
> build. I have not done this directly, but according to some
> correspondence, GA 4-2 can be built with:
>
> #!/bin/csh
> setenv USE_MPI y
> setenv TARGET LAPI64
> setenv MPI_INCLUDE /usr/lpp/ppe.poe/include
> setenv MPI_LIB /usr/lpp/ppe.poe/lib
> setenv LIBMPI -lmpi
> gmake FC=mpxlf CC=xlc
>
> and then configure Molpro to use the GA build as per the  
> installation guide.

Just a note: I never got LAPI working, also not with former GA and  
Molpro versions. I have now a) the pure MPI version of Molpro 2009.1  
(I had to adjust in molprop:

#HOSTFILE_FORMAT="%N"
#LAUNCHER="/usr/lpp/ppe.poe/bin/poe -procs %n -hfile %h %x"
HOSTFILE_FORMAT=""
LAUNCHER="/usr/lpp/ppe.poe/bin/poe %x"

and

#MP_NODES=${MP_NODES:-0}
#MP_PROCS=${MP_PROCS:-1}

Maybe the LoadLeveler is setting up a list of nodes already.). For b)  
the GA version I used plain TCGMSG communication and configured it  
with IBM64 and due to my system I had to set NOAIO=y .

What I noticed: all versions I compiled seem start an infinite loop  
while creating the XML output until the disk fills up (only on AIX).  
Using --no-xml-output solved the problem.

-- Reuti


> Best wishes,
>
> Andy
>
> On 23/12/09 22:08, Reuti wrote:
>> Hi,
>>
>> what is the preferred way to compile a parallel Molpro 2009.1 patch
>> 21 on an AIX5.3 operating system using xlf/xlc?
>>
>> - Open MPI is currently unsupported on AIX
>>
>> - Using "-mppbase /usr/lpp/ppe.poe/include" compiles up to (i.e. a
>> plain MPI compilation w/o GA):
>>
>> ...
>> compiling ppidd_eaf_c.c
>> failed
>> "ppidd_eaf_c.c", line 187.20: 1506-275 (S) Unexpected text request
>> encountered.
>> "ppidd_eaf_c.c", line 187.7: 1506-045 (S) Undeclared identifier
>> MPIO_Request.
>> "ppidd_eaf_c.c", line 195.68: 1506-045 (S) Undeclared identifier
>> request.
>> "ppidd_eaf_c.c", line 268.20: 1506-275 (S) Unexpected text request
>> encountered.
>> "ppidd_eaf_c.c", line 268.7: 1506-045 (S) Undeclared identifier
>> MPIO_Request.
>> "ppidd_eaf_c.c", line 276.67: 1506-045 (S) Undeclared identifier
>> request.
>> "ppidd_eaf_c.c", line 311.20: 1506-277 (S) Syntax error: possible
>> missing ';' or ','?
>> "ppidd_eaf_c.c", line 311.7: 1506-045 (S) Undeclared identifier
>> MPIO_Request.
>> "ppidd_eaf_c.c", line 314.156: 1506-045 (S) Undeclared identifier
>> request.
>> "ppidd_eaf_c.c", line 350.7: 1506-045 (S) Undeclared identifier
>> MPIO_Request.
>> "ppidd_eaf_c.c", line 350.21: 1506-045 (S) Undeclared identifier
>> array_of_requests.
>> "ppidd_eaf_c.c", line 351.39: 1506-275 (S) Unexpected text ')'
>> encountered.
>> "ppidd_eaf_c.c", line 351.74: 1506-277 (S) Syntax error: possible
>> missing ')' or ','?
>> "ppidd_eaf_c.c", line 385.20: 1506-277 (S) Syntax error: possible
>> missing ';' or ','?
>> "ppidd_eaf_c.c", line 385.7: 1506-045 (S) Undeclared identifier
>> MPIO_Request.
>> "ppidd_eaf_c.c", line 388.131: 1506-045 (S) Undeclared identifier
>> request.
>>
>> Then I tried to add -DMPIO_USES_MPI_REQUEST in CONFIG to CFLAGS and
>> got some steps further - ppidd_eaf_c.c compiles fine. Now many
>> symbols are missing, obviously from the MPI library as all begin
>> with .MPI_... (note the dot at the beginning).
>>
>> So I added to the LIBS entry in the CONFIG file ==> -L/usr/lpp/
>> ppe.poe/lib -lmpi
>>
>> But it looks, like the default MPI library uses an underscore at the
>> end instead of the dot at the beginning. So I added to FCFLAGS ==> -
>> qextname
>>
>> I removed all compiled objects, recompiled and now I'm stuck at this
>> error:
>>
>> Updating ../lib/libmolpro.a
>> ar -X64 -r ../lib/libmolpro.a global/atomic_radii.o global/
>> configuration_symbols.o global/flags.o global/fortran_io.o global/
>> molpro_intrinsic.o global/molpro_options2.o global/prt.o global/
>> result.o global/sorting.o global/spherical_transform.o global/xml.o
>> global/...
>> <many many many lines with object files>
>> make[2]: execvp: ar: The parameter or environment lists are too long.
>> make[2]: *** [../lib/libmolpro.a] Error 127
>> make[2]: Leaving directory `/home/reuter/molpro2009.1/src'
>> make[1]: *** [library] Error 2
>> make[1]: Leaving directory `/home/reuter/molpro2009.1/src'
>> make: *** [src] Error 2
>>
>>
>> Is this the correct way to do it or am I doing something terribly
>> wrong? How to continue?
>>
>>
>> -- Reuti
>> _______________________________________________
>> Molpro-user mailing list
>> Molpro-user at molpro.net
>> http://www.molpro.net/mailman/listinfo/molpro-user




More information about the Molpro-user mailing list