RPMS of NWchem


Gets Around
Hi,

i would like to notify you about the presence of RPM packages NWchem 6.0 for few distributions
(Fedora, OpenSUSE, Red Hat/CentOS)
at https://build.opensuse.org/package/show?package=nwchem&project=home%3Amarcindulak

Forum blocks me from posting my whole message so i'm trying step-by-step.

Gets Around
I would like to suggest 3 fixes based on my experience of packaging nwchem:

1. introduce PYTHONLIBTYPE variable
sed -i 's/libpython$(PYTHONVERSION).a/libpython$(PYTHONVERSION).$(PYTHONLIBTYPE)/g' src/config/makefile.h
Necessary because modern python installations (Fedora, RHEL 6) use libpython*.so instead of libpython*.a

2. release the next nwchem as Nwchem-6.1.0.tar.gz
I guess nwchem 6.0 is not really the originally released tarball, and includes patches.
If this is the case such a practice is a source of confusion:
2a. downloading and building http://nwchemgit.github.io/images/Nwchem-6.0.tar.gz at different time
will result in different binaries
and definitively is inconvenient from RPM packaging point of view:
2b. in a package with naming convention of name-v1.v2.v3 one usually denotes the minor release by v3
so automatic updates systems (yum, yast) will pickup the presence of the update.
Please read about RPM packaging at
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning
http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#Minor_version_updates

3. apply the patches (created against http://nwchemgit.github.io/images/Nwchem-src-2011-Oct-25.tar.gz)
https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SOURCES/nwchem-6.1.pre.Parallel-mpi.F.pat...
https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SOURCES/nwchem-6.1.pre.D3dB-mpi.F.patch
in order to build this version.

Gets Around
I would like also to clarify my choice of packaging:

4. RPMS are relocatable with default prefix of "/opt/NWchem"
This means one can install nwchem RPM at custom location, e.g.:
rpm -ivh --relocate /opt/NWchem=/usr/local/NWchem nwchem*.rpm

5. due to this choice one still has to create $HOME/.nwchemrc:
cd && ln -s /opt/NWchem/share/nwchem/nwchemrc .nwchemrc
and execute the relevant startup script (that sets PATH, etc):
source /opt/NWchem/share/nwchem/\*.{csh,sh} # select the one corresponding to you shell

6. the spec file employs opensuse' cross distribution build settings http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto
If one prefers to build outside of http://en.opensuse.org, has to set a
variable corresponding to the requested build system, e.g., for CentOS 5.7:
rpmbuild -bb \-\-define 'centos_version 570' nwchem.spec
See http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto#Detect_a_distributi...
for an overview of systems naming convention.

7. other minor things:
- python support is built-in,
- i have run only domdtests.mpi tests; doqmtests.mpi seem very long - how long are they supposed to take on 2 or 4 cores?
Tests are run when rpm building, and results of tests available under /opt/NWchem/share/nwchem/QA.
- i have build nwchem with atlas blas (when available: RHEL 6, Fedora) on 32 bit systems,
but haven't actually tested the performance yet. Could someone compare it to his reference version?

I would like to hear you comments and suggestions.

By the way, the reason for blocking my post was \*, \-
I had to escape them (so keep it in mind in order to fix the commands above).

Forum Vet
Thanks. We will try and address your issues in the upcoming 6.1 release.

Thanks,

Bert


Quote:Marcindulak Nov 4th 7:43 pm
I would like also to clarify my choice of packaging:

4. RPMS are relocatable with default prefix of "/opt/NWchem"
This means one can install nwchem RPM at custom location, e.g.:
rpm -ivh --relocate /opt/NWchem=/usr/local/NWchem nwchem*.rpm

5. due to this choice one still has to create $HOME/.nwchemrc:
cd && ln -s /opt/NWchem/share/nwchem/nwchemrc .nwchemrc
and execute the relevant startup script (that sets PATH, etc):
source /opt/NWchem/share/nwchem/\*.{csh,sh} # select the one corresponding to you shell

6. the spec file employs opensuse' cross distribution build settings http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto
If one prefers to build outside of http://en.opensuse.org, has to set a
variable corresponding to the requested build system, e.g., for CentOS 5.7:
rpmbuild -bb \-\-define 'centos_version 570' nwchem.spec
See http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto#Detect_a_distributi...
for an overview of systems naming convention.

7. other minor things:
- python support is built-in,
- i have run only domdtests.mpi tests; doqmtests.mpi seem very long - how long are they supposed to take on 2 or 4 cores?
Tests are run when rpm building, and results of tests available under /opt/NWchem/share/nwchem/QA.
- i have build nwchem with atlas blas (when available: RHEL 6, Fedora) on 32 bit systems,
but haven't actually tested the performance yet. Could someone compare it to his reference version?

I would like to hear you comments and suggestions.

By the way, the reason for blocking my post was \*, \-
I had to escape them (so keep it in mind in order to fix the commands above).

Gets Around
Hi,

8. in the process of building of http://nwchemgit.github.io/images/Nwchem-src-2011-Oct-25.tar.gz
on several Linuxes I noticed a potential problem in ga-5-0 configure (src/tools/ga-5-0/configure)
that causes configure to fail (fails on EL5, openSUSE 11.3-12.1, maybe on others).
When compiling the c program (at line 6149) configure fails with:
configure: error: could not kompile simple C MPI program,
and config.log says:
conftest.c:31:17: error: mpi.h: No such file or directory
This has been reported at
http://www.linuxquestions.org/questions/linux-software-2/compiling-nwchem-with-openmpi-909...
(i had to replace comp. by kompile above as the forum does not allow that word!
the mechanism of posting messages on the forum needs improvement,
or at lest a manual with what is allowed to type and what is not)

This problem can be hacked by adding the MPI include directory to CPPFLAGS (for C) and FFLAGS (for fortran):
sed -i "s#CONFIGURE_PATH = #CONFIGURE_PATH = CPPFLAGS=-I\${MPI_INCLUDE} FFLAGS=-I\${MPI_INCLUDE} #g" src/tools/GNUmakefile

The 2011-Oct-25 version has been built using this hack and is available as RPM:
https://build.opensuse.org/package/show?package=nwchem-dev&project=home%3Amarcindulak

In the process of preparing the next NWchem release,
please consider (a better solution) to the point 8.,
in addition to fixes suggested in points 1., 2., and 3. above.


Forum >> NWChem's corner >> Compiling NWChem