Summary: | dev-python/pytables needs to be recompiled for the exact sci-libs/hdf5 version. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | David Mohr <bugs> |
Component: | [OLD] Library | Assignee: | Gentoo Science Related Packages <sci> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kripton, python, rose, wtt6, xarthisius |
Priority: | Normal | Keywords: | NeedPatch |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 505296 | ||
Attachments: |
patch to hdf5 ebuild
patch to pytables ebuild |
Description
David Mohr
2013-01-17 00:01:44 UTC
% sudo emerge --info Password: Portage 2.2.0_alpha153 (default/linux/amd64/10.0, gcc-4.5.4, glibc-2.15-r3, 3.5.7-gentoo x86_64) ================================================================= System uname: Linux-3.5.7-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_980_@_3.33GHz-with-gentoo-2.2 Timestamp of tree: Wed, 16 Jan 2013 10:30:01 +0000 ld GNU ld (GNU Binutils) 2.22 ccache version 3.1.8 [disabled] app-shells/bash: 4.2_p37 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.8, 2.7.3-r3, 3.2.3 dev-util/ccache: 3.1.8 dev-util/cmake: 2.8.9 dev-util/pkgconfig: 0.27.1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.4, 4.6.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.6 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo kde java-overlay gentoo-haskell science oal Installed sets: @oal, @oalcore ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb /var/yp" CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/X11 /etc/ca-certificates.conf /etc/dbus-1 /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/hotplug /etc/init.d /etc/inputrc /etc/php /etc/revdep-rebuild /etc/sandbox.d /etc/services /etc/sound /etc/sysstat /etc/terminfo /etc/texmf /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev /etc/xdg /usr/share/config" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/nfs/oalportage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch preserve-libs sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.usu.edu/mirrors/gentoo/ http://mirror.mcs.anl.gob/pub/gentoo http://distfiles.gentoo.org ftp://mirror.iawnet.sandia.gov/pub/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j12" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/nfs/oalportage/layman/kde /nfs/oalportage/layman/java-overlay /nfs/oalportage/layman/haskell /nfs/oalportage/layman/science /nfs/oalportage" SYNC="rsync://tau.cs.unm.edu/gentoo-portage" USE="X aac acl acpi alsa amd64 arts bash-completion berkdb bzip2 cairo calendar cli consolekit cpudetection cracklib crypt ctype cups curl cvs cxx dbus dri dvi emacs encode exif expat ffmpeg fftw finger flac flatfile fltk fontforge fortran ftp fuse gd gdbm gif git glib gmp gnome gnutls go gpm graphics graphviz gs gstreamer gtk gzip hal hscolour iconv icu imagemagick imap imlib java jbig jpeg jpeg2k kde kde4 lame lapack latex lm_sensors log4j lzo md5sum mjpeg mmx mng modules motif mp3 mpeg mpi mudflap multilib mysql ncurses nis nls nptl nsplugin ogg openexr opengl openmp pam pcre pdf phonon plotutils png pnm policykit postgres postscript pppd python qt3support qt4 quicktime rar readline ruby samba server session simpleXML soap sockets spell sql sqlite sse sse2 ssl subversion svg tcl tcpd tga threads tiff tk tokenizer toolkit-scroll-bars truetype unfpack unicode usb vim-syntax vim-with-x vorbis wmf wxwindows x264 xcomposite xml xmlrps xpm xprint xsl xvid zip zlib zsh-completion" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nv vesa nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON Consider introducing slots in sci-libs/hdf5 such that dev-python/pytables gets recompiled each time the sci-libs/hdf5 slot changes, you can do this by depending on "sci-libs/hdf5:="; unless there is a better alternative available, as slotting might not be feasible if only a single package is affected. (In reply to comment #2) > Consider introducing slots in sci-libs/hdf5 such that dev-python/pytables > gets recompiled each time the sci-libs/hdf5 slot changes, you can do this by > depending on "sci-libs/hdf5:="; unless there is a better alternative > available, as slotting might not be feasible if only a single package is > affected. This affects almost every package using hdf5. I requested the same thing in bug 445268, so this might be considered a duplicate. I'd prefer a better solution to what got done in that bug, though. *** Bug 452672 has been marked as a duplicate of this bug. *** Generally speaking I think the message and the abort by default is strange: Either the ABI did change, and they should've changed SONAME, or there wasn't an ABI change and then compatability should be ensured. I found the following thread on their ML: http://hdf-forum.184993.n3.nabble.com/Results-of-backward-binary-compatibility-tests-for-libhdf5-td2774626.html So here we can see: - there was a case where the warning and abort was useful, - they attempt to maintain compatability In the end I'd vote for using subslots, since personally I'd rather rebuild all libraries that depend on hdf5 rather than silence that warning. http://upstream-tracker.org/versions/hdf5.html shows no api changes since 1.8.7 Created attachment 340252 [details, diff]
patch to hdf5 ebuild
First part of my proposed patch set. This one bumps hdf5 to EAPI5, adds a subslot, and removes the warning message. Patch for pytables ebuild coming up.
Created attachment 340254 [details, diff]
patch to pytables ebuild
Second part of my proposed patch set. This one bumps pytables to EAPI5 and adds a slot := dependency on hdf5.
Thanks for the patch! I vote in favor of this solution. + 28 Feb 2013; Kacper Kowalik <xarthisius@gentoo.org> -hdf5-1.8.8-r1.ebuild, + -hdf5-1.8.9-r2.ebuild, hdf5-1.8.10_p1.ebuild: + Drop old, add subslot thanks to courtesy of William Throwe <wtt6@cornell.edu>. + Fixes bug #452622 + 28 Feb 2013; Kacper Kowalik <xarthisius@gentoo.org> -pytables-2.3.1.ebuild, + pytables-2.4.0.ebuild: + Add subslot dependency on hdf5 wrt #452622 by David Mohr <bugs@da.mcbf.net>. + Thanks to William Throwe <wtt6@cornell.edu> for the patch. Drop old + 28 Feb 2013; Kacper Kowalik <xarthisius@gentoo.org> -h5py-2.1.0.ebuild, + -h5py-2.1.1-r1.ebuild, -h5py-2.1.1.ebuild, h5py-2.1.2.ebuild: + Add subslot dependency on hdf5 wrt #452622 by David Mohr <bugs@da.mcbf.net>. + Thanks to William Throwe <wtt6@cornell.edu> for the patch. Drop old |