Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 252176 - dev-lang/ghc-6.10.1 version bump
Summary: dev-lang/ghc-6.10.1 version bump
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: http://www.haskell.org/ghc/
Whiteboard:
Keywords:
Depends on: 237882
Blocks:
  Show dependency tree
 
Reported: 2008-12-22 14:39 UTC by Caleb Cushing
Modified: 2009-12-03 19:41 UTC (History)
7 users (show)

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


Attachments
ghc build log (build.log,3.73 KB, text/plain)
2009-12-03 17:49 UTC, renato gallo
Details
autoconf.out (autoconf.out,435 bytes, text/plain)
2009-12-03 17:50 UTC, renato gallo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Caleb Cushing 2008-12-22 14:39:14 UTC
new version available.

Reproducible: Always
Comment 1 Caleb Cushing 2008-12-22 15:07:56 UTC
also according to the ghc docs... it uses libedit, dep doesn't seem to be there. possibly it's not a hard requirement, so a libedit use flag might be appropriate.

I'm working on getting an ebuild working.
Comment 2 Wormo (RETIRED) gentoo-dev 2008-12-24 18:03:41 UTC
Thanks for working on the version bump; I'll assign this to the maintainers and you can use this bug to discuss any issues that come up.
Comment 3 Ivan 2008-12-25 00:25:40 UTC
There is already an ebuild for this available in the Haskell overlay.  Many packages are incompatible with it, which is why I believe Lennart Kolmodin hasn't sent it to the main tree yet.
Comment 4 Caleb Cushing 2008-12-27 16:37:33 UTC
I don't think that 'breaking packages' is a good reason to keep something out of the tree. ~M if you must. I'm adding the ebuild off the gentoo-haskell overlay to funtoo.org that way, I'm also masking binary and making ghcbootstrap on by default.
Comment 5 Ivan 2008-12-28 06:10:21 UTC
(In reply to comment #4)
> I don't think that 'breaking packages' is a good reason to keep something out
> of the tree. ~M if you must. I'm adding the ebuild off the gentoo-haskell
> overlay to funtoo.org that way, I'm also masking binary and making ghcbootstrap
> on by default.

That is something you should _not_ do.  `ghcbootstrap' is the USE flag utilised by devs to bootstrap ghc onto new architectures (preferably using the build script in the overlay) whereas `binary' uses the gentoo-specific binary of ghc produced using USE=ghcbootstrap rather than building ghc from scratch: USE=binary replaces ghc-bin.
Comment 6 Caleb Cushing 2008-12-28 14:37:25 UTC
but you guys aren't providing binaries at the moment, and my guess is a normal build doesn't work (tried it) because there's no binary so it has to be bootstrapped. I understand what the flags are for, but I don't see that I can handle it another way. I thought about building an x86 and amd64 binary, but that's all I could do. I felt it better to provide something people could build, and use to write code rather than not provide anything. When it makes it into portage I'll let your final ebuild and settings replace mine.

I can verify that it builds on amd64 fine.
Comment 7 Ivan 2008-12-29 09:54:59 UTC
(In reply to comment #6)
> but you guys aren't providing binaries at the moment,

There is an x86 binary (I should know, as I built it) but no-one has bootstrapped on the other architectures.

> and my guess is a normal
> build doesn't work (tried it) because there's no binary so it has to be
> bootstrapped. 

Exactly, since a large part of ghc is written in Haskell.

> I understand what the flags are for, but I don't see that I can
> handle it another way. 

The reason it's still overlay only is not only due to package compatability, but also because the build process has changed slightly (use of libedit, etc.) and because no-one has been able to bootstrap other arches to ensure it works there.  As it stands, the x86 binary I built needs to be redone as there's been reports that it doesn't work properly with <gcc-4.3.

> I thought about building an x86 and amd64 binary, but
> that's all I could do. I felt it better to provide something people could
> build, and use to write code rather than not provide anything. When it makes it
> into portage I'll let your final ebuild and settings replace mine.

Note that there are slight differences between the ebuilds used in the overlay and those in the tree (mainly due to the bootstrap process, which normal users never have anything to do with).

Comment 8 Lennart Kolmodin (RETIRED) gentoo-dev 2009-02-08 15:37:19 UTC
So far, we've got a working version of ghc 6.10.1 in the gentoo haskell overlay.

As you've noticed, this ghc version depends on libedit instead of readline.
The gentoo version of libedit is faulty, as noted here
http://hackage.haskell.org/trac/ghc/ticket/2716
and here http://bugs.gentoo.org/show_bug.cgi?id=237882 . It has a bug that makes ghci eat all your memory... unpleasant.

If you install from the overlay you will get a patched version of libedit, things will work.

Binaries are provided for x86 and amd64.
Comment 9 Timothy Redaelli (RETIRED) gentoo-dev 2009-03-07 11:28:25 UTC
As for 237882, can you try with masked libedit (20090111.3.0)?
Comment 10 Lennart Kolmodin (RETIRED) gentoo-dev 2009-03-16 23:01:59 UTC
Time to report what's been going on in the haskell overlay.

We will switch to using sys-libs/readline instead of dev-libs/libedit, as many users find this a superior package. GHC 6.10.1 was the first GHC release to use libedit, and it didn't exactly get a warm welcoming...
GHC 6.12.1 will likely switch to haskeline, an implementation written in haskell.
If you can't wait to try a ghci version using haskeline you can emerge the dev-haskell/ghci-haskeline package from the overlay.

As a consequence of using readline the bootstrapping binary will be compiled to not include ghci (and thus not have a dep on neither readline nor libedit), due to licensing issues.
We also got into trouble when we depend on these upgradeable packages, as the bundled ghc we use to bootstrap broke depending on which readline/libedit version the host system had installed. See bug #259867, comment 4.

The ghc-6.10.1 package in the haskell overlay has been patched to use readline.
There is also a new bootstrapping binary for x86, and the amd64 binary is on its way. You can still install with amd64, but you need to use libedit-20061103-r3 from the overlay.

For developers, to compile a binary ghc package to bootstrap with (ghc binary with disabled readline) when there is no existing ghc of the given version for your arch yet you run this:
 $ USE="ghcmakebinary ghcbootstrap doc" emerge -b dev-lang/ghc
Note that you need to already have a previous version of ghc to use USE="ghcbootstrap".

For those of you who would like to try the new ghc 6.10.2 rc1 it is also available in the overlay (named ghc-6.10.1.20090314).
Comment 11 Marijn Schouten (RETIRED) gentoo-dev 2009-08-05 10:47:38 UTC
Hi Lennart,

could you please provide another update on the situation?

I was also wondering about the licensing issue you mention. GHC is BSD licensed, so it should be GPL-2 compatible, no?
Comment 12 Paulo J. Matos 2009-10-26 14:12:47 UTC
What's the current situation with this bug?
Comment 13 Lennart Kolmodin (RETIRED) gentoo-dev 2009-10-31 15:56:18 UTC
Hey guys,
sorry for the delay.

GHC 6.10.4 has been unmasked in portage, enjoy!

Have a look at the tool haskell-updater (it's replacing ghc-updater) to recompile your previously installed libraries.

Cheers!
Comment 14 renato gallo 2009-12-03 17:49:49 UTC
Created attachment 211880 [details]
ghc build log 

checking version of ghc... 6.10.4                                                                                                                                                                                    
checking for nhc... no                                                                                                                                                                                               
checking for nhc98... no                                                                                                                                                                                             
checking for hbc... no                                                                                                                                                                                               
checking for ld... /usr/bin/ld                                                                                                                                                                                       
./configure: line 11121: syntax error: unexpected end of file
Comment 15 renato gallo 2009-12-03 17:50:31 UTC
Created attachment 211882 [details]
autoconf.out
Comment 16 renato gallo 2009-12-03 17:52:18 UTC
Portage 2.1.7.10 (default/linux/amd64/10.0, gcc-4.4.2, glibc-2.11-r0, 2.6.31-gentoo-r6 x86_64)
=================================================================                             
System uname: Linux-2.6.31-gentoo-r6-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Thu, 03 Dec 2009 15:45:01 +0000                                                       
app-shells/bash:     4.0_p35                                                                             
dev-java/java-config: 2.1.9-r1                                                                           
dev-lang/python:     2.6.4, 3.1.1-r1                                                                     
dev-python/pycrypto: 2.1.0_beta1                                                                         
dev-util/cmake:      2.8.0                                                                               
sys-apps/baselayout: 2.0.1                                                                               
sys-apps/openrc:     0.5.2-r2                                                                            
sys-apps/sandbox:    2.2                                                                                 
sys-devel/autoconf:  2.13, 2.64                                                                          
sys-devel/automake:  1.4_p6, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11                                            
sys-devel/binutils:  2.20                                                                                
sys-devel/gcc-config: 1.4.1                                                                              
sys-devel/libtool:   2.2.6b                                                                              
virtual/os-headers:  2.6.30-r1                                                                           
ACCEPT_KEYWORDS="amd64 ~amd64"                                                                           
ACCEPT_LICENSE="* -@EULA"                                                                                
CBUILD="x86_64-pc-linux-gnu"                                                                             
CFLAGS="-lm -march=nocona -O2 -pipe"                                                                     
CHOST="x86_64-pc-linux-gnu"                                                                              
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /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/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"            
CXXFLAGS="-lm -march=nocona -O2 -pipe"                                                                                                                                                                               
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.mdfnet.se/mirror/gentoo"
LANG="it_IT.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="it no en nb"
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"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="2dnow 3dnowext 7zip X Xaw3d a52 aac aalib abyss accessibility acl acpi ada addbookmarks akode akonadi alias alsa amd64 amr amrb ao apache2 apcupsd applet aqua_theme archive ares artworkextra assistant athena audacious audiofile autoipd automount autoreplace avahi avantgo bash-completion beagle belagle berkdb bidi bittorrent bl bluetooth bonjour bookmarks branding bzip2 c3p0 cairo caps captury carbone_theme cdb cdda cddb cdio cdparanoia cdr cdrkit cgi chdir chm cisco ck clamavfontconfig cli config-file connection-sharing connectionstatus consolekit contactnotes coverage cpudetection cracklib crypt cscope ctype cups cupsddk curl curlwrappers cvs daap dbus designer-plugin desktopglobe device-mapper devil dga dhcpcd digitalradio directfb disk-partition diskio djvu dmx dnd dns doc dri dtmf dts dv dvb dvd dvdr dvi ebook editor eds elf emacs emacx emovix enca encode eolconv epiphany epos esd exchange exif expat extensible extras fam fasttrack fax fbcon fbcondecor festival ffmpeg filepicker filter firefox fits flac flatfile fltk fontforge foomaticdb fortran fping freetts freewnn ftp fuse gadu galago games garmin gcj gconf gd gdbm gedit geoip ggi gif gimp git glep glib glitz gmp gmplayer gnokii gnome gnome-keyring gnomecd gnutella gnutls google-gadgets gpg gphoto2 gpm gps graphwiz groupwise gsf gsm gstreamer gtk gtkhtml guile gz gzip-el h224 h281 h323 hal hash hddtemp hdri hesiod hfs highlight history hotplug howl-compat http-forms http-server hybrid-auth i18n iax iceweasel iconv icu id3tag idn ieee1394 imagemagick imap imlib indi inifile inotify inquisitio ioctl iodbc iostats ipod iproute2 ipv6 irc irda irmc ivr ixj jabber jadetex jai java java5 java6 javamail javascript jbig jce jingle jmf jms jmx joystick jpeg jpeg2k json kde kdrive kerberos kig-scripting kipi kolab kontact kqemu kvm ladspa lame laptop lastfm latex lcms ldap legacyssl libcaca libedit libgda libnotify libsamplerate libssh2 libv4l2 lid lilo lirc live lm_sensors log4j logitech-mouse lua lua-cairo lua-imlib lzma lzo mad mail math mbrola mcve md5sum mdnsresponder-compat meanwhile mfd-rewrites mhash mikmod mjpeg mmap mmx mng moc modules mono motif mouse mozdevelop mp2 mp3 mp3tunes mpd mpeg mplayer msn mtp mudflap mule multilib musepack musicbrainz mysql mysqli mythtv nano-syntax nas nat nautilus ncurses neXt nemesi netmeeting network network-cron networking networkmanager new-login nis nls nntp nowlistening npp nptl nptlonly nsplugin nss ntp nuv nvidia ocean odbc odk offensive ogg old-daemons openal openexr openft opengl openmp openntpd openssl opensslcrypt oracle oscar otr pam pango parse-clocks passwordsave pch pcntl pcre pda pdf pdo perl perl-geoipupdate phonon php pink pipechan pkcs11 plasma plotutils plugins png pnm pop portage postproc povray ppds pppd pulseaudio python python-bindings q32 q8 qa qos qq qt-webkit qt3 qt3support qt4 quicktime radio rar raster rdesktop readline recode redland reflection remote resolvconf rfc4175 rpm rss rtc ruby ruby-bindings run-as-root samba sametime sasl savedconfig sbc scanner schedule script sdl seamonkey semantic-desktop sendmail sensord serial servletapi session shmvideo simplexml sip sipim skype slang slp smartcard smp sms smux sndfile snmp soap sockets socks socks5 solver sound soup sox speech speechd speex spell spl sql sqlite srt srtp sse sse2 ssl ssse3 startup-notification statistics stats subtitles subversion suhosin suid svg swat sysfs syslog t1lib taglib tcl tcpd teletext telnet test test-framework test-programs testbed tetex texteffect tga theora threads thumbnail tidy tiff timidity tk tntc tokenizer toolbar toolkit-scroll-bars tools tracker translator truetype tseng tslib tts tunepimp unicode upnp usb utils v4l v4l2 vcd vde vdr video-file videos vim-pager vim-syntax vim-with-x visibility vnc vorbis vpb vxml wav wavpack wddx weather-metar weather-xoap webinterface webkit webpresence wifi winbind winpopup wlm wmf x264 xanim xattr xcap xcb xcomposite xemacs xext xface xforms xft xim xine xinerama xinetd xml xmlreader xmlrpc xmlwriter xmp xorg xpm xscreensaver xsl xulrunner xv xvid xvmc yahoo yaz yv12 zeroconf zip zlib zoran zsh-completion zvbi" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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="unique_id actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_iduserdir usertrack vhost_alias" APACHE2_MPMS="event" CAMERAS="adc65 agfa_cl20 aox barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z template toshiba_pdrm11" DVB_CARDS="tda1004x" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse acecad aiptek digitaledge elographics fpit hyperpen jamstudio joystick magellan mutouch palmax spaceorb summa synaptics tek4957 ur98 vmmouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it no en nb" LIRC_DEVICES="all" NETBEANS_MODULES="*" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 17 renato gallo 2009-12-03 17:53:08 UTC
please reopen

(In reply to comment #13)
> Hey guys,
> sorry for the delay.
> 
> GHC 6.10.4 has been unmasked in portage, enjoy!
> 
> Have a look at the tool haskell-updater (it's replacing ghc-updater) to
> recompile your previously installed libraries.
> 
> Cheers!
> 

Comment 18 Lennart Kolmodin (RETIRED) gentoo-dev 2009-12-03 19:41:14 UTC
When you run into a new issue, please open a new bug. The autoconf issue has nothing to do with the bumping of ghc.

Also, your issue is already registered at bug #295487.