Bug 1105209 - nwchem not working?
Summary: nwchem not working?
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: nwchem
Version: 20
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: marcindulak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1210932 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-05 15:18 UTC by Henrique C. S. Junior
Modified: 2015-04-12 08:28 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-06-06 09:45:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Henrique C. S. Junior 2014-06-05 15:18:45 UTC
Description of problem:
Command nwchem is not working (not in PATH?). Also, the package nwchem-6.3.2-9.fc20.i686 is empty?

Version-Release number of selected component (if applicable):
6.3.2-9

How reproducible:
Try to execute nwchem

Steps to Reproduce:
1. Open a terminal
2. type nwchem (not found)
3. Type nw and press tab (no auto complete)

Actual results:
No nwchem executable found

Expected results:
Command nwchem should be in PATH


Additional info:
I'm performing lots of calculations with various computational chemistry softwares due to my work with metal complexes. From what I saw in nwchem manual and from what I used in Ubuntu and Debian we should be able to run nwchem by using the command nwchem.
I don't know if Fedora changed something or if I'm just missing something here, anyway, since I couldn't find the owner's mail I'm openning this bug.

Comment 1 marcindulak 2014-06-06 09:45:30 UTC
Hi,

there is no more serial nwchem
(see http://www.nwchem-sw.org/index.php/Special:AWCforum/st/id1138/Nwchem-src-2014-01-28%3A_ARMCI_NET....html).
Use the parallel version by loading the relevant modules (Fedora's way
of handling of multiple versions of the same software) and using the related
executable.

su -c "yum -y install nwchem nwchem-openmpi nwchem-mpich"

Due to this bug https://bugzilla.redhat.com/show_bug.cgi?id=1105509
you need also: su -c "yum -y install ga-openmpi"

source /etc/profile.d/nwchem.sh
module load mpi/openmpi-x86_64
echo -e "geometry\nH 0 0 0\nH 0 0 1\nend\nbasis\nH library STO-3G\nend\ntask dft energy" > test.nw && mpiexec -np 2 `which nwchem_openmpi` test.nw

For mpich: module load mpi/mpich-x86_64
and use the nwchem_mpich executable.

See http://www.nwchem-sw.org/index.php/Special:AWCforum/st/id1145/official_RPMS_for_RHEL6_and_Fedo....html

Comment 2 Henrique C. S. Junior 2014-06-07 16:46:04 UTC
Thank you for using your time to give such useful reply.
I'm sure nwchem is a very hard package to maintain.

Comment 3 marcindulak 2015-04-11 09:13:27 UTC
*** Bug 1210932 has been marked as a duplicate of this bug. ***

Comment 4 fedora_account 2015-04-11 18:27:47 UTC
Hi Marcin,

Thank you so much for packaging nwchem, this is certainly not an easy task.  I'm installing this on one of our centos 6.5 clusters and will leave my comments and improvement suggestions here.

First, the documentation you have provided in this bugzilla report was exactly what I needed to get past the first installation step.  I suggest that you add this information to a README or INSTALL file in the rpms.  That would help users like myself to find the information quickly.

Next, this is a minor point, but nevertheless:  the executable installed at /usr/lib64/openmpi/bin/nwchem_openmpi is not visible in the path and `which nwchem_openmpi` from the above instructions will fail.  I suggest that you add
  ln -s /usr/lib64/openmpi/bin/nwchem_openmpi /usr/bin/nwchem_openmpi
to the rpm in order to make nwchem more visible after the rpm installation.

And lastly, on executing 
  mpiexec -np 2 /usr/lib64/openmpi/bin/nwchem_openmpi test.nw
we get an error of
  "error while loading shared libraries: libga.so.0"
The ga-openmpi-5.3b-13.el6.x86_64.rpm package installs that file at location
  /usr/lib64/openmpi/lib/libga.so.0
Possibly the nwchem build is assuming a different location?

Thanks, Robert

Comment 5 fedora_account 2015-04-11 19:10:57 UTC
Adding more details to the last item, it seems that the library issues relate to four libraries:

ldd /usr/lib64/openmpi/bin/nwchem_openmpi:
        libga.so.0 => not found
        libarmci.so.0 => not found
        libmpi_usempi.so.1 => not found
        libmpi_mpifh.so.2 => not found

Where:

# rpm -qf /usr/lib64/openmpi/lib/libga.so.0
ga-openmpi-5.3b-13.el6.x86_64

# rpm -qf /usr/lib64/mpich/lib/libarmci.so.0
ga-mpich-5.3b-13.el6.x86_64

#yum provides */libmpi_usepmi.so*
No Matches found

# rpm -qf /usr/lib64/openmpi/lib/libmpi_mpifh.so.2
openmpi-1.8.1-1.el6.x86_64

Comment 6 fedora_account 2015-04-12 01:43:17 UTC
Correction on the missing library locations:

# rpm -ql ga-openmpi |grep libga.so.0
/usr/lib64/openmpi/lib/libga.so.0

# rpm -ql ga-openmpi |grep libarmci.so
/usr/lib64/openmpi/lib/libarmci.so.0

# rpm -ql openmpi |grep libmpi_usempi.so.1
/usr/lib64/openmpi/lib/libmpi_usempi.so.1

# rpm -ql openmpi |grep libmpi_mpifh.so.2
/usr/lib64/openmpi/lib/libmpi_mpifh.so.2

Applied this workaround to preload the four libraries:

LD_PRELOAD='/usr/lib64/openmpi/lib/libga.so.0 /usr/lib64/openmpi/lib/libarmci.so.0 /usr/lib64/openmpi/lib/libmpi_usempi.so.1 /usr/lib64/openmpi/lib/libmpi_mpifh.so.2' /usr/bin/nwchem_openmpi test.nw

Putting that in a script and running it with
  mpiexec -np 2 nwchem_test.sh
gives the result that we have resolved the four missing library errors but we have exposed the next level issue:
  "nwchem_openmpi: symbol lookup error: /usr/lib64/openmpi/lib/libmpi_mpifh.so.2: undefined symbol: mpi_fortran_weights_empty"

but we have

$ readelf -Ws /usr/lib64/openmpi/lib/libmpi_mpifh.so.2|grep 'mpi_fortran_weights_empty'
    15: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  UND mpi_fortran_weights_empty
   313: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  UND mpi_fortran_weights_empty_
   365: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  UND mpi_fortran_weights_empty__

So, its unclear to me as to why nwchem_openmpi is complaining that it cannot find the symbol 'mpi_fortran_weights_empty'.

Hope this extra information helps.  Sorry I couldn't debug it further.

Comment 7 marcindulak 2015-04-12 08:28:11 UTC
Hi,

all these problems will be solved in you load the mpi module:

module load mpi

Both Fedora and EPEL use environment-modules for distributing mpi software.
The naming convention of nwchem_{mpich,openmpi} is also a Fedora's packaging guideline.


Note You need to log in before you can comment on or make changes to this bug.