On Sun, Aug 26, 2007 at 06:44:18PM +0200, Bernd Schubert wrote:
> I'm presently trying to add lustre support to open-mpi's romio using this
> patch http://ft.ornl.gov/projects/io/src/adio-lustre-mpich2-v02.patch.
>
> It basically applies, only a few C files have been renamed in open-mpi, but
> the autotools build system gives me headaches.
Boy tell me about it (says the guy who's job it is to work on it).
> Fine, adding a similar entry for lustre is easy, but now we need to define
> BUILD_XFS. So where does this come from?
> There is romio/romio/Makefile.in
I don't know where you got BUILD_XFS. In MPICH2, we don't use that
symbol anywhere.
> BUILD_UFS_FALSE = @BUILD_UFS_FALSE@
> BUILD_UFS_TRUE = @BUILD_UFS_TRUE@
> BUILD_XFS_FALSE = @BUILD_XFS_FALSE@
> BUILD_XFS_TRUE = @BUILD_XFS_TRUE@
> CC = @CC@
These look like OpenMPI additions. Perhaps they can chime in.
In MPICH2-land we build up FILE_SYS_DIRS in configure.in, and then do
a "for dir in $FILE_SYS_DIRS", with each directory contributing some
.o files to the io library. Hey, it works.
> Not a single line about filesystems, *grumble*.
Again speaking about MPICH2 land, all fileystem logic (such as it is)
lives in configure.in. it's regrettably scattered amongst some
architecture-specific sections.
> Now lets assume I eventually find the proper autotools files to
> patch lustre support in, how can I distribute that patch?
Distribute changes to the primary sources. i.e. fix configure.in or
Makefile.am and let autotools regenerate the necessary files.
ROMIO's got an AC_PREREQ in there, so things can't go horribly bad
(like in the old days when people would try to autoconf ROMIO's
ancient autoconf-1.7 era configure with autoconf-2.13 -- you heard me.
You think it's bad now? Why, back in '00 you were lucky if you ... ok
you get the idea. i'll quit with the old man bit.)
> In principle I would have to distribute a patch that also patches
> the auto-generated configure, automake.in, etc files.
As you understand already, that's untennable.
> Any plans for a sane build system?
I'm not proud of how ROMIO's configure.in has evolved over the years.
not proud at all. But I can gaurantee you that the alternatives are
worse. Don't speak to me of scons and cmake!
I hope the MPICH2 perspective on ROMIO's build system helps a bit, but
I think the integration with OpenMPI may have changed things somewhat.
Good luck
==rob
--
Rob Latham
Mathematics and Computer Science Division A215 0178 EA2D B059 8CDF
Argonne National Lab, IL USA B29D F333 664A 4280 315B
|