When I try to upgrade unison, I get a strange error (Ocaml related?): ocamlopt -I lwt -I ubase -I /usr/lib/ocaml/lablgtk -c /var/tmp/portage/unison-2.9.1-r1/work/unison-2.9.1/main.ml ocamlopt: pixmaps.ml ---> pixmaps.cmx ocamlopt -I lwt -I ubase -I /usr/lib/ocaml/lablgtk -c /var/tmp/portage/unison-2.9.1-r1/work/unison-2.9.1/pixmaps.ml ocamlopt: uigtk.mli ---> uigtk.cmi ocamlopt -I lwt -I ubase -I /usr/lib/ocaml/lablgtk -c /var/tmp/portage/unison-2.9.1-r1/work/unison-2.9.1/uigtk.mli ocamlopt: uigtk.ml ---> uigtk.cmx ocamlopt -I lwt -I ubase -I /usr/lib/ocaml/lablgtk -c /var/tmp/portage/unison-2.9.1-r1/work/unison-2.9.1/uigtk.ml The files /usr/lib/ocaml/pervasives.cmi and /usr/lib/ocaml/lablgtk/gdk.cmi make inconsistent assumptions over interface Pervasives make: *** [uigtk.cmx] Error 2 Reproducible: Always Steps to Reproduce: 1. Merge unison 2. Error occurs every time 3. Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7) ================================================================= System uname: 2.6.7 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache sandbox userpriv usersandbox" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo ftp://chod.cwru.edu/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://mirrors.tds.net/gentoo http://adelie.polymtl.ca/ http://gentoo.netnitco.net ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mir.zyrianes.net/gentoo/ http://mir.zyrianes.net/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d aac aalib acl aim alsa apache2 async audiofile avi berkdb bitmap-fonts bonobo cddb cdr crypt cups curl divx4linux doc dv dvd dvdr emacs encode ethereal expat f77 faad fam flac foomaticdb gb gd gdbm gif gnome gnomedb gphoto2 gstreamer gtk gtk2 gtkhtml guile icq imagemagick imap imlib java jpeg ldap libg++ libwww lirc mad maildir matroska md5sum mikmod mmx mng mono motif mozilla moznocompose moznoirc mpeg mpeg4 msn mysql ncurses nls nocd offensive oggvorbis opengl oscar oss pam pda pdflib perl plotutils png python qt quicktime readline rtc ruby samba scanner sdl slang slp snmp spell sse ssl svga tcltk tcpd tetex theora tiff truetype unicode usb v4l videos wmf wxwindows x86 xalan xerces xinerama xml2 xmms xosd xprint xv xvid yahoo zlib"
You have to reemerge lablgtk on each ocaml compiler update (there is a script to help mentionned in the ocaml ebuild). If you ran the script and it didn't show lablgtk, then the script has a bug :), otherwise, either run it or simply reemerge lablgtk (and possibly lablgl too) before trying to update unison.
Hah, thanks. I feel stupid :) Is there any way to see the emerge einfo messages after they fly by in a long world update?
There are tools that help see them like portlog, IIRC. There's also recurrent discussions of such a feature on gentoo-dev so i suspect some standard solution will emerge (and get implemented) some day.