[Pw_forum] Excess of "Modules" references in the Makefiles
Riccardo Di Meo
dimeo at democritos.it
Sun Feb 7 12:01:18 CET 2010
Paolo Giannozzi wrote:
> On Feb 6, 2010, at 17:52 , Riccardo
>
>
>> I would suggest to turn the Modules objects into a static library (as
>> for the libpw.a library), and link all applications against it instead
>>
>
> good suggestion, but it was already tried, several years ago, and
> at least one compiler didn't like it. It took several attempts before
> converging to a satisfactory installation mechanism that was
> working on even the most exotic machines.
>
Mmmh, I understand why this is a problem, however I thought that this
approach would have been feasible, since the pw.x compilation seems to
require it anyway (pw.x gets build from libpw.a), so I don't understand
why the same mechanism shouldn't apply to Modules objects too.
> Maybe it is no longer a problem: a lot of hardware that used to be
> important in scientific computing (dec alpha, cray, sgi, hp, ...)
> either no longer exists or it has moved to "standard", so to speak,
> hardware and software. So, it is worth to try again, but it has to be
> tried for:
> - ifort
> - pgi
> - gfortran
> - g95
> - xlf (including bluegene machines)
> - ftn (cray)
> - nec sx* machines
> - sun machines
> - any more important case I have forgotten.
>
> P.
>
I'd like to contribute on that, however I don't have a way to put my
hand on at least 1/3 of the architectures/compilers you mentioned (some
of them in fact I have never heard of: I admit I'm quite impressed :-) ).
As an "academical" discussion, is there a point to provide
_installation_ support for such a large number of architectures?
Notwithstanding that it _is_ admirable to do so, and that it would ease
the installation on more exotic (and probably powerful) machines, I
think that local administrators and users should be able to fix the
minor incompatibilities themselves (moreover because if a code can't
link to a static library in a set architecture, the local
users/administrator probably encountered the issue many times and know
already how to break the .a file into objects or to change the makefile
and fix the installation).
As for my personal point of view, I think that a software like QE should
strive as much as possible to keep source code compatibility (e.g. not
introduce GCCisms, Ifortism and so on), but leave the
installation/compilation minor issues to the administrators, on the
ground that it spares them only some little "nuisances" but is a
maintenance nightmare for you.... Just my personal opionion anyway.
Cheers (and thanks for the attention)
Riccardo
More information about the users
mailing list