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 | 53c308158d056cccd31271b45aed70dc861295a4 (patch) | |
tree | ca001a5037e60dc8e32edcbd0dbf02d9cf99e310 /sci-libs | |
parent | Version bump (diff) | |
download | historical-53c308158d056cccd31271b45aed70dc861295a4.tar.gz historical-53c308158d056cccd31271b45aed70dc861295a4.tar.bz2 historical-53c308158d056cccd31271b45aed70dc861295a4.zip |
Fixed some build and test script issues, and updated the test function
Package-Manager: portage-2.1.5_rc6
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/hdf5/ChangeLog | 9 | ||||
-rw-r--r-- | sci-libs/hdf5/Manifest | 4 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.6.ebuild | 98 |
3 files changed, 76 insertions, 35 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/Manifest b/sci-libs/hdf5/Manifest index 4e650d6698ae..46135e5cdf29 100644 --- a/sci-libs/hdf5/Manifest +++ b/sci-libs/hdf5/Manifest @@ -8,6 +8,6 @@ EBUILD hdf5-1.6.2.ebuild 1837 RMD160 2c7e527ade607fd3d98222787db400bc86c28d37 SH EBUILD hdf5-1.6.4.ebuild 2098 RMD160 348a6f05d7677e372688ca5ecdcdea36c90df7c9 SHA1 aaeed445389bad0630f518e0778f900af9614fb1 SHA256 469176113ea60bc95a7efa63ca24e6d53baeab71660a44eaa23088fedfd911af EBUILD hdf5-1.6.5-r1.ebuild 6652 RMD160 49224d6e28be248bf319e7a16dd104330a6d0b27 SHA1 0e98dca60807d97da5c7e9e4446a79f9e200f58d SHA256 7686bbde9f46ff4376857facee402649ed07c73a8e117f9ce81ba575fafbff46 EBUILD hdf5-1.6.5.ebuild 2718 RMD160 34c64e74f0a39be11afe0615d6e012e4bac06527 SHA1 56b099effc664f6d31d84c64163bb86d0e049f59 SHA256 7709f6054d0ecbda3f246315d850b9d7d8d455b7006652591e19da0e073176de -EBUILD hdf5-1.6.6.ebuild 6697 RMD160 117ab98f2517367a5ab4ac6ca4fa6424f0641bb2 SHA1 5702558cece7fe2c15c66505fc2240232fd9286e SHA256 39b6c013c6e156723c63edf4577dde711ff4c12ed18b1f8c86b6bad6711509ce -MISC ChangeLog 6662 RMD160 c955ac8e21335f31b7a3c90d39a5acf7ce103cc2 SHA1 c414283004d0e4fcca0657f9524a1f28da6f2e09 SHA256 3dcd3b18ceb4c864b48153d3aeb0a7171283a43344ef19df5ee7290098c7ef98 +EBUILD hdf5-1.6.6.ebuild 7860 RMD160 e96a09d9aeaa2de6cc35e3f46a081b35e9d10dbe SHA1 81538f154f78d6de31fd1ed2515d0baf1da71706 SHA256 67f07d875e479d4d56df78c990d9173b6d6eb96a52719516d0641ce43e86ab3b +MISC ChangeLog 7047 RMD160 ff25a4a77c20eee6a8aa46097192ffef3b4de79e SHA1 d3ca5d1c4de59cad021726c143c7967c295b94c4 SHA256 3f8f36b2d382b2d721ece29ac3a1fe8732f9c5c8660e26dfeb76ef3920f790c1 MISC metadata.xml 156 RMD160 dc078172bfebcb25d69bdf8731714f9cce9d3e36 SHA1 da2b240a255820145b7c83a5c48e45b96b7e9ee6 SHA256 5d22100902db7507a5b5493dd4a66cdb08025faf80a2c0b75e6392315c47f900 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" |