Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 302489 - dev-haskell/haddock-2.4.2 fails to build
Summary: dev-haskell/haddock-2.4.2 fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
: 302491 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-01-27 18:39 UTC by Maciej Piechotka
Modified: 2010-03-30 22:32 UTC (History)
2 users (show)

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


Attachments
Alternate setup file (haddock-2.4.2-Setup.hs,2.79 KB, text/plain)
2010-03-04 22:05 UTC, Arnaud de Grandmaison
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Piechotka 2010-01-27 18:39:30 UTC
>>> Starting src_compile
 * Using cabal-1.8.0.2.
[1 of 1] Compiling Main             ( /var/tmp/paludis/dev-haskell-haddock-2.4.2/work/haddock-2.4.2/Setup.hs, /var/tmp/paludis/dev-haskell-haddock-2.4.2/work/haddock-2.4.2/Setup.o )

/var/tmp/paludis/dev-haskell-haddock-2.4.2/work/haddock-2.4.2/Setup.hs:20:36:
    Couldn't match expected type `GenericPackageDescription'
           against inferred type `Either
                                    GenericPackageDescription PackageDescription'
      Expected type: (GenericPackageDescription, HookedBuildInfo)
      Inferred type: (Either
                        GenericPackageDescription PackageDescription,
                      HookedBuildInfo)
    In the `confHook' field of a record
    In the first argument of `defaultMainWithHooks', namely
        `simpleUserHooks {confHook = myCustomConfHook}'

/var/tmp/paludis/dev-haskell-haddock-2.4.2/work/haddock-2.4.2/Setup.hs:28:38:
    Couldn't match expected type `GenericPackageDescription'
           against inferred type `Either
                                    GenericPackageDescription PackageDescription'
      Expected type: (GenericPackageDescription, HookedBuildInfo)
      Inferred type: (Either
                        GenericPackageDescription PackageDescription,
                      HookedBuildInfo)
    In the second argument of `confHook', namely `egpdpdhbi'
    In a stmt of a 'do' expression:
        lbi <- confHook simpleUserHooks egpdpdhbi flags

!!! ERROR in dev-haskell/haddock-2.4.2::gentoo:
!!! In cabal-bootstrap at line 976
!!! compiling /var/tmp/paludis/dev-haskell-haddock-2.4.2/work/haddock-2.4.2/Setup.hs failed

!!! Call stack:
!!!    * cabal-bootstrap (/var/tmp/paludis/dev-haskell-haddock-2.4.2/temp/loadsaveenv:976)
!!!    * cabal_src_compile (/var/tmp/paludis/dev-haskell-haddock-2.4.2/temp/loadsaveenv:1074)
!!!    * src_compile (/var/tmp/paludis/dev-haskell-haddock-2.4.2/temp/loadsaveenv:4906)
!!!    * ebuild_f_compile (/usr/libexec/paludis/0/src_compile.bash:51)
!!!    * ebuild_main (/usr/libexec/paludis/ebuild.bash:616)
!!!    * main (/usr/libexec/paludis/ebuild.bash:644)


Reproducible: Always




paludis 0.44.1
Paludis build information:
    Compiler:
        CXX:                   x86_64-pc-linux-gnu-g++ 4.4.2
        CXXFLAGS:               -O2 -pipe -march=core2 -mfpmath=sse -mmmx -msse -msse2 -msse3 -msse4.1 -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -msahf -mcx16 -floop-interchange -floop-strip-mine -floop-block
        LDFLAGS:               -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common
        DATE:                  2010-01-21T01:37:15+0000

    Libraries:
        C++ Library:           GNU libstdc++ 20091015

    Paths:
        DATADIR:               /usr/share
        LIBDIR:                /usr/lib64
        LIBEXECDIR:            /usr/libexec
        SYSCONFDIR:            /etc
        PYTHONINSTALLDIR:      /usr/lib64/python2.6/site-packages
        RUBYINSTALLDIR:        /usr/lib64/ruby/site_ruby/1.8/x86_64-linux

System:
    Linux picard 2.6.32-gentoo-r2 #1 SMP PREEMPT Fri Jan 22 09:18:51 GMT 2010 x86_64 Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz GenuineIntel GNU/Linux

Reduced Privs:
    reduced_uid:               110
    reduced_uid->name:         paludisbuild
    reduced_uid->dir:          /var/tmp/paludis
    reduced_gid:               1015
    reduced_gid->name:         paludisbuild

Environment:
    Format:                    paludis
    Config dir:                /etc/paludis
    World file:                /var/db/pkg/world

Package dev-haskell/haddock-2.4.2:0::gentoo:

        >>> Running ebuild phase killold as paludisbuild:paludisbuild...
        >>> Starting builtin_killold
        >>> Done builtin_killold
        >>> Completed ebuild phase killold
        >>> Running ebuild phases initmisc infovars as paludisbuild:paludisbuild...
        >>> Starting builtin_initmisc
        >>> Done builtin_initmisc
        >>> Starting builtin_infovars
        ACCEPT_KEYWORDS=amd64
        CBUILD=x86_64-pc-linux-gnu
        CFLAGS=-O2 -pipe -ggdb -march=core2 -mfpmath=sse -mmmx -msse -msse2 -msse3 -msse4.1 -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -msahf -mcx16 -floop-interchange -floop-strip-mine -floop-block
        CHOST=x86_64-pc-linux-gnu
        CONFIG_PROTECT= 
        CONFIG_PROTECT_MASK= 
        CPPFLAGS=
        CTARGET=
        CXXFLAGS=-O2 -pipe -ggdb -march=core2 -mfpmath=sse -mmmx -msse -msse2 -msse3 -msse4.1 -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -msahf -mcx16 -floop-interchange -floop-strip-mine -floop-block
        DISTDIR=/var/tmp/distfiles
        FEATURES=
        FFLAGS=
        GENTOO_MIRRORS=
        INSTALL_MASK=
        LANG=
        LC_ALL=C
        LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common
        LINGUAS=en en_GB pl
        MAKEOPTS=-j3
        PORTAGE_COMPRESS=
        PORTAGE_COMPRESS_FLAGS=
        PORTAGE_CONFIGROOT=
        PORTAGE_RSYNC_EXTRA_OPTS=
        PORTAGE_RSYNC_OPTS=
        PORTAGE_TMPDIR=/var/tmp/paludis
        PORTDIR=/usr/portage
        PORTDIR_OVERLAY=
        SYNC=
        USE=doc amd64 alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias elibc_glibc input_devices_evdev input_devices_keyboard input_devices_mouse kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text linguas_en linguas_en_GB linguas_pl ruby_targets_ruby18 userland_GNU video_cards_intel amd64 
        >>> Done builtin_infovars
        >>> Completed ebuild phases initmisc infovars
        >>> Running ebuild phase tidyup as paludisbuild:paludisbuild...
        >>> Starting builtin_tidyup
        rm -fr /var/tmp/paludis/dev-haskell-haddock-2.4.2-info
        >>> Done builtin_tidyup
        >>> Completed ebuild phase tidyup
Comment 1 Ivan 2010-01-29 11:24:58 UTC
The problem here is that Haddock doesn't build with Cabal-1.8.  Thus, a slight patch (or sed magic) is needed for Haddock's .cabal file to restrict the upper bound of the version of Cabal used.  The same applies for haddock-2.4.1.
Comment 2 Maciej Piechotka 2010-01-29 15:47:48 UTC
*** Bug 302491 has been marked as a duplicate of this bug. ***
Comment 3 Arnaud de Grandmaison 2010-03-04 22:05:47 UTC
Created attachment 222117 [details]
Alternate setup file
Comment 4 Arnaud de Grandmaison 2010-03-04 22:06:53 UTC
The attached setup.hs fixes the issue here.
Comment 5 Lennart Kolmodin (RETIRED) gentoo-dev 2010-03-04 22:10:29 UTC
Also, you could try haddock-2.5.0 instead, if you're using >=ghc-6.10.2.
Comment 6 Juergen Rose 2010-03-05 13:44:45 UTC
I have the same problem here. Where is haddock-2.5.0?

root@orca:/root(5)# emerge -pvD haddock

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] dev-haskell/haddock-2.4.2  USE="doc" 0 kB
Comment 7 Juergen Rose 2010-03-05 13:45:29 UTC
root@orca:/root(6)# emerge -pvD ghc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-lang/ghc-6.10.4-r1  USE="bash-completion doc -binary -ghcbootstrap" 0 kB
Comment 8 Lennart Kolmodin (RETIRED) gentoo-dev 2010-03-05 19:31:45 UTC
Oh, it's only in the overlay at the moment.
We should look into putting it into the portage tree too.
Comment 9 Michael Mounteney 2010-03-18 22:40:33 UTC
Any chance that this could indeed go into the tree ?
Comment 10 Juergen Rose 2010-03-30 06:50:03 UTC
Almost two weeks later, there is no haddock-2.5.0 in the portage tree.
Comment 11 Ivan 2010-03-30 07:02:34 UTC
(In reply to comment #10)
> Almost two weeks later, there is no haddock-2.5.0 in the portage tree.
> 

Well, there's 2.6.0 ...

What's likely going to happen in the next few weeks is that the packages required for the latest release of the Haskell Platform (which just came out last week, and is based around GHC 6.12.1) are going to be added to the tree and unmasked.  As such, making sure these ebuilds work are our prime focus at the moment.
Comment 12 Maciej Piechotka 2010-03-30 07:14:23 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > Almost two weeks later, there is no haddock-2.5.0 in the portage tree.
> > 
> 
> Well, there's 2.6.0 ...
> 
> What's likely going to happen in the next few weeks is that the packages
> required for the latest release of the Haskell Platform (which just came out
> last week, and is based around GHC 6.12.1) are going to be added to the tree
> and unmasked.  As such, making sure these ebuilds work are our prime focus at
> the moment.
> 

Hmm - as a side note - current haskell platform is beta release. And - well - it is beta. The CLDouble bug for ghc 6.12.1 have not been fixed in it so many important software won't work. I'm not quite sure if it qualifies for unmasking.
Comment 13 Ivan 2010-03-30 07:32:06 UTC
(In reply to comment #12)
> 
> Hmm - as a side note - current haskell platform is beta release. And - well -
> it is beta. The CLDouble bug for ghc 6.12.1 have not been fixed in it so many
> important software won't work. I'm not quite sure if it qualifies for
> unmasking.
> 

If you actually read the related bug, that's been a bug for a while: CLDouble was only aliased to CDouble rather than being an actual Long Double type.  In 6.12.1 they've just removed it rather than having something that's wrong in there.

Comment 14 Lennart Kolmodin (RETIRED) gentoo-dev 2010-03-30 22:32:30 UTC
The obvious quick workaround was to temporarily downgrade your cabal to 1.6, build haddock and then upgrade cabal.
I've modified the Setup.hs in haddock 2.4.2 to work with both cabal-1.6 and cabal-1.8.
haddock 2.4.1 will continue to require cabal-1.6.

Adding haddock-2.5.0 would also solve this problem, but would in return give other problems.
All packages you have built with your old haddock would have to be recompiled to make the docs link together. You can't do this for the packages provided with GHC, so those would not be referenced, like the base package and everything else part of GHC.
The result is a broken environment and a reduced user experience.
Things are not always as easy as they seem.

As Ivan says, our main focus at the moment is to support the latest haskell platform. The latest release of the haskell platform is no more a beta release than the last version was. CLDouble has never worked, no software that worked will suddenly stop working.

If the patch I changed doesn't work, please reopen the bug.