Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 444254 - dev-lang/ocaml-4.00.1 does not install ocaml-rebuild portage set (properly?)
Summary: dev-lang/ocaml-4.00.1 does not install ocaml-rebuild portage set (properly?)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Team for the ML programming language family
URL:
Whiteboard:
Keywords:
: 448280 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-11-22 04:45 UTC by Chris Woods
Modified: 2013-02-07 20:38 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Woods 2012-11-22 04:45:57 UTC
dev-lang/ocaml-4.00.1 does not install ocaml-rebuild portage set as expected.

Alternate suggestion of 'emerge -1 /usr/$(get_libdir)/ocaml' appears to be a suitable workaround.

A dependent package (kde-base/kalzium) attempted to build against ocaml and complained about an old version of ocaml. Some investigation referenced an ocaml-rebuild.sh script which has apparently been superceded by ocaml-rebuild portage set. However, this is not installed by the ocaml-4.00.1 ebuild.

From the ebuild:

    # Install ocaml-rebuild portage set
    insinto /usr/share/portage/config/sets
    doins "${FILESDIR}/ocaml.conf" || die

pkg_postinst() {
    echo
    ewarn "OCaml is not binary compatible from version to version, so you"
    ewarn "need to rebuild all packages depending on it, that are actually"
    ewarn "installed on your system. To do so, you can run:"
    ewarn "emerge @ocaml-rebuild"
    ewarn "Or, (almost) equivalently: emerge -1 /usr/$(get_libdir)/ocaml"
    echo
}

Attempt to emerge the set:

# emerge @ocaml-rebuild
emerge: There are no sets to satisfy 'ocaml-rebuild'. The following sets exist:

    live-rebuild
    module-rebuild
    preserved-rebuild
    selected
    system
    world
    x11-module-rebuild
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2012-11-22 13:06:59 UTC
Please post your `emerge --info' output in a comment.
Comment 2 Chris Woods 2012-11-22 14:18:54 UTC
# emerge --info
Portage 2.1.11.31 (default/linux/amd64/10.0, gcc-4.6.3, glibc-2.16.0, 3.6.6-gentoo-bitspace-custom x86_64)
=================================================================
System uname: Linux-3.6.6-gentoo-bitspace-custom-x86_64-AMD_FX-tm-6100_Six-Core_Processor-with-gentoo-2.2
Timestamp of tree: Thu, 22 Nov 2012 01:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p39
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.10.1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.5
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
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 /usr/share/polkit-1/actions /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo ftp://ftp.gtlib.gatech.edu/pub/gentoo http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
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="/usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl alsa amd64 avahi bash-completion berkdb bluetooth bzip2 cairo cdda cddb cdparanoia cdr cjk cli consolekit cracklib crypt cscope cups curl cxx dbi dbus dga directfb djvu doc dri dts dv dvb dvd eds emacs encode examples exif fam fbcon ffmpeg flac fontconfig fortran freetds ftp gd gdbm geoip ggi gif gnome gnome-keyring gnuplot gphoto2 gpm gps graphviz gsm gstreamer gtk guile hscolour iconv icu idn imlib ios ipv6 jack java jbig jingle jpeg jpeg2k kde kontact ladspa lame lapack lash latex lcms ldap libass libnl libnotify libsamplerate lm_sensors lua lzma lzo mad matroska mms mmx mmxext mng modplug modules mono mozilla mp3 mpeg mplayer msn mtp mudflap multilib musepack musicbrainz nas ncurses networkmanager nls nptl nsplugin nss oci8 odbc offensive ogg openal openexr opengl openmp oscar oss pam pcre pdf perl plasma plotutils png policykit portaudio postgres postscript pppd pulseaudio python qt4 quicktime raw rdesktop readline rss ruby samba sasl scanner sdl semantic-desktop session slang slp sndfile soap sound source speex sqlite sse sse2 ssl startup-notification subversion svg symlink syslog taglib tcl tcpd theora threads tidy tiff tk truetype udev unicode upnp usb v4l vcd vim-syntax vnc vorbis wavpack webkit wifi wmf x264 xcb xemacs xface xft xine xinetd xml xmp xosd xpm xscreensaver xv xvid yahoo zeroconf 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" CURL_SSL="nss" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver pdfimport scripting-beanshell scripting-javascript wiki-publisher presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon" 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, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 3 Alexis Ballier gentoo-dev 2012-11-22 14:40:37 UTC
weird, portage team, can you please comment where it should be installed ? works fine here with portage 2.2.0_alpha142
Comment 4 Alexis Ballier gentoo-dev 2012-11-22 14:41:54 UTC
(In reply to comment #2)
> Repositories: gentoo x-portage

maybe this is the culprit ?
Comment 5 Zac Medico gentoo-dev 2012-11-22 14:47:20 UTC
Portage's extended set configuration (/usr/share/portage/config/sets) is only supported by >=portage-2.2.

If possible, you should use the EAPI 5 slot operator to trigger automatic rebuilds. For example, see this blog post: 

http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/

That blog post refers to EAPI 4-slot-abi, but identical features are available in EAPI 5 now:

http://dev.gentoo.org/~zmedico/portage/doc/portage.html#package-ebuild-eapi-5-metadata-dependency-atom-slot-operators
Comment 6 Alexis Ballier gentoo-dev 2012-11-22 15:24:42 UTC
(In reply to comment #5)
> Portage's extended set configuration (/usr/share/portage/config/sets) is
> only supported by >=portage-2.2.

ok i was pretty sure this file wouldnt work with portage prior to 2.2, that's why i also added the other way in the elog message.

> If possible, you should use the EAPI 5 slot operator to trigger automatic
> rebuilds. For example, see this blog post: 
> 
> http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-
> experimental-eapi-4-slot-abi/
> 
> That blog post refers to EAPI 4-slot-abi, but identical features are
> available in EAPI 5 now:
> 
> http://dev.gentoo.org/~zmedico/portage/doc/portage.html#package-ebuild-eapi-
> 5-metadata-dependency-atom-slot-operators

yes this would be ideal but this is rather new and i didn't have time to start the conversion :=)


about this bug, is it invalid ? should the message be changed if portage < 2.2 is detected ?
Comment 7 Zac Medico gentoo-dev 2012-11-22 15:47:12 UTC
(In reply to comment #6)
> about this bug, is it invalid ? should the message be changed if portage <
> 2.2 is detected ?

Yeah, I think it would be a good idea to vary the message depending on the portage version. You could use `has_version '>=sys-apps/portage-2.2'`, or check for existence of /usr/share/portage/config/sets/portage.conf to see if the installed version of portage has extended set configuration.
Comment 8 Alexis Ballier gentoo-dev 2012-12-29 18:37:08 UTC
*** Bug 448280 has been marked as a duplicate of this bug. ***
Comment 9 Alexis Ballier gentoo-dev 2013-02-07 20:38:49 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > about this bug, is it invalid ? should the message be changed if portage <
> > 2.2 is detected ?
> 
> Yeah, I think it would be a good idea to vary the message depending on the
> portage version. You could use `has_version '>=sys-apps/portage-2.2'`, or
> check for existence of /usr/share/portage/config/sets/portage.conf to see if
> the installed version of portage has extended set configuration.

done the has_version way

eapi 5 + subslots conversion started