--- Paolo Giannozzi <giannozz at nest.sns.it> wrote:
> please try the following patch and report if it works now: > http://web1.sns.it/~giannozz/pw/pw-2-1-1.patch.gz The patch works for the most part, but some other object files are missing. Specifically, "../Modules/path_formats.o" is missing from "PWNC " and "pwtools". In addition, "../Modules/parallel_include.o" is missing from "upftools". > > Perhaps, the object files from Modules/* could be packed into a > > library? > > perhaps, but it has to be tested on many architectures On IBM, things seem to proceed almost smoothly if modules are packed into a library file. There are some inconsistencies found with such an approach. Specifically, the Makefile in "Modules" has "path_formats.f90" instead of "path_formats.o". In addition, it also seems to want to have "basic_algebra_routines.o", otherwise, the library linking fails. The addition to Modules/Makefile for creating a library is: all : modules.a modules.a : $(MODULES) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ Then this "modules.a" needs to be added to make.sys as in: LIBOBJS = ../Modules/modules.a ../flib/ptools.a ../flib/flib.a ../clib/clib.a Renaming MODULES to MODULES1 in other Makefiles reveals that in a couple of cases (Gamma,atomic) $(MODULES) include some files from the PW directory. Moving those *.o's to other variables fixes the issue such that all the *.x files link properly. Moreover, exactly the same thing can be done to PWOBJS files. These object files are used in many places, so making a library out of them would clean up the Makefiles. That will improve maintainability. Kostya __________________________________ Do you Yahoo!? Check out the new Yahoo! Front Page. www.yahoo.com
