Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 192810 Details for
Bug 271630
[PATCH] sci-libs/hdf5-1.6.7 fails to build with gcc-4.4
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
use this updated ebuild along with patch
hdf5-1.6.9-r101.ebuild (text/plain), 7.43 KB, created by
hirakendu
on 2009-05-29 08:05:25 UTC
(
hide
)
Description:
use this updated ebuild along with patch
Filename:
MIME Type:
Creator:
hirakendu
Created:
2009-05-29 08:05:25 UTC
Size:
7.43 KB
patch
obsolete
># Copyright 1999-2009 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.7.ebuild,v 1.3 2009/02/04 13:46:26 patrick Exp $ > >inherit eutils fixheadtails flag-o-matic fortran toolchain-funcs > >DESCRIPTION="General purpose library and file format for storing scientific data" >HOMEPAGE="http://hdf.ncsa.uiuc.edu/HDF5/" >SRC_URI="ftp://ftp.hdfgroup.org/HDF5/current16/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, >IUSE="cxx debug fortran mpi ssl szip threads tools zlib " > >DEPEND="mpi? ( >=sys-cluster/mpich2-1.0.6 > net-fs/nfs-utils ) > ssl? ( dev-libs/openssl ) > szip? ( sci-libs/szip ) > zlib? ( sys-libs/zlib ) > threads? ( virtual/libc ) > sys-apps/coreutils > sys-process/time" > >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|pgf90) > export F9X="${FORTRANC}" > ;; > g77|f77|f2c) > export F9X="" > ;; > esac > fi > > # if anyone knows of a better way to do this... > if use mpi && ! built_with_use sys-cluster/mpich2 pvfs2 ; then > ewarn "Your MPI library needs parallel IO support for HDF5. You" > ewarn "must re-emerge mpich2 with USE=pvfs2." > die "requires parallel IO support" > fi >} > >src_unpack() { > unpack ${A} > cd "${S}" > > epatch ${FILESDIR}/${P}-gcc44.patch > > if use mpi; then > # this is required for mpich2, and should be safe otherwise > 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" > > # change the SHLIB default for C > sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" tools/misc/h5cc.in || die "sed h5cc failed" >} > >src_compile() { > local myconf > > # a better way to do this would also be nice, but i can't think of one > if use cxx && ! use mpi ; then > myconf="${myconf} --enable-cxx" > elif use cxx && use mpi ; then > ewarn "C++ support is not compatible with the mpi interface." > die "Please disable either cxx or mpi." > else > myconf="${myconf} --disable-cxx" > fi > > if use fortran && use mpi ; then > ewarn "Parallel HDF5 requires Fortran 90 support in your mpi library..." > myconf="${myconf} --enable-fortran --enable-parallel" > fi > > use threads && myconf="${myconf} --with-pthread --enable-threadsafe" > > if use debug ; then > myconf="${myconf} --enable-debug=all" > else > myconf="${myconf} --enable-production" > fi > > # NOTE: the hdf5 configure script has its own interpretation of > # the ARCH environment variable which conflicts with that of > # 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 > EBUILD_CC="${CC}" > # set NPROCS explicitly if needed > export NPROCS=${NPROCS:=2} > export CC="$(type -p mpicc)" > if [[ ${FORTRANC} == gfortran ]] ; then > export F9X="$(type -p mpif90)" > fi > if built_with_use sys-cluster/mpich2 pvfs2 ; then > export LIBS="${LIBS} $(sh pvfs2-config --libs) -lmpich" > else > export LIBS="${LIBS} -lmpich" > 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 \ > --infodir=/usr/share/info \ > --libdir=/usr/$(get_libdir) \ > --mandir=/usr/share/man \ > --enable-shared --with-pic \ > ${myconf} || die "configure failed" > > # restore the ARCH environment variable > ARCH="${EBUILD_ARCH}" > > # emake has occasional segfaults > make || die "make failed" > use mpi && CC="${EBUILD_CC}" >} > >src_test() { > # 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="$(type -p mpicc)" > export MPI_UNIVERSE="localhost 4" > export NPROCS=3 > install -g portage -o portage -m 0600 "${FILESDIR}"/mpd.conf "${HOME}"/.mpd.conf > 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 && mpdallexit > use mpi && CC="${EBUILD_CC}" > export HDF5_Make_Ignore=no >} > >src_install() { > # emake install and einstall cause sandbox violations here > make \ > prefix="${D}"usr \ > mandir="${D}"usr/share/man \ > docdir="${D}"usr/share/doc/"${PF}" \ > libdir="${D}"usr/$(get_libdir) \ > infodir="${D}usr"/share/info \ > install || die "make install failed" > > if use tools ; then > dolib.a "${S}"/tools/lib/.libs/libh5tools.a \ > "${S}"/test/.libs/libh5test.a || die "dolib.a failed" > insinto /usr/$(get_libdir) > doins "${S}"/tools/lib/libh5tools.la \ > "${S}"/test/libh5test.la || die "doins failed" > dolib.so "${S}"/test/.libs/libh5test.so.0.0.0 \ > "${S}"/test/.libs/libh5test.so.0 \ > "${S}"/test/.libs/libh5test.so \ > || die "dolib.so failed" > > exeinto /usr/bin > newexe "${S}"/bin/iostats iostats.pl || die "newexe failed" > > exeinto /usr/share/"${PN}/test-tools" > cd "${S}"/test > doexe big bittests cache cmpd_dset dangle dsets dtypes enum \ > err_vers extend external file_handle fillval flush1 flush2 \ > getname gheap hyperslab istore lheap links mount mtime ntypes \ > ohdr reserved set_extent stab testhdf5 ttsafe unlink > cd "${S}" > use mpi && doexe testpar/testphdf5 testpar/t_mpi > fi > > dodoc README.txt > dohtml doc/html/* >} > >pkg_postinst() { > 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 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" > ewarn "http://www.bullopensource.org/posix for more info." > elog >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 271630
: 192810 |
192811
|
192812