I used to have above unison version installed. On emerge world it accidentally upgraded to 2.10.? (successfully), cause i hadnt masked it. On downgrading with emerge net-misc/unison/unison-2.9.1-r1.ebuild it failed wiht the following error:: 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 /usr/lib/ocaml/lablgtk/gdk.cmi is not a compiled interface make: *** [uigtk.cmx] Error 2 !!! ERROR: net-misc/unison-2.9.1-r1 failed. !!! Function src_compile, Line 45, Exitcode 2
groovesurfer portage # emerge info Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0, 2.6.9 i686) ================================================================= System uname: 2.6.9 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz Gentoo Base System version 1.6.12 dev-lang/python: 2.1.3-r1, 2.3.3, 2.3.5 sys-apps/sandbox: 1.2.6 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r9 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/fstab /etc/group /etc/passwd /etc/sane.d/snapscan.conf /etc/shadow /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/X11 /etc/gconf /etc/kde /etc/sane.d /etc/terminfo /etc/viewcvs /usr/kde /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.eliteitminds.com" LINGUAS="de" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apache2 apm arts audiofile avi berkdb bidi bitmap-fonts bonobo cdr cjk crypt cups curl dba divx4linux doc dvd eds emacs emboss encode esd evo fam flac foomaticdb fortran gd gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml imagemagick imlib ipv6 java joystick jpeg junit kde ldap libg++ libwww mad mikmod motif mozilla mp3 mpeg mpi msn mysql nas ncurses nls odbc ogg oggvorbis opengl oss pam pcmcia pda pdflib perl png pnp postgres python qt quicktime readline ruby samba scanner sdl slang spell ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts usb vorbis xine xinerama xml xml2 xmms xv xvid yahoo zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS
I've just run emerge net-misc/unison with version 2.9.1-r1 and it worked fine. Perhaps you could try unmerging the existing version (2.10.x), then re-emerge ocaml and finally emerge unison? From your errors it looks like it could be ocaml that is causing the problem - when I emerge'd it I got the following warning: * OCaml is not binary compatible from version to version, * so you (may) need to rebuild all packages depending on it that * are actually installed on your system. * To do so, you can run: * sh /usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh [-h | emerge options] * Which will call emerge on all old packages with the given options Hope this helps.
I unmerged unison-2.12; then re-emerged ocaml, it did an update to current unstable 3.0.8, and tried emerging unison-2.9.1-r1 but unfotunately got the same error again.
additional info to my last comment: ocaml is now at 3.08.3 to be exact
tried also with ocaml-3.06 .. 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 compiled interfaces /usr/lib/ocaml/lazy.cmi and /usr/lib/ocaml/lablgtk/gObj.cmi make inconsistent assumptions over interface Pervasives make: *** [uigtk.cmx] Error 2 would it make sense to try it with 3.04 which is the oldest version unison depends on? It's not in portage anymore, so i havent tried it yet.
The problem is that ocaml is not binary compatible from version to version, hence you have to update all ocaml libraries before updating unison. Here lablgtk has not been recompiled with the latest ocaml compiler you installed hence the (obscure) incompatibility error. Try to launch ocaml-rebuild.sh now and if it doesn't try to rebuild lablgtk (all versions) do it by hand.
Similar thing here with unison-2.13.0 and gtk2: ocamlopt: uigtk2.mli ---> uigtk2.cmi ocamlopt -I lwt -I ubase -I +lablgtk2 -c /var/tmp/portage/unison-2.13.0/work/unison-2.13.0/uigtk2.mli ocamlopt: uigtk2.ml ---> uigtk2.cmx ocamlopt -I lwt -I ubase -I +lablgtk2 -c /var/tmp/portage/unison-2.13.0/work/unison-2.13.0/uigtk2.ml /usr/lib/ocaml/lablgtk2/gdk.cmi is not a compiled interface make: *** [uigtk2.cmx] Error 2 Remerging lablgtk did solve the problem. Perhaps it would be useful to print a message hinting at ocaml-rebuild if make fails for unison. I suggest changing the summary, as this applies to any unison version. I'd also include lablgtk in the summary.
As stated in the ebuild, one needs to recompile all libraries after each upgrade of ocaml, there is unfortunately nothing more we can do.