Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 314587 - dev-haskell/time-1.1.4 fails to build with FEATURES="test"
Summary: dev-haskell/time-1.1.4 fails to build with FEATURES="test"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-10 23:15 UTC by Kenneth Lakin
Modified: 2010-07-11 15:48 UTC (History)
1 user (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 Kenneth Lakin 2010-04-10 23:15:19 UTC
Building dev-haskell/time-1.1.4 with FEATURES="test" results in the following output from emerge (unpack, configure and compile steps have been elided):

Registering time-1.1.4...
>>> Source compiled.
 * >>> Test phase [cabal test]: dev-haskell/time-1.1.4
setup: test: does not exist
 * ERROR: dev-haskell/time-1.1.4 failed:
 *   cabal test failed


Reproducible: Always

Steps to Reproduce:
1. Enable the test feature.
2. emerge =dev-haskell/time-1.1.4

Actual Results:  
dev-haskell/time fails to make it past its test phase.

Expected Results:  
The package should have built successfully.

Note: the package builds successfully without FEATURES="test" set.

Here's the build log:

 [33;01m*[0m CPV:  dev-haskell/time-1.1.4
 [32;01m*[0m REPO: gentoo
 [32;01m*[0m USE:  elibc_glibc kernel_linux test userland_GNU x86
>>> Unpacking source...
>>> Unpacking time-1.1.4.tar.gz to /var/tmp/portage/dev-haskell/time-1.1.4/work
>>> Source unpacked in /var/tmp/portage/dev-haskell/time-1.1.4/work
>>> Compiling source in /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4 ...
 [32;01m*[0m Using cabal-1.8.0.2.
[1 of 1] Compiling Main             ( /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4/Setup.hs, /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4/Setup.o )
Linking setup ...
Configuring time-1.1.4...
Dependency base ==4.*: using base-4.1.0.0
Dependency old-locale -any: using old-locale-1.0.0.1
Using Cabal-1.8.0.2 compiled by ghc-6.10
Using compiler: ghc-6.10.4
Using install prefix: /usr
Binaries installed in: /usr/bin
Libraries installed in: /usr/lib/time-1.1.4/ghc-6.10.4
Private binaries installed in: /usr/libexec
Data files installed in: /usr/share/time-1.1.4/ghc-6.10.4
Documentation installed in: /usr/share/doc/time-1.1.4
Using alex version 2.3.2 found on system at: /usr/bin/alex
Using ar found on system at: /usr/bin/ar
No c2hs found
No cpphs found
No ffihugs found
Using gcc version 4.4.3 found on system at: /usr/bin/gcc
Using ghc version 6.10.4 given by user at: /usr/bin/ghc
Using ghc-pkg version 6.10.4 given by user at: /usr/bin/ghc-pkg
No greencard found
Using haddock version 2.4.2 found on system at: /usr/bin/haddock
Using happy version 1.18.4 found on system at: /usr/bin/happy
No hmake found
Using hsc2hs version 0.67 found on system at: /usr/bin/hsc2hs
No hscolour found
No hugs found
No jhc found
Using ld found on system at: /usr/bin/ld
No lhc found
No lhc-pkg found
No nhc98 found
Using pkg-config version 0.23 found on system at: /usr/bin/pkg-config
Using ranlib found on system at: /usr/bin/ranlib
Using strip found on system at: /usr/bin/strip
Using tar found on system at: /bin/tar
sh configure --with-compiler=/usr/bin/ghc --with-hc-pkg=/usr/bin/ghc-pkg --prefix=/usr --libdir=/usr/lib --datadir=/usr/share/
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for gmtime_r... yes
checking for localtime_r... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking whether time.h and sys/time.h may both be included... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking whether altzone is declared... no
configure: creating ./config.status
config.status: creating include/HsTimeConfig.h
config.status: include/HsTimeConfig.h is unchanged
Preprocessing library time-1.1.4...
Building time-1.1.4...
[ 1 of 24] Compiling Data.Time.Clock.CTimeval ( Data/Time/Clock/CTimeval.hs, dist/build/Data/Time/Clock/CTimeval.o )
[ 2 of 24] Compiling Data.Time.Clock.Scale ( Data/Time/Clock/Scale.hs, dist/build/Data/Time/Clock/Scale.o )
[ 3 of 24] Compiling Data.Time.Calendar.Days ( Data/Time/Calendar/Days.hs, dist/build/Data/Time/Calendar/Days.o )
[ 4 of 24] Compiling Data.Time.Clock.UTC ( Data/Time/Clock/UTC.hs, dist/build/Data/Time/Clock/UTC.o )
[ 5 of 24] Compiling Data.Time.Calendar.Private ( Data/Time/Calendar/Private.hs, dist/build/Data/Time/Calendar/Private.o )
[ 6 of 24] Compiling Data.Time.Calendar.JulianYearDay ( Data/Time/Calendar/JulianYearDay.hs, dist/build/Data/Time/Calendar/JulianYearDay.o )
[ 7 of 24] Compiling Data.Time.Clock.POSIX ( Data/Time/Clock/POSIX.hs, dist/build/Data/Time/Clock/POSIX.o )
[ 8 of 24] Compiling Data.Time.Clock.UTCDiff ( Data/Time/Clock/UTCDiff.hs, dist/build/Data/Time/Clock/UTCDiff.o )
[ 9 of 24] Compiling Data.Time.Clock  ( Data/Time/Clock.hs, dist/build/Data/Time/Clock.o )
[10 of 24] Compiling Data.Time.LocalTime.TimeZone ( Data/Time/LocalTime/TimeZone.hs, dist/build/Data/Time/LocalTime/TimeZone.o )
[11 of 24] Compiling Data.Time.LocalTime.TimeOfDay ( Data/Time/LocalTime/TimeOfDay.hs, dist/build/Data/Time/LocalTime/TimeOfDay.o )
[12 of 24] Compiling Data.Time.Calendar.OrdinalDate ( Data/Time/Calendar/OrdinalDate.hs, dist/build/Data/Time/Calendar/OrdinalDate.o )
[13 of 24] Compiling Data.Time.Calendar.WeekDate ( Data/Time/Calendar/WeekDate.hs, dist/build/Data/Time/Calendar/WeekDate.o )
[14 of 24] Compiling Data.Time.Calendar.MonthDay ( Data/Time/Calendar/MonthDay.hs, dist/build/Data/Time/Calendar/MonthDay.o )
[15 of 24] Compiling Data.Time.Calendar.Julian ( Data/Time/Calendar/Julian.hs, dist/build/Data/Time/Calendar/Julian.o )
[16 of 24] Compiling Data.Time.Calendar.Gregorian ( Data/Time/Calendar/Gregorian.hs, dist/build/Data/Time/Calendar/Gregorian.o )
[17 of 24] Compiling Data.Time.Calendar ( Data/Time/Calendar.hs, dist/build/Data/Time/Calendar.o )
[18 of 24] Compiling Data.Time.Calendar.Easter ( Data/Time/Calendar/Easter.hs, dist/build/Data/Time/Calendar/Easter.o )
[19 of 24] Compiling Data.Time.LocalTime.LocalTime ( Data/Time/LocalTime/LocalTime.hs, dist/build/Data/Time/LocalTime/LocalTime.o )
[20 of 24] Compiling Data.Time.LocalTime ( Data/Time/LocalTime.hs, dist/build/Data/Time/LocalTime.o )
[21 of 24] Compiling Data.Time.Clock.TAI ( Data/Time/Clock/TAI.hs, dist/build/Data/Time/Clock/TAI.o )
[22 of 24] Compiling Data.Time.Format.Parse ( Data/Time/Format/Parse.hs, dist/build/Data/Time/Format/Parse.o )
[23 of 24] Compiling Data.Time.Format ( Data/Time/Format.hs, dist/build/Data/Time/Format.o )
[24 of 24] Compiling Data.Time        ( Data/Time.hs, dist/build/Data/Time.o )
Registering time-1.1.4...
>>> Source compiled.
 [32;01m*[0m >>> Test phase [cabal test]: dev-haskell/time-1.1.4
setup: test: does not exist
 [31;01m*[0m ERROR: dev-haskell/time-1.1.4 failed:
 [31;01m*[0m   cabal test failed
 [31;01m*[0m 
 [31;01m*[0m Call stack:
 [31;01m*[0m     ebuild.sh, line   54:  Called src_test
 [31;01m*[0m   environment, line 1637:  Called haskell-cabal_src_test
 [31;01m*[0m   environment, line 1388:  Called die
 [31;01m*[0m The specific snippet of code:
 [31;01m*[0m           ./setup test || die "cabal test failed";
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of 'emerge --info =dev-haskell/time-1.1.4',
 [31;01m*[0m the complete build log and the output of 'emerge -pqv =dev-haskell/time-1.1.4'.
 [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-haskell/time-1.1.4/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-haskell/time-1.1.4/temp/environment'.
 [31;01m*[0m S: '/var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4'



and here's emerge --info:

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo i686)
=================================================================
System uname: Linux-2.6.33-gentoo-i686-Intel-R-_Core-TM-_Duo_CPU_L2400_@_1.66GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 10 Apr 2010 00:00:01 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.10
dev-lang/python:     2.4.4-r15, 2.5.4-r3, 2.6.5-r1, 3.1.2-r1
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.1
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.5, 1.6.3, 1.7.9-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.3.4, 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="* -@EULA dlj-1.1 PUEL"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /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/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=prescott -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms splitdebug strict test unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/x11 /usr/local/portage/layman/kde /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa avahi bash-completion berkdb bluetooth bzip2 caps cdr cli consolekit cracklib crypt cups cxx dbus dri dvd ffmpeg flac fortran gdbm gpm gtk hal iconv ieee1394 inotify ipv6 java jpeg kde kerberos lame ldap lua lzma mad matroska mmx modules mp3 mudflap mysql ncurses networkmanager nls nptl nptlonly offensive ogg opengl openmp pam pcmcia pcre perl png policykit postgres pppd pulseaudio python qt qt3support qt4 readline reflection samba sasl sdl semantic-desktop session slp sndfile speex spell spl sse sse2 sse3 ssl svg sysfs tcpd theora tiff truetype udev unicode upnp usb v4l2 vim-syntax vorbis wifi win32codecs wireless x86 xattr xinerama xml xorg xv xvid zeroconf zlib" ALSA_CARDS="hda-intel usb-audio" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Ivan 2010-04-11 13:40:56 UTC
*sigh* this is because the test support for the haskell-cabal eclass is still experimental, and obviously fails for packages that either don't have a test class or don't expose it via the cabal file.
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2010-04-11 15:15:41 UTC
(In reply to comment #1)
> *sigh* this is because the test support for the haskell-cabal eclass is still
> experimental, and obviously fails for packages that either don't have a test
> class or don't expose it via the cabal file.

Things are not so bad. Default cabal hooks define empty (successful) test. The problem is in cabal's autoconf hooks, which imply 'test' binary for 'cabal test' feature.

I've pushed RESTRICT=test in time-1.1.4 ebuild in overlay:
http://code.haskell.org/gentoo/gentoo-haskell/dev-haskell/time/time-1.1.4.ebuild

Portage tree will likely need that RESTRICT in all ebuilds.
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2010-04-12 07:00:48 UTC
> Portage tree will likely need that RESTRICT in all ebuilds.
I meant 'in all _time_ ebuilds'

Looked slightly closer and found out it's a time's fault:
http://www.haskell.org/pipermail/libraries/2010-April/013489.html

Other autoconf based (like dev-haskell/x11) pass (noop) tests successfully
Comment 4 Sergei Trofimovich (RETIRED) gentoo-dev 2010-07-11 15:48:22 UTC
Tests are disabled in tree for dev-haskell/time.

Someone should help upstream to make them properly.