diff options
author | Steve Arnold <nerdboy@gentoo.org> | 2008-06-04 06:12:36 +0000 |
---|---|---|
committer | Steve Arnold <nerdboy@gentoo.org> | 2008-06-04 06:12:36 +0000 |
commit | 7ec7c336e95cc0ac5520891320cf0cd399d174bc (patch) | |
tree | de1e38173af713a9b12839d456a2e8af30e282f6 /sci-libs | |
parent | Version bump (diff) | |
download | gentoo-2-7ec7c336e95cc0ac5520891320cf0cd399d174bc.tar.gz gentoo-2-7ec7c336e95cc0ac5520891320cf0cd399d174bc.tar.bz2 gentoo-2-7ec7c336e95cc0ac5520891320cf0cd399d174bc.zip |
Fixed some build and test script issues, and updated the test function
(Portage version: 2.1.5_rc6)
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/hdf5/ChangeLog | 9 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.6.ebuild | 98 |
2 files changed, 74 insertions, 33 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog index 9be969a2dd75..26a259711a09 100644 --- a/sci-libs/hdf5/ChangeLog +++ b/sci-libs/hdf5/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sci-libs/hdf5 # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.24 2008/04/15 14:06:33 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.25 2008/06/04 06:12:36 nerdboy Exp $ + + 04 Jun 2008; Steve Arnold <nerdboy@gentoo.org> hdf5-1.6.6.ebuild: + Fixed some build and test script issues, and updated the test function so + the MPI tests work on a single CPU box. Marking ~hppa appears premature, + as it really needs some szip and mpich2 keywording and/or use-masking luv + first, then add ~hppa back in. Not sure what it has to do with bug + #216855 tho... 15 Apr 2008; Markus Dittrich <markusle@gentoo.org> hdf5-1.6.6.ebuild: Fixed messed up symlinks for libh5test.so (see bug #217720). diff --git a/sci-libs/hdf5/hdf5-1.6.6.ebuild b/sci-libs/hdf5/hdf5-1.6.6.ebuild index 14d775f21863..65f75db12cd7 100644 --- a/sci-libs/hdf5/hdf5-1.6.6.ebuild +++ b/sci-libs/hdf5/hdf5-1.6.6.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.6.ebuild,v 1.6 2008/04/15 14:06:33 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.6.ebuild,v 1.7 2008/06/04 06:12:36 nerdboy Exp $ inherit eutils fixheadtails flag-o-matic fortran toolchain-funcs @@ -10,8 +10,9 @@ SRC_URI="ftp://ftp.hdfgroup.org/HDF5/current/src/${P}.tar.gz" LICENSE="NCSA-HDF" SLOT="0" -KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~sparc" -# need to update szip to get alpha, ia64, etc back in here, +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~sparc" +# need to update szip to get alpha, ia64, etc back in here, +# and hppa needs both szip and mpich2 (mask mpe-sdk for the latter) IUSE="cxx debug fortran mpi ssl szip threads tools zlib " DEPEND="!sparc? ( mpi? ( >=sys-cluster/mpich2-1.0.6 @@ -29,13 +30,23 @@ RDEPEND="${DEPEND} dev-lang/perl" pkg_setup() { + if has test ${FEATURES} && use mpi ; then + elog "" + elog "Parallel tests will launch 3 mpd processes on this box," + elog "so it may take some time on a slow machine (only a few" + elog "minutes on a reasonably fast machine). Hit Ctl-C now" + elog "and emerge with FEATURES=-test if you'd rather not..." + elog "" + epause 9 + fi + # The above gcc dep is a hack to insure at least one Fortran 90 # compiler is installed if the user enables fortran support. Feel # free to improve it... if use fortran ; then fortran_pkg_setup case "${FORTRANC}" in - gfortran|ifc|ifort|f95) + gfortran|ifc|ifort|f95|pgf90) export F9X="${FORTRANC}" ;; g77|f77|f2c) @@ -58,10 +69,15 @@ src_unpack() { if use mpi; then # this is required for mpich2, and should be safe otherwise - epatch "${FILESDIR}/${PN}-mpich2.patch" || die "mpich2 patch failed" + epatch "${FILESDIR}/${PN}-mpich2.patch" fi + # fix test script stuff ht_fix_file "${S}"/bin/release "${S}"/tools/h5dump/testh5dump.sh.in + sed -i -e "s:+4l:+4:g" tools/h5dump/testh5dump.sh.in || die "oops" + + # fix sort key + sed -i -e "s:sort +2:sort -k 2:g" bin/ltmain.sh || die "sed failed" } @@ -96,27 +112,29 @@ src_compile() { # ebuild/emerge. As a work around, we save the ARCH variable as # EBUILD_ARCH and restore it when we are done. EBUILD_ARCH="${ARCH}" + unset ARCH if use mpi ; then - export NPROCS=1 - export CC="mpicc" - if built_with_use sys-cluster/mpich2 fortran ; then - export F9X="mpif90" + EBUILD_CC="${CC}" + # set NPROCS explicitly if needed + export NPROCS=${NPROCS:=2} + export CC="$(which mpicc)" + if [[ ${FORTRANC} == gfortran ]] ; then + export F9X="$(which mpif90)" fi if built_with_use sys-cluster/mpich2 pvfs2 ; then - export LIBS="$(sh pvfs2-config --libs) -lmpich" + export LIBS="${LIBS} $(sh pvfs2-config --libs) -lmpich" else - export LIBS="-lmpich" + export LIBS="${LIBS} -lmpich" fi -# if built_with_use sys-cluster/mpich2 mpe ; then -# myconf="${myconf} --with-mpe=/usr/include,/usr/$(get_libdir)" -# fi append-ldflags "${LIBS}" fi econf --prefix=/usr \ $(use_enable zlib) \ + $(use_enable fortran) \ + $(use_enable mpi parallel) \ $(use_with ssl) \ --enable-linux-lfs \ --sysconfdir=/etc \ @@ -131,19 +149,30 @@ src_compile() { # emake has occasional segfaults make || die "make failed" + use mpi && CC="${EBUILD_CC}" } src_test() { - # make test is not reliable, and the mpi tests have a weird failure + # all tests pass; a few are skipped, and MPI skips parts if it sees + # only one process on the build host. export HDF5_Make_Ignore=yes if use mpi ; then + EBUILD_CC="${CC}" export HDF5_PARAPREFIX="${S}/testpar" - export CC="/usr/bin/mpicc" + export CC="$(which mpicc)" + export MPI_UNIVERSE="localhost 4" + export NPROCS=3 install -g portage -o portage -m 0600 "${FILESDIR}"/mpd.conf "${HOME}"/.mpd.conf - /usr/bin/mpd --daemon + mpd --daemon --listenport=4268 + mpd --daemon -h localhost -p 4268 -n + mpd --daemon -h localhost -p 4268 -n + elog "NPROCS = ${NPROCS}" + elog "mpdtrace output:" + mpdtrace fi make check || die "make test failed" - use mpi && /usr/bin/mpdallexit + use mpi && mpdallexit + use mpi && CC="${EBUILD_CC}" export HDF5_Make_Ignore=no } @@ -182,7 +211,7 @@ src_install() { use mpi && doexe testpar/testphdf5 testpar/t_mpi fi - dodoc README.txt MANIFEST + dodoc README.txt dohtml doc/html/* if use mpi ; then @@ -196,21 +225,26 @@ src_install() { } pkg_postinst() { - elog - elog "There are currently 2 non-fatal test errors in the mpi tests," - elog "however, all C++, Fortran, and other tests pass successfully." - elog "The only expected failure is currently in the PHDF5 section" - elog "under MPI functionality tests. The second section using the" - elog "MPIPOSIX driver should work, along with all other tests." - elog - elog "Suggested USE flags for fortran and mpi support using gfortran:" - elog "USE=\"fortran mpi -cxx\"" - elog - ewarn "Note 1: currently testing pvfs2 support (with mpi). Please" + echo + elog "Use the fortran flag for gfortran or ifc, and add the f90" + elog "flag to override the fortran flag if you have a different" + elog "f90 compiler installed (gfortran requires gcc 4.x). Note that" + elog "gfortran only works as mpif90 and is not detected properly by" + elog "configure without the mpi wrapper." + echo + elog "There should not be any more test errors in the mpi tests," + elog "and all C++, Fortran, and other tests pass successfully." + elog "Suggested USE flags for fortran and mpi support using" + elog "gfortran: USE=\"fortran mpi -cxx\"" + echo + ewarn "Note 1: Needs more SMP and cluster testing, as well as" + ewarn "more testing on a virtual (parallel) filesystem." + echo + ewarn "Note 2: currently testing pvfs2 support (with mpi). Please" ewarn "report any problems in the usual way." elog - ewarn "Note 2: you'll need rawio support enabled in your kernel or" - ewarn "certain asynchronous IO operations will fail. Either enable" + ewarn "Note 3: you'll need rawio support enabled in your kernel or" + ewarn "certain asynchronous IO operations may fail. Either enable" ewarn "the RAW driver (under Character Devices) or patch your kernel" ewarn "with the new PAIO drivers and use libposix-aio. See both:" ewarn "http://sourceforge.net/projects/paiol and" |