Bug 1105209
| Summary: | nwchem not working? | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Henrique C. S. Junior <henriquecsj> | 
| Component: | nwchem | Assignee: | marcindulak <Marcin.Dulak> | 
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | 
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 20 | CC: | fedora_account, Marcin.Dulak | 
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-06-06 09:45:30 UTC | Type: | Bug | 
| Regression: | --- | Mount Type: | --- | 
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| 
 
        
          Description
        
        
          Henrique C. S. Junior
        
        
        
        
        
          2014-06-05 15:18:45 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 Thank you for using your time to give such useful reply. I'm sure nwchem is a very hard package to maintain. *** Bug 1210932 has been marked as a duplicate of this bug. *** 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 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
    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.
    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.
     |