Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 131658 - make 3.81 hangs when compiling ghc-6.4.1-r2
Summary: make 3.81 hangs when compiling ghc-6.4.1-r2
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-29 04:21 UTC by Tassilo Horn
Modified: 2006-04-30 08:28 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 Tassilo Horn 2006-04-29 04:21:39 UTC
When I emerge ghc-6.4.1-r2 it works all fine till this output:

Writing users_guide/type-extensions.html for sect1(type-extensions)
Writing users_guide/gadt.html for sect1(gadt)
Writing users_guide/template-haskell.html for sect1(template-haskell)
Writing users_guide/arrow-notation.html for sect1(arrow-notation)
Writing users_guide/sec-assertions.html for sect1(sec-assertions)
Writing users_guide/pragmas.html for sect1(pragmas)
Writing users_guide/rewrite-rules.html for sect1(rewrite-rules)
Writing users_guide/generic-classes.html for sect1(generic-classes)
Writing users_guide/concurrent-and-parallel.html for sect1(concurrent-and-parallel)
Writing users_guide/ghc-language-features.html for chapter(ghc-language-features)
Writing users_guide/sec-ffi-ghc.html for sect1(sec-ffi-ghc)
Writing users_guide/ffi.html for chapter(ffi)
Writing users_guide/wrong-compilee.html for sect1(wrong-compilee)
Writing users_guide/wrong.html for chapter(wrong)
Writing users_guide/happy.html for sect1(happy)
Writing users_guide/hsc2hs.html for sect1(hsc2hs)
Writing users_guide/utils.html for chapter(utils)
Writing users_guide/ch11s02.html for sect1
Writing users_guide/ch11s03.html for sect1
Writing users_guide/ch11s04.html for sect1
Writing users_guide/win32-dlls.html for sect1(win32-dlls)
Writing users_guide/win32.html for chapter(win32)
Writing users_guide/bugs.html for sect1(bugs)
Writing users_guide/bugs-and-infelicities.html for chapter(bugs-and-infelicities)
Writing users_guide/faq.html for chapter(faq)
Writing users_guide/ix01.html for index
Writing users_guide/index.html for book(users-guide)
cp ../../../mk/fptools.css users_guide/
------------------------------------------------------------------------
==fptools== make all - --no-print-directory -r;
 in /var/tmp/portage/ghc-6.4.1-r2/work/ghc-6.4.1/ghc/docs/ext-core
------------------------------------------------------------------------
make[3]: F
Comment 1 Tassilo Horn 2006-04-29 04:21:39 UTC
When I emerge ghc-6.4.1-r2 it works all fine till this output:

Writing users_guide/type-extensions.html for sect1(type-extensions)
Writing users_guide/gadt.html for sect1(gadt)
Writing users_guide/template-haskell.html for sect1(template-haskell)
Writing users_guide/arrow-notation.html for sect1(arrow-notation)
Writing users_guide/sec-assertions.html for sect1(sec-assertions)
Writing users_guide/pragmas.html for sect1(pragmas)
Writing users_guide/rewrite-rules.html for sect1(rewrite-rules)
Writing users_guide/generic-classes.html for sect1(generic-classes)
Writing users_guide/concurrent-and-parallel.html for sect1(concurrent-and-parallel)
Writing users_guide/ghc-language-features.html for chapter(ghc-language-features)
Writing users_guide/sec-ffi-ghc.html for sect1(sec-ffi-ghc)
Writing users_guide/ffi.html for chapter(ffi)
Writing users_guide/wrong-compilee.html for sect1(wrong-compilee)
Writing users_guide/wrong.html for chapter(wrong)
Writing users_guide/happy.html for sect1(happy)
Writing users_guide/hsc2hs.html for sect1(hsc2hs)
Writing users_guide/utils.html for chapter(utils)
Writing users_guide/ch11s02.html for sect1
Writing users_guide/ch11s03.html for sect1
Writing users_guide/ch11s04.html for sect1
Writing users_guide/win32-dlls.html for sect1(win32-dlls)
Writing users_guide/win32.html for chapter(win32)
Writing users_guide/bugs.html for sect1(bugs)
Writing users_guide/bugs-and-infelicities.html for chapter(bugs-and-infelicities)
Writing users_guide/faq.html for chapter(faq)
Writing users_guide/ix01.html for index
Writing users_guide/index.html for book(users-guide)
cp ../../../mk/fptools.css users_guide/
------------------------------------------------------------------------
==fptools== make all - --no-print-directory -r;
 in /var/tmp/portage/ghc-6.4.1-r2/work/ghc-6.4.1/ghc/docs/ext-core
------------------------------------------------------------------------
make[3]: Für das Ziel »all« ist nichts zu tun.
------------------------------------------------------------------------
==fptools== make all - --no-print-directory -r;
 in /var/tmp/portage/ghc-6.4.1-r2/work/ghc-6.4.1/ghc/docs/storage-mgt
------------------------------------------------------------------------
make[3]: Für das Ziel »all« ist nichts zu tun.
------------------------------------------------------------------------
===fptools== Finished making `all' in users_guide ext-core storage-mgt ...
PWD = /var/tmp/portage/ghc-6.4.1-r2/work/ghc-6.4.1/ghc/docs
------------------------------------------------------------------------
------------------------------------------------------------------------
==fptools== make all -wr;
 in /var/tmp/portage/ghc-6.4.1-r2/work/ghc-6.4.1/ghc/compiler
------------------------------------------------------------------------

This is the LAST output. That last make process seems to run endlessly, consuming ~99% of the CPU time, and it has not child processes. Think that's quite weird.

Here's the output of ps:
 0:00  \_ konsole [kdeinit] -session 10d7d36c64000114629445400000073970037_1146297426_442980
 0:00  |   \_ su -
 0:00  |       \_ -su
 0:01  |           \_ /usr/bin/python -O /usr/bin/emerge ghc -va
 0:00  |               \_ tee -i -a /var/log/portage/4503-ghc-6.4.1-r2.log
 0:00  |               \_ [ghc-6.4.1-r2] sandbox /usr/lib/portage/bin/ebuild.sh compile
 0:00  |                   \_ /bin/bash /usr/lib/portage/bin/ebuild.sh compile
 0:00  |                       \_ make -j3 -j1 all datadir=/usr/share/doc/ghc-6.4.1-r2
 0:00  |                           \_ /bin/sh -c case '-r' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;;
 0:00  |                               \_ make -C ghc all
 0:00  |                                   \_ /bin/sh -c case '-wr' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_o
25:02  |                                       \_ make --no-print-directory -C compiler -wr all

I tried compiling with MAKEOPTS="-j1" instead of -j3, but that didn't help.

~# emerge --info
Portage 2.1_pre9-r5 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r4 i686)
=================================================================
System uname: 2.6.16-gentoo-r4 i686 Genuine Intel(R) CPU           T2300  @ 1.66GHz
Gentoo Base System version 1.12.0_pre18
dev-lang/python:     2.3.5-r2, 2.4.2-r1
dev-util/ccache:     [Not Present]
dev-util/confcache:  0.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -mtune=pentium-m -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=pentium-m -mtune=pentium-m -O2 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig confcache distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="en de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 X a52 aac accessibility acpi alsa aotuv asf async audiofile avi berkdb boundschecking bzip2 c++ cairo cap caps cdparanoia clamav cli cpudetection crypt css cups curl dbus dga dhcp dio dlloader dmi dri dvd dvdread dynamic eap-tls emacs encode esd exscalibar fam fbcon ffmpeg fftw finger flac fontconfig foomaticdb gdbm gif glut gmp gnutls gpgme gpm graphviz gs gsl gtk gtk2 hal hpn iconv icq idn imagemagick imap imlib imlib2 ipv6 isdnlog jabber jack java javascript jpeg jpeg2k kde kdeenablefinal ldap libedit libg++ libwww live lzo mad maildir mikmod mime mimencode mjpeg mmx mmxext mng motif mouse mozsvg mp3 mpeg musepack musicbrainz ncurses nls nntp nosrc nptl nptlonly nsplugin nvidia offensive ogg openexr opengl pam pcmcia pcre pdf pdflib pic png pnp postgres pppd qt qt4 quicktime readline real reflection rtc ruby samba sasl sdl session slp smp smtp sndfile sox speex spell spl sql sse sse2 ssl subversion svg sysfs tcpd tetex theora threads tidy tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales uudeview vorbis win32codecs wmf x264 xcomposite xine xinerama xinetd xml xorg xosd xpm xprint xscreensaver xv xvid xvmc zeroconf zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_en linguas_de userland_GNU video_cards_nvidia"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-04-29 04:24:47 UTC
cups-1.1.20 is not in portage any more...
Comment 3 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 05:56:17 UTC
(In reply to comment #1)
> cups-1.1.20 is not in portage any more...

Jakub, did you mean to make that comment on another bug? I don't think you meant this one.

Comment 4 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 05:59:17 UTC
Tassilo, could you tell us what version of make you've got?

I notice you're running ~x86.
Comment 5 Tassilo Horn 2006-04-29 06:12:01 UTC
It's sys-devel/make-3.81.
Comment 6 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 06:25:06 UTC
(In reply to comment #4)
> It's sys-devel/make-3.81.

As an experiment, would you mind downgrading to the current stable x86 version of make and trying the build again?

Currently that would be sys-devel/make-3.80-r4.

I suspect that it may be a bad interaction between make and ghc's makefiles. If make is not running anything and is taking 99% cpu time it rather hints at a make bug. It may turn out to be a bug in the ghc makefiles that was exposed by the new make version. Either way it'll be useful to know if the bug happes with versin 3.81 and not 3.80.
Comment 7 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 06:38:53 UTC
Looks like the same bug as this one (thanks kosmikus):

http://savannah.gnu.org/bugs/?func=detailitem&item_id=15584

and also reported as:

http://hackage.haskell.org/trac/ghc/ticket/678

So it looks like make 3.81 does indeed have a bug and the current workaround is to downgrade to make 3.80.
Comment 8 Tassilo Horn 2006-04-29 08:24:21 UTC
After donwgrading to make-3.80 the compile went ok.

Thanks, Duncan.
 -- Tassilo
Comment 9 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 08:36:09 UTC
Reasigning to base-system folks so they can track this bug in make 3.81.

Changing summary to better reflect the source of the problem.
Comment 10 Duncan Coutts (RETIRED) gentoo-dev 2006-04-29 14:49:30 UTC
Note that this bug is fixed in ghc-6.4.2 and we could apply the (trivial) patch to 6.4.1.
Comment 11 SpanKY gentoo-dev 2006-04-29 22:53:56 UTC
so is this a bug in make or ghc ?
Comment 12 Duncan Coutts (RETIRED) gentoo-dev 2006-04-30 03:11:57 UTC
(In reply to comment #10)
> so is this a bug in make or ghc ?

Personally I think it's a bug in make. It happens to be something we can work around in ghc by changing the makefiles.

The upstream devs seem to suggest that it's not a bug, just a change in unspecified behaviour which happens to cause make to appear to hang (there are reports that it doesn't hang but just takes 24hours to finnish).

You can make up your own mind if you think it really is a bug:

upstream:
http://savannah.gnu.org/bugs/?func=detailitem&item_id=15584

debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346248

The debian bug thread actually has more useful detail.

ghc workaround:
http://www.haskell.org//pipermail/glasgow-haskell-bugs/2006-February/006184.html

Anyway, even if we think it's a bug in make, if the make people arn't going to do anything about it then there's not a lot we can do. Hopefully any other packages that get bitten by this will have as easy a workaround.

Summary: feel free to close this as CANTFIX or something.
Comment 13 SpanKY gentoo-dev 2006-04-30 08:28:09 UTC
how about this ... if upstream make posts a fix/change/whatever that addresses this issue, i'll add it ... otherwise we'll just roll with WORKSFORME