>>> 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
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.
*** Bug 302491 has been marked as a duplicate of this bug. ***
Created attachment 222117 [details] Alternate setup file
The attached setup.hs fixes the issue here.
Also, you could try haddock-2.5.0 instead, if you're using >=ghc-6.10.2.
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
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
Oh, it's only in the overlay at the moment. We should look into putting it into the portage tree too.
Any chance that this could indeed go into the tree ?
Almost two weeks later, there is no haddock-2.5.0 in the portage tree.
(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.
(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.
(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.
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.