[Pw_forum] Espresso 2.1 - lots of missing 'shmem_include.o'
Konstantin Kudin
konstantin_kudin at yahoo.com
Tue Nov 9 21:35:02 CET 2004
--- 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
More information about the users
mailing list