LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Roland Krause (rokrau_at_[hidden])
Date: 2006-07-06 14:54:14


Apologies for answering my own post here and not trying this before:
The solution to my problem was to add the option

--libdir=/usr/lib64

to the configure line in the spec file (and I updated to Jeff's latest
also)

Roland

--- Roland Krause <rokrau_at_[hidden]> wrote:

> All,
> I have built LAM-7.1.2 on a Fedora Core 5 box using a rpm spec file
> that - I think - must be from LAM-7.1.1 and that used to work on
> SuSE-9
> and 10. I modified the spec file slightly to use the Intel fortran
> compiler and now I find the following WARNING messages when I call
> mpif77 :
>
> john_fc5 (1020) $ mpif77
> WARNING: mpif77 expected to find liblammpio.* in /usr/lib
> WARNING: MPI-2 IO support will be disabled
> WARNING: mpif77 expected to find liblamf77mpi.* in /usr/lib
> WARNING: MPI Fortran support will be disabled
>
> and of course later when linking a real program all mpi related
> symbols
> are undefined since the libraries are never found.
>
> The libraries under FC5 on this x86_64 machine are installed in
> /usr/lib64 but the mpif77 script doesn't seem to realize that.
>
> Here is my laminfo output and I attach the spec file that I used for
> compilation.
>
> Is there a configuration option that would make the mpif77 compiler
> and
> related tools aware of the correct location of the libraries?
>
> I appreciated any help! Also, if someone has a spec file that works
> on
> FC5 that'd be even better.
>
> Regards,
> Roland
>
>
>
> LAM/MPI: 7.1.2
> Prefix: /usr
> Architecture: x86_64-unknown-linux-gnu
> Configured by: root
> Configured on: Wed Jul 5 15:46:14 PDT 2006
> Configure host: john_fc5.ca.wai.com
> Memory manager: none
> C bindings: yes
> C++ bindings: no
> Fortran bindings: yes
> C compiler: gcc
> C++ compiler: g++
> Fortran compiler: ifort
> Fortran symbols: underscore
> C profiling: yes
> C++ profiling: yes
> Fortran profiling: yes
> C++ exceptions: no
> Thread support: yes
> ROMIO support: yes
> IMPI support: no
> Debug support: no
> Purify clean: no
> SSI boot: globus (API v1.1, Module v0.6)
> SSI boot: rsh (API v1.1, Module v1.1)
> SSI boot: slurm (API v1.1, Module v1.0)
> SSI coll: lam_basic (API v1.1, Module v7.1)
> SSI coll: shmem (API v1.1, Module v1.0)
> SSI coll: smp (API v1.1, Module v1.2)
> SSI rpi: crtcp (API v1.1, Module v1.1)
> SSI rpi: lamd (API v1.0, Module v7.1)
> SSI rpi: sysv (API v1.0, Module v7.1)
> SSI rpi: tcp (API v1.0, Module v7.1)
> SSI rpi: usysv (API v1.0, Module v7.1)
> SSI cr: self (API v1.0, Module v1.0)> #
> # Copyright (c) 2001-2005 The Trustees of Indiana University.
> # All rights reserved.
> # Copyright (c) 1998-2001 University of Notre Dame.
> # All rights reserved.
> # Copyright (c) 1994-1998 The Ohio State University.
> # All rights reserved.
> #
> # This file is part of the LAM/MPI software package. For license
> # information, see the LICENSE file in the top level directory of the
> # LAM/MPI source distribution.
> #
>
>
#############################################################################
> #
> # Helpful defines
> #
>
#############################################################################
>
> %define _sysconfdir /etc/lam
> %define _romiodocdir /usr/share/lam/doc
>
> # Other values may be passed in via:
> #
> # rpmbuild -define 'config_args ...'
> #
> # where "..." may be replaced with anything extra to pass to
> # configure. See conditionalbuilds(3) man page (note the
> # misspelling!) for more details.
> #
> # Values specified here are what are used if the user does not pass
> in
> # any defaults.
>
> %{!?config_options: %define config_options ""}
> %{!?rpi: %define rpi --with-rpi=usysv}
> %{!?subpackages: %define subpackages 1}
>
>
>
>
#############################################################################
> #
> # Preamble Section
> #
>
#############################################################################
> Summary: LAM/MPI (Local Area Multicomputer) programming environment
> Name: lam
> Version: 7.1.2
> Release: 2.wai64
> Vendor: LAM/MPI Team
> License: BSD
> Group: Development/Libraries
> Source: lam-%{version}.tar.bz2
> URL: http://www.lam-mpi.org/
> BuildRoot: %{_tmppath}/%{name}-%{version}-root
> Provides: mpi
> Requires: %__rm %__make %__mv %__chmod
> BuildRequires: openssh intel-iforte9
> Conflicts: lam-runtime = %{version}
>
> %description
> LAM (Local Area Multicomputer) is an MPI programming environment and
> development system for heterogeneous computers on a network. With
> LAM/MPI, a dedicated cluster or an existing network computing
> infrastructure can act as a single parallel computer. LAM/MPI is
> considered to be "cluster friendly", in that it offers daemon-based
> process startup/control as well as fast client-to-client message
> passing protocols. LAM/MPI can use TCP/IP and/or shared memory for
> message passing (currently, different RPMs are supplied for this --
> see the main LAM web site for details).
>
> LAM features a full implementation of MPI-1 (with the exception that
> LAM does not support cancelling of sends), and much of MPI-2.
> Compliant applications are source code portable between LAM/MPI and
> any other implementation of MPI. In addition to providing a
> high-quality implementation of the MPI standard, LAM/MPI offers
> extensive monitoring capabilities to support debugging. Monitoring
> happens on two levels. First, LAM/MPI has the hooks to allow a
> snapshot of process and message status to be taken at any time during
> an application run. This snapshot includes all aspects of
> synchronization plus datatype maps/signatures, communicator group
> membership, and message contents (see the XMPI application on the
> main
> LAM web site). On the second level, the MPI library is instrumented
> to produce a cummulative record of communication, which can be
> visualized either at runtime or post-mortem.
>
>
#############################################################################
> #
> # Spilt packages when defined to do so
> #
>
#############################################################################
> %if %{subpackages}
>
>
>
#############################################################################
> #
> # Preamble Section
> #
>
#############################################################################
> %package runtime
> Group: Development/Libraries
> Summary: LAM/MPI (Local Area Multicomputer) programming runtime
> environment
> Provides: mpi
> Conflicts: lam = %{version}
>
> %description runtime
> LAM (Local Area Multicomputer) is an MPI programming environment and
> development system for heterogeneous computers on a network. With
> LAM/MPI, a dedicated cluster or an existing network computing
> infrastructure can act as a single parallel computer. LAM/MPI is
> considered to be "cluster friendly", in that it offers daemon-based
> process startup/control as well as fast client-to-client message
> passing protocols. LAM/MPI can use TCP/IP and/or shared memory for
> message passing (currently, different RPMs are supplied for this --
> see the main LAM web site for details).
>
> LAM features a full implementation of MPI-1 (with the exception that
> LAM does not support cancelling of sends), and much of MPI-2.
> Compliant applications are source code portable between LAM/MPI and
> any other implementation of MPI. In addition to providing a
> high-quality implementation of the MPI standard, LAM/MPI offers
> extensive monitoring capabilities to support debugging. Monitoring
> happens on two levels. First, LAM/MPI has the hooks to allow a
> snapshot of process and message status to be taken at any time during
> an application run. This snapshot includes all aspects of
> synchronization plus datatype maps/signatures, communicator group
> membership, and message contents (see the XMPI application on the
> main
> LAM web site). On the second level, the MPI library is instrumented
> to produce a cummulative record of communication, which can be
> visualized either at runtime or post-mortem.
>
>
>
#############################################################################
> #
> # Preamble Section (devel)
> #
>
#############################################################################
> %package devel
> Summary: LAM/MPI (Local Area Multicomputer) programming environment
> Group: Development/Libraries
> Requires: lam-runtime = %{version}
> Requires: gcc-c++ intel-iforte9
>
> %description devel
> This is the development RPM for the LAM implementation of MPI. See
> the description in the main (runtime) LAM/MPI RPM.
>
>
>
#############################################################################
> #
> # Preamble Section (extras)
> #
>
#############################################################################
> %package extras
> Summary: LAM/MPI (Local Area Multicomputer) programming environment
> Group: Development/Libraries
> Requires: lam-runtime = %{version}
>
> %description extras
> This is the extra (not necessary for runtime) component of the LAM
> programming enviornment.
>
>
>
#############################################################################
> #
> # Preamble Section (docs)
> #
>
#############################################################################
> %package docs
> Summary: LAM/MPI (Local Area Multicomputer) programming environment
> Group: Development/Libraries
> Requires: lam-runtime = %{version}
>
> %description docs
> This is the documentation RPM for the LAM implementation of MPI. See
> the description in the main (runtime) LAM/MPI RPM.
>
>
#############################################################################
> #
> # End subpackaging split
> #
>
#############################################################################
> %endif
>
>
>
>
#############################################################################
> #
> # Prep Section
> #
>
#############################################################################
> %prep
> %setup -q
> # %patch -p1
>
> # Otherwise, this directory shows up on security reports. [sigh]
> %__chmod -R o-w $RPM_BUILD_DIR/lam-%{version}
>
>
>
#############################################################################
> #
> # Build Section
> #
>
#############################################################################
> %build
> # FFLAGS=""
> ./configure --prefix=/usr --with-fc=ifort --without-mpi2cpp
> --with-memory-manager=none --with-rsh='ssh -x' %{rpi}
> %{config_options}
> %__make all
>
>
>
#############################################################################
> #
> # Install Section
> #
>
#############################################################################
> %install
> %__rm -rf $RPM_BUILD_ROOT
> %makeinstall
>
> # Rename the ROMIO doc files so that we can install them in the same
> # doc root later, and not overwrite LAM's doc files.
>
> for file in README README_LAM COPYRIGHT; do
> %__mv $RPM_BUILD_DIR/lam-%{version}/romio/$file \
> $RPM_BUILD_DIR/lam-%{version}/romio/romio-$file
> done
> %__mv $RPM_BUILD_DIR/lam-%{version}/romio/doc/users-guide.ps.gz \
> $RPM_BUILD_DIR/lam-%{version}/romio/doc/romio-users-guide.ps.gz
>
> # 7.0 installs shell setup and module files. Kill these so that
> # recent versions of RPM don't complain that we have installed but
> not
> # packaged files.
>
> %__rm -f $RPM_BUILD_ROOT%{_datadir}/lam/lam-shell-setup.sh
> %__rm -f $RPM_BUILD_ROOT%{_datadir}/lam/lam-shell-setup.csh
> %__rm -f $RPM_BUILD_ROOT%{_datadir}/lam/lam_module.tcl
>
> # Turn off the x bit on the totalview shared library so that
> rpm
> # doesn't strip it. #$%@#$%!!!
>
> %__chmod a-x $RPM_BUILD_ROOT%{_libdir}/lam/liblam_totalview*so 2>
> /dev/null || :
>
>
>
#############################################################################
> #
> # Clean Section
> #
>
#############################################################################
> %clean
> %__rm -rf $RPM_BUILD_ROOT
>
>
>
#############################################################################
> #
> # Files Section
> #
>
#############################################################################
>
>
#############################################################################
> #
> # Split packages when defined to do so
> #
>
#############################################################################
> %if %{subpackages}
> %files runtime
> %defattr(-,root,root)
> %doc LICENSE HISTORY INSTALL README
> %config %{_sysconfdir}
> %{_bindir}/hboot
> %{_bindir}/lamboot
> %{_bindir}/lamclean
> %{_bindir}/lamd
> %{_bindir}/lamhalt
> %{_bindir}/laminfo
> %{_bindir}/lamnodes
> %{_bindir}/lamwipe
> %{_bindir}/mpirun
> %{_bindir}/recon
> %{_bindir}/tkill
> %{_bindir}/tping
> %{_bindir}/wipe
> %{_libdir}/*
>
>
#############################################################################
> #
> # Files Section (docs)
> #
>
#############################################################################
> %files docs
> %defattr(-,root,root)
> %doc doc/*.pdf
> %doc examples
> # Need to fix ROMIO install script to install its docs in the Right
> place
> %doc %{_romiodocdir}
> %{_mandir}/man1/*
> %{_mandir}/man5/*
> %{_mandir}/man7/*
> %{_mandir}/mans/*
>
>
>
#############################################################################
> #
> # Files Section (extras)
> #
>
#############################################################################
> %files extras
> %defattr(-,root,root)
> %{_bindir}/lamgrow
> %{_bindir}/lamexec
> %{_bindir}/lamshrink
> %{_bindir}/lamtrace
> %{_bindir}/lamcheckpoint
> %{_bindir}/lamrestart
> %{_bindir}/mpiexec
> %{_bindir}/mpimsg
> %{_bindir}/mpitask
>
>
#############################################################################
> #
> # Files Section (devel)
> #
>
#############################################################################
> %files devel
> %defattr(-,root,root)
> %{_bindir}/hcc
> %{_bindir}/hcp
> %{_bindir}/hf77
> %{_bindir}/mpiCC
> %{_bindir}/mpic++
> %{_bindir}/mpicc
> %{_bindir}/mpif77
> %{_includedir}/*
> %{_mandir}/man3/*
>
> %else
>
> %files
> %defattr(-,root,root)
> %doc LICENSE HISTORY INSTALL README
> %doc examples
> %doc doc/*.pdf
> %config %{_sysconfdir}
> %{_bindir}/*
> %{_mandir}/*/*
> %{_includedir}/*
> %{_libdir}/*
> %{_datadir}/lam/*
>
> %endif
>
>
>
#############################################################################
> #
> # Changelog
> #
>
#############################################################################
> %changelog
> * Thu Jan 20 2005 Jeff Squyres <jsquyres_at_[hidden]>
> - Rebuild for 7.1.1 release 3
> - Also send the error message from the totalview chmod to /dev/null
>
> * Tue Nov 16 2004 Jeff Squyres <jsquyres_at_[hidden]>
> - Rebuild for 7.1.1 release 2
> - Include ROMIO and all the other things accidentally removed from
> release 1
> - Fix default attributes in sub-packages so that they're not bowned
> by
> jsquyres
> - Fix dependencies of sub-packages so that they require lam-runtime,
> not lam.
> - Allow skipping build of the totalview library without erroring.
>
> * Tue Sep 14 2004 Greg Kurtzer <GMKurtzer_at_[hidden]>
> - Built spec to allow for conditional subpackage building
>
> * Fri Sep 10 2004 Jeff Squyres <jsquyres_at_[hidden]>
> - Merge changes from Greg into the main LAM CAOS specfile.
>
> * Thu Mar 25 2004 Greg Kurtzer <greg_at_[hidden]>
> - Created the -extras package (to remove some non-happy dep loops
> (ie. perl))
>
> * Wed Mar 24 2004 Greg Kurtzer <greg_at_[hidden]>
> - Updated to lam-7.0.4
>
> * Thu Jan 22 2004 Greg Kurtzer <greg_at_[hidden]>
> - me killed da EPOCH
>
> * Mon Oct 27 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - Removed outdated sym link for mpi2c++/mpi++.h.
>
> * Mon Oct 20 2003 Greg Kurtzer <greg_at_[hidden]>
> - Implemented LAM-7.0.2 source tree
>
> * Wed Sep 24 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - Added explicit requires for gcc, gcc-c++, and gcc-g77 for the devel
> RPM.
>
> * Wed Jul 30 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - Added spaces to all % foo descriptions in the % changelog so that
> rpm's silly parser won't interpret those as macros and try to
> expand
> them.
> - Re-add missing mans man page.
> - Manually remove the shell setup files and module file because newer
> versions of RPM complain about installed-but-not-packaged files.
>
> * Wed Jul 23 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - First cAos specfile. Split into lam, and lam-devel RPMs with
> assistance from Greg Kurtzer
> - Added command-line overrideable % define's
>
> * Sun Jul 20 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - Fix the default RPI to be usysv
>
> * Mon May 29 2003 Jeff Squyres <jsquyres_at_[hidden]>
> - Updated for LAM/MPI 7.0; added doc/*.pdf; removed some other
> (outdated) % doc files
> - Ensure extracted LAM source directory is not world-writeable;
> otherwise it shows up in nightly security reports
> - Fixed references to get ROMIO docs
>
> * Mon Nov 26 2001 Brian William Barrett <brbarret_at_[hidden]>
> - Fixed typo - C++ header file symlink was mpi++ instead of mpi++.h
>
> * Wed Oct 31 2001 Jeff Squyres <jsquyres_at_[hidden]>
> - Changed license to be BSD.
>
> * Thu Jul 05 2001 Jeff Squyres <jsquyres_at_[hidden]>
> - Modified slightly to be similar to the OSCAR spec file.
> - Removed use of hard-coded dirs, and replaced them with variables
> instead.
> - Removed redundant "cp" statements in % install section; automake
> takes care of installing man pages, and there is no $prefix/doc
> anymore.
> - Fixed to get the copyright properly.
> - Changed "Copyright" to "License" to be a bit more accurate.
> - Use "makeinstall" macro in % install section instead of "make
> DESTDIR=... install"
> - Acknowledge that because we build the LAM RPMs on RH 6.2 machines,
> the man pages and doc files will be in the "wrong" place on RH 7.x
> machines. There is not much that we can do about this -- we build
> the RPMs on 6.2 machines so that the binaries work on both 6.2 and
> 7.x machines (someday we won't care about about 6.2 machines
> anymore, but for the moment, we still do). The default location
> for
> man pages and doc files changed in RH 7.x
> (6.x:/usr/doc/lam-version,
> 7.x:/usr/share/lam-version, and 6.x:/usr/man, 7.x:/usr/share/man).
> By not overriding _mandir and _docdir in this .spec file, we're
> allowing for the possibility of rebuilding the source RPM on a 7.x
> machine and getting the doc files/man pages in the right location.
> Even more compelling, however, is the fact that RH 7.x machines
> will
> still find the man pages, even if they are in the "wrong" (i.e.,
> old) location -- the location that this 6.2-built RPM will place
> them in.
>
> * Mon Mar 17 2001 Brian William Barrett <bbarrett_at_[hidden]>
> - Borrowed SPEC file from Trond at RedHat. Converted to be able to
> make RPMs for all RPIs
> > _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/