I know haskell@g.o has nothing to do with the package, but since I have no clue on Haskell… Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3-asneeded, glibc-2.11-r1, 2.6.33.2 i686) ================================================================= System uname: Linux-2.6.33.2-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1 Timestamp of tree: Wed, 21 Apr 2010 10:30:01 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 2.4 [disabled] app-shells/bash: 4.1_p5 dev-java/java-config: 1.3.7-r1, 2.1.10 dev-lang/python: 2.6.5-r1, 3.1.2-r2 dev-python/pycrypto: 2.1.0 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.1-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/fax /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/spool/fax/etc /var/spool/torque /var/vpopmail/etc /var/yp/Makefile" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j14" PKGDIR="/var/spool/portage/packages" PORTAGE_COMPRESS="" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/tree-tinderbox" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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="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 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 auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="lines 1-45
Created attachment 228715 [details] Build log
I have no idea what ganeti-tools is or where it comes from, but the problem appears to be that it wants dev-haskell/quickcheck:1 whereas you have two slots installed (and by default GHC chooses the higher version). And the moral of the story is, kids, that if you use a "non-traditional" language then it might be a good idea to try using its own build tools/libraries (in this case, Cabal) rather than trying to do it yourself with plain 'ol make.
Definitely amen for the moral, the same gets true for Ruby… and thanks for pointing us in the right direction :)
I talked to somebody earlier and helped get this ebuild started. By looking at the makefile you can see that they are using * haddock for api docs * HsColour for coloring the source * quickcheck for tests * hpc for code coverages of tests It's clear they know their way around in the haskell ecosystem. The remaining stuff can be done by custom Setup.hs files (which with bad luck will break when upgrading cabal version); * building docs with rst2html * the "make dist" can more or lest be kept, or maybe replaced with "cabal sdist". It shouldn't be too hard to move to using Cabal, and if still required keep the makefile for some utility functions.
(In reply to comment #4) > I talked to somebody earlier and helped get this ebuild started. > By looking at the makefile you can see that they are using > * haddock for api docs > * HsColour for coloring the source > * quickcheck for tests > * hpc for code coverages of tests > > It's clear they know their way around in the haskell ecosystem. > The remaining stuff can be done by custom Setup.hs files (which with bad luck > will break when upgrading cabal version); > * building docs with rst2html > * the "make dist" can more or lest be kept, or maybe replaced with "cabal > sdist". > > It shouldn't be too hard to move to using Cabal, and if still required keep the > makefile for some utility functions. If someone would like to provide a patch that fixes this properly, I can submit it upstream to get it fixed. This tool is used with ganeti to deal with calculating where to deploy a new virtual machine.
>>> Test phase [check]: app-emulation/ganeti-htools-0.2.8 ghc --make -O2 -Wall -fwarn-monomorphism-restriction -fwarn-tabs -fhpc -Wwarn -fno-warn-missing-signatures -fno-warn-monomorphism-restriction -fno-warn-orphans -fno-warn-missing-methods -fno-warn-unused-imports test Ganeti/HTools/QC.hs:40:7: Could not find module `Test.QuickCheck.Batch': Use -v to see a list of the files searched for. make: *** [test] Error 1 * ERROR: app-emulation/ganeti-htools-0.2.8 failed (test phase): * Make check failed. See above for details. However, I do have quickcheck installed: [ebuild R ] dev-haskell/quickcheck-2.1.0.3 USE="-doc* -profile" 0 kB
(In reply to comment #6) > >>> Test phase [check]: app-emulation/ganeti-htools-0.2.8 > ghc --make -O2 -Wall -fwarn-monomorphism-restriction -fwarn-tabs -fhpc > -Wwarn -fno-warn-missing-signatures -fno-warn-monomorphism-restriction > -fno-warn-orphans -fno-warn-missing-methods -fno-warn-unused-imports test > > Ganeti/HTools/QC.hs:40:7: > Could not find module `Test.QuickCheck.Batch': > Use -v to see a list of the files searched for. Test.QuickCheck.Batch is available only in quickcheck:1. Depends in .cabal file are specified incorrectly. Dep on QC in .ebuild is missing too. And QC-1 is old, it should be ported to QC-2. Does ~arch ganeti-htools happen to work? I'll look at it.
Created attachment 304319 [details, diff] ganeti-htools-0.2.8-use-QC-1.patch ganeti-htools-0.2.8-use-QC-1.patch - the way to pick proper QC. .ebuild would also need DEPEND+="test? ( dev-haskell/quickcheck:1 ). I'll commit it if you are not against it. Thanks!
Pushed the tweak as: > 07 Mar 2012; Sergei Trofimovich <slyfox@gentoo.org> > +files/ganeti-htools-0.2.8-use-QC-1.patch, ganeti-htools-0.2.8.ebuild, > ganeti-htools-0.3.0.ebuild, ganeti-htools-0.3.1.ebuild, metadata.xml: > Fixed USE=test to use QuickCheck-1.* (fixes bug #316629 by Diego Elio Pettenò > and others). Added package to haskell herd as well. Thanks guys!