Todd,
The latest openmpi packaging in fink now contains the
missing symlinks so that the renamed mpi compiler wrappers
can be invoked directly. Yes, installing openmpi creates
symlinks for the original names of the mpi compiler wrappers.
Jack
On Tue, Aug 18, 2009 at 09:08:55PM -0500, Todd Krause wrote:
> Howdy Jack,
>
> Ah, okay; sorry, my bad. You're right: now when I execute make, but with
> "mpicc" in the makefile rather than "om-mpicc", the program compiles. And I
> get
>
> 08:53 PM btpro:Gadget2> which mpicc
> /sw/bin/mpicc
>
> Before this wasn't the case: typing "which mpicc" returned
> "/usr/bin/mpicc". Was this change brought about by installing
> "openmpi-dev"? (I obviously don't know what that last package does; but
> that was the only difference between this last time and the time earlier
> today that I installed "openmpi".)
>
> ... well, now that I got the program to run by typing
>
> > om-mpirun -np 2 ./Gadget2 paramfile
>
> I think I'm more confused. Perhaps my earlier error was only at runtime,
> trying to use "mpirun" (which had worked previously) rather than
> "om-mpirun".
>
> So at this point, in principle, I could use "mpicc" indifferently, then,
> say, type either "lam-mpirun" or "om-mpirun" later on to run a given
> program?
>
> Thanks,
> Todd
>
> On Tue, Aug 18, 2009 at 7:28 PM, Jack Howarth <[email protected]>wrote:
>
> > On Tue, Aug 18, 2009 at 06:24:46PM -0500, Todd Krause wrote:
> > > Hi Jack,
> > >
> > > Thanks for the quick reply. I went through the procedure you mentioned
> > > (adding a "fink selfupdate" between the two steps to make sure fink
> > didn't
> > > try to install openmpi *again* --- I missed that the first time, and fink
> > > aborted). Unfortunately I still have the same error when I try to use
> > make:
> > >
> > > 06:09 PM btpro:Gadget2> make -f
> > > ../bobtodd_tests/milos_test01/makefiles/makefile.milos01
> > >
> > > om-mpicc -O3 -Wall -DUNEQUALSOFTENINGS -DPEANOHILBERT -DWALLCLOCK
> > > -DSYNCHRONIZATION -DISOTHERM_EQS -I/sw/include -I/sw/include
> > -I/sw/include
> > > -c -o main.o main.c
> > > Cannot open configuration file
> > > /sw/share/doc/openmpi/openmpi/om-mpicc-wrapper-data.txt
> > > Error parsing data file om-mpicc: Not found
> > > make: *** [main.o] Error 243
> > > 06:10 PM btpro:Gadget2> which om-mpicc
> > > /sw/bin/om-mpicc
> > >
> > > To give you an idea of what the makefile contains, the relevant section
> > is
> > >
> > > ifeq ($(SYSTYPE),"bobtoddpro")
> > > CC = om-mpicc
> > > OPTIMIZE = -O3 -Wall
> > > GSL_INCL = -I/sw/include
> > > GSL_LIBS = -L/sw/lib
> > > FFTW_INCL= -I/sw/include
> > > FFTW_LIBS= -L/sw/lib
> > > #MPICHLIB = -L/usr/local/mpich2/mpich2-1.0.5p4/install/lib -lmpich
> > > #MPICHINCL = -I/usr/local/mpich2/mpich2-1.0.5p4/install/include
> > > HDF5INCL = -I/sw/include
> > > HDF5LIB = -L/sw/lib -lhdf5 -lz -Wl#,"-R /sw/lib"
> > > endif
> > >
> >
> > Ah, your problem is that you are attempting to execute om-mpicc directly.
> > The openmpi compiler is looking for a wrapper file based on its filename.
> > Remember that the om- prefixed compilers were never intended to be used
> > directly but through the symlinks installed by openmpi-dev. You can use
> > the utilities like om-mpirun directly though without installing
> > openmpi-dev.
> > I would rather not add in symlinks for compiler wrappers under the om-
> > names since I really don't want to support that usage. Most folks will
> > likely use either lammpi or openmpi so just install the -dev of one
> > and leave it in place.
> > Jack
> >
> > > (this worked fine before, when I just had mpicc... it picked up openmpi's
> > > commands fine; but I understand you renamed them to coexist with
> > lam-mpi...
> > > is there really a reason to keep lam-mpi around, since they stopped
> > > development and moved to openmpi? Just asking...). The problem seems to
> > be
> > > that the system is looking for a file
> > > "/sw/share/doc/openmpi/openmpi/xxxxxx-wrapper-data.txt", where "xxxxxx"
> > > should be the same as what I've set CC to; but it finds nothing with
> > > "om-mpicc-...". Here's the contents of that directory on my system:
> > >
> > > 06:10 PM btpro:Gadget2> ls /sw/share/doc/openmpi/openmpi/
> > > amca-param-sets/ help-orte-iof.txt
> > > help-coll-sync.txt help-orte-odls-base.txt
> > > help-dash-host.txt help-orte-ps.txt
> > > help-ess-base.txt help-orte-rmaps-base.txt
> > > help-hostfile.txt help-orte-rmaps-rr.txt
> > > help-mca-base.txt help-orte-rmaps-seq.txt
> > > help-mca-bml-r2.txt help-orte-runtime.txt
> > > help-mca-coll-base.txt help-orte-snapc-base.txt
> > > help-mca-param.txt help-orted.txt
> > > help-mpi-api.txt help-orterun.txt
> > > help-mpi-btl-base.txt help-plm-base.txt
> > > help-mpi-errors.txt help-plm-rsh.txt
> > > help-mpi-runtime.txt help-plm-slurm.txt
> > > help-mpool-base.txt help-ras-base.txt
> > > help-odls-default.txt help-ras-slurm.txt
> > > help-ompi-crcp-base.txt help-rmaps_rank_file.txt
> > > help-ompi-dpm-base.txt mpic++-vt-wrapper-data.txt
> > > help-ompi-dpm-orte.txt mpic++-wrapper-data.txt
> > > help-ompi-pubsub-orte.txt mpicc-vt-wrapper-data.txt
> > > help-ompi-server.txt mpicc-wrapper-data.txt
> > > help-ompi_info.txt mpicxx-vt-wrapper-data.txt@
> > > help-opal-carto-file.txt mpicxx-wrapper-data.txt@
> > > help-opal-crs-base.txt mpif77-vt-wrapper-data.txt
> > > help-opal-crs-none.txt mpif77-wrapper-data.txt
> > > help-opal-runtime.txt mpif90-vt-wrapper-data.txt
> > > help-opal-util.txt mpif90-wrapper-data.txt
> > > help-opal-wrapper.txt opalc++-wrapper-data.txt
> > > help-orte-clean.txt opalcc-wrapper-data.txt
> > > help-orte-filem-base.txt ortec++-wrapper-data.txt
> > > help-orte-filem-rsh.txt ortecc-wrapper-data.txt
> > > 06:12 PM btpro:Gadget2>
> > >
> > > >From my current understanding, it seems that these filenames would be
> > fine
> > > if "om-mpicc" were still named "mpicc"; but since the change, the
> > filenames
> > > don't match what the wrapper's expecting.
> > >
> > > So does that mean I just have to go into that directory and change all
> > the
> > > filenames by hand? As a general policy, I try not to change things in
> > /sw
> > > by hand if I don't have to, for fear of messing things up....
> > >
> > > Thanks,
> > > Todd
> > >
> > > On Tue, Aug 18, 2009 at 4:53 PM, Jack Howarth <[email protected]
> > >wrote:
> > >
> > > > Doh. I misread your message. This is a glitch from earlier attempts
> > > > at supporting openmpi on case-sensitive filesystems. There were some
> > > > problems with the logic which caused the previous openmpi package to
> > > > nuke the files in the newly installed one. These issues are all
> > > > resolved in the current openmpi packaging and all you need to do is
> > > > execute...
> > > >
> > > > fink reinstall openmpi
> > > > fink reinstall openmpi-dev
> > > >
> > > > to restore the missing files.
> > > > Jack
> > > > ps I didn't realize at the time that the PostRmScript of the previously
> > > > installed package would be executing after the installation of the
> > > > new upgrade package. I assumed that it would be executing only after
> > > > the original packages files were removed but not before the new
> > packages
> > > > files were installed. Or is that a bug in fink?
> > > >
> > > > On Tue, Aug 18, 2009 at 02:58:31PM -0400, Alexander Hansen wrote:
> > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > Hash: SHA1
> > > > >
> > > > > Todd Krause wrote:
> > > > > > Hi,
> > > > > >
> > > > > > I recently installed the fftw-mpi package, which in turn required
> > > > > > installation of the openmpi package (fine in my book). After
> > finally
> > > > > > realizing that fink named the new openmpi commands in /sw/bin to
> > have
> > > > > > "om-" prefixes, I ran make to compile the code Gadget-2, and
> > received
> > > > > > the following error:
> > > > > >
> > > > > > 01:03 PM btpro:Gadget2> make -f
> > > > > > ../bobtodd_tests/milos_test01/makefiles/makefile.milos01
> > > > > > om-mpicc -O3 -Wall -DUNEQUALSOFTENINGS -DPEANOHILBERT -DWALLCLOCK
> > > > > > -DSYNCHRONIZATION -DISOTHERM_EQS -I/sw/include -I/sw/include
> > > > > > -I/sw/include -c -o main.o main.c
> > > > > > Cannot open configuration file
> > > > > > /sw/share/doc/openmpi/openmpi/om-mpicc-wrapper-data.txt
> > > > > > Error parsing data file om-mpicc: Not found
> > > > > > make: *** [main.o] Error 243
> > > > > > 01:03 PM btpro:Gadget2> which om-mpicc
> > > > > > /sw/bin/om-mpicc
> > > > > >
> > > > > > Interestingly, the last time I made Gadget-2, I didn't need to use
> > > > > > "om-mpicc"; simply "mpicc" seemed to find my /sw/bin/mpicc (which
> > was
> > > > > > openmpi) without problems. Since then, unfortunately, I had to
> > remove
> > > > > > fink and start from scratch, and this time I realized everything's
> > > > > > called "om-xxxxx". I found a similar error in an earlier exchange
> > on
> > > > > > the fink listserve:
> > > > > >
> > > > > >
> > > >
> > http://www.opensubscriber.com/message/[email protected]/7238283.html
> > > > > >
> > > > > > the relevant part of which is the following
> > > > > >
> > > > > > -------------- begin quoted text ---------------
> > > > > > The first problem was a file which the executable needed, that had
> > an
> > > > > > unexpected name:
> > > > > >
> > > > > > ----
> > > > > >
> > > > > > nell:~/tmp/tst barnes$ om-mpif77
> > > > > > Cannot open configuration file
> > > > > > /sw/share/doc/openmpi/openmpi/om-mpif77-wrapper-data.txt
> > > > > > Error parsing data file om-mpif77: Not found
> > > > > >
> > > > > > nell:~/tmp/tst barnes$ sudo cp
> > > > > > /sw/share/doc/openmpi/openmpi/mpif77-wrapper-data.txt
> > > > > > /sw/share/doc/openmpi/openmpi/om-mpif77-wrapper-data.txt
> > > > > >
> > > > > > nell:~/tmp/tst barnes$ ls -l /sw/share/doc/openmpi/openmpi/*77*
> > > > > > -rw-r--r-- 1 root admin 668 Jul 26 18:42
> > > > > > /sw/share/doc/openmpi/openmpi/mpif77-wrapper-data.txt
> > > > > > -rw-r--r-- 1 root admin 668 Jul 26 18:49
> > > > > > /sw/share/doc/openmpi/openmpi/om-mpif77-wrapper-data.txt
> > > > > >
> > > > > > nell:~/tmp/tst barnes$ om-mpif77
> > > > > > gfortran: no input files
> > > > > >
> > > > > > -----
> > > > > > There were many other similar .txt files which probably also need
> > > > > > renaming.
> > > > > > So that's fixed with a kludge, but now it's having trouble finding
> > > > > > libraries
> > > > > > which do exist (perhaps the same .so vs .dynlib problem?):
> > > > > >
> > > > > > /usr/bin/ld: can't locate file for: -lmpi_f77
> > > > > > collect2: ld returned 1 exit status
> > > > > > make: *** [table.x] Error 1
> > > > > >
> > > > > > -------------- end quoted text ----------------
> > > > > >
> > > > > > So my question is this: I can find the relevant data files, and I
> > could
> > > > > > rename them all to have the "om-" prefix, but is there a better fix
> > so
> > > > > > that I don't have to go through all that and muck around in /sw?
> > > > > > Moreover, it seems like I'll have to do that for each wrapper I use
> > > > > > (om-mpic++ next, then om-mpif77 if I have to use Fortran, etc.).
> > And
> > > > in
> > > > > > the end, even that will only get me to the library error, according
> > to
> > > > > > the above email. Is there a resolution to this problem that I
> > failed
> > > > to
> > > > > > find?
> > > > > >
> > > > > > Thanks very much,
> > > > > > Todd
> > > > > >
> > > > > >
> > > > >
> > > > > I'll cc the maintainer for the first part.
> > > > >
> > > > > As for the the library linker issue above, it's hard to say without
> > > > > seeing what is being fed to ld. However, it may be as simple as not
> > > > > having '-L/sw/lib/openmpi' before '-lmpi_f77', since libmpi_f77.dylib
> > is
> > > > > not in ld's default search path. How to fix this depends on what the
> > > > > package you're building supports.
> > > > > - --
> > > > > Alexander Hansen
> > > > > Fink User Liaison
> > > > > -----BEGIN PGP SIGNATURE-----
> > > > > Version: GnuPG v1.4.9 (Darwin)
> > > > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> > > > >
> > > > > iEYEARECAAYFAkqK+dcACgkQB8UpO3rKjQ/5/ACfZlj4yC6vQ3koohwp+a8/sjdF
> > > > > YBYAnRwM8jlk1vlNUu1ouDk51Di8LIsQ
> > > > > =8Oat
> > > > > -----END PGP SIGNATURE-----
> > > >
> >
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-beginners mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.beginners