Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 123465

Summary: dev-lang/hugs98-2005.3-r2 not installing library files
Product: Gentoo Linux Reporter: benjrh <benjrh>
Component: New packagesAssignee: Gentoo's Haskell Language team <haskell>
Status: VERIFIED TEST-REQUEST    
Severity: normal CC: benjrh, twp
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Full output of emerge -b hugs98
/home/payne/hugs98-2005.3-find.patch

Description benjrh 2006-02-20 01:40:24 UTC
The dev-lang/hugs98-2005.3-r2 ebuild is not installing the library files, so hugs cannot run. The libraries should be installed in source form.
Comment 1 Duncan Coutts (RETIRED) gentoo-dev 2006-02-20 11:02:13 UTC
It works ok here. We'll need more information to track this down.

Can you add the result of emerge --info, what USE flags you used when emerging hugs98 and it be great if you could get us a build log. If there's anything else you think might be relevant then add that too.

Another thing that may be relevant if you emerged with USE="opengl" is which OpenGL implementation you're using; nvidia or xorg. What does this give:
$ opengl-update --get-implementation
Comment 2 benjrh 2006-02-20 22:23:40 UTC
Created attachment 80344 [details]
Full output of emerge -b hugs98
Comment 3 benjrh 2006-02-20 22:28:41 UTC
No manual use flags, just those in emerge --info below.

Essentially, directory /usr/lib/hugs/libraries is missing.

$ opengl-update --get-implementation
xorg-x11

$ hugs
__   __ __  __  ____   ___      _________________________________________
||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
||---||         ___||           World Wide Web: http://haskell.org/hugs
||   ||                         Report bugs to: hugs-bugs@haskell.org
||   || Version: March 2005     _________________________________________

Haskell 98 mode: Restart with command line option -98 to enable extensions

Hugs.Prelude not found on current path: ".:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/libraries:{Hugs}/packages/*:{Hugs}/oldlib"

FATAL ERROR: Unable to load prelude implementation

$ emerge --info
Gentoo Base System version 1.12.0_pre16
Portage 2.1_pre4-r1 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.14-gentoo-r7 i686)
=================================================================
System uname: 2.6.14-gentoo-r7 i686 AMD Athlon(tm) Processor
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2-r1
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-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -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/lib/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control /var/service"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.pacific.net.au/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://mirror.pacific.net.au/gentoo-portage"
USE="x86 3dnow 3dnowext X X509 a52 aac alsa apache2 apm avi berkdb bidi bitmap-fonts cdparanoia clamav crypt css cups djbfft djvu doc dv dvdread emboss encode esd examples fame foomaticdb fortran gdbm gif gpm gstreamer gtk gtk2 imagemagick imlib jce jpeg kde libg++ libwww live lzo mad maildir mailwrapper mbox mikmod mime mjpeg mmx mmxext motif mp3 mpeg musepack musicbrainz ncurses network nls nptl nsplugin ogg opengl oss pam pdflib perl png python qt quicktime readline real rtc sdl sftplogging smime sndfile spell sqlite sse ssl subversion tcpd theora truetype truetype-fonts type1-fonts udev utf8 v4l v4l2 vcd vorbis win32codecs xml xml2 xpm xv xvid yv12 zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS

Comment 4 Duncan Coutts (RETIRED) gentoo-dev 2006-02-21 04:16:30 UTC
Ok, we've seen this bug once before but have not yet managed to reproduce it figure out exactly what conditions make it happen.

I presume this also happens for you with hugs98-2005.3-r1 ?
Comment 5 Luis Araujo (RETIRED) gentoo-dev 2006-02-21 08:43:29 UTC
Could you please show the log of the building too?
Comment 6 Duncan Coutts (RETIRED) gentoo-dev 2006-02-21 08:48:20 UTC
Araujo, see comment #2. He's given us that already. :-)
Comment 7 benjrh 2006-02-21 15:31:55 UTC
> I presume this also happens for you with hugs98-2005.3-r1 ?

Yes, it does, although it hasn't always, since I've been using my original package for hugs98-2005.3-r1 to recover a working installation.
Comment 8 Tom Payne (RETIRED) gentoo-dev 2006-02-27 07:00:41 UTC
Same problem here with a fresh install.

Note the problem in the install phase:

(cd ../hugsdir; find libraries -type f -print) | while read file;\
        do      dir=`dirname $file`;\
                case $file in \
                *.hs|*.lhs|*.so|*.dll) \
                        ../install-sh -d /var/tmp/portage/hugs98-2005.3-r2/image//usr/li
b/hugs/$dir;\
                        ../install-sh -c -m 0644 ../hugsdir/$file /var/tmp/portage/hugs9
8-2005.3-r2/image//usr/lib/hugs/$file ;;\
                esac;\
        done
find: libraries: No such file or directory


Looking at libraries/Makefile.in we see:

install: all
        $(INSTALL) -d $(DESTDIR)$(hugsdir)/include
...
        (cd $(BUILD_DIR); find libraries -type f -print) | while read file;\
                do      dir=`dirname $$file`;\
                        case $$file in \
                        *.hs|*.lhs|*.so|*.dll) \
                                $(INSTALL) -d $(DESTDIR)$(hugsdir)/$$dir;\
                                $(INSTALL) -c -m 0644 $(BUILD_DIR)/$$file $(DESTDIR)$(hu
gsdir)/$$file ;;\
                        esac;\
                done

It seems that BUILD_DIR is not set correctly: Makefile.in sets it to ../hugsdir, but this doesn't actually contain the libraries subdirectory.
Comment 9 Duncan Coutts (RETIRED) gentoo-dev 2006-02-27 07:43:15 UTC
The hugsdir/libraries directory not existing is a symptom of things going wrong eariler in the build.

Tom, would you mind dropping by #gentoo-haskell some time and helping us debug this more interactively?
Comment 10 Tom Payne (RETIRED) gentoo-dev 2006-02-27 08:07:10 UTC
Sure. IRC is banned here at work, but I'll drop by one evening. In the meantime I'll do a little more investigation.
Comment 11 Tom Payne (RETIRED) gentoo-dev 2006-02-28 09:12:52 UTC
After a debugging session with dcoutts we think we've found the problem.

find changed behaviour in version 4.2.2 which caused libraries/tools/make_bootlib not to copy all the required .hs files.

The attached patch should fix this for find 4.2.2 and later while maintaining compatibility with earlier versions.
Comment 12 Tom Payne (RETIRED) gentoo-dev 2006-02-28 09:13:35 UTC
Created attachment 80947 [details, diff]
/home/payne/hugs98-2005.3-find.patch

Still not sure why the grep -ve '^[GN]HC$' is required :-)
Comment 13 Duncan Coutts (RETIRED) gentoo-dev 2006-02-28 10:44:17 UTC
Works for me with find 4.1.20.

Tom, thanks v much for taking the time to do all the debugging work with us.

I've added this patch to dev-lang/hugs98-2005.3-r2. The change is now in portage.

benjrh, would you mind syncing and trying the emerge again? Tell us if this fixes it for you. (Give it a couple hours for the change to propagate from portage cvs to the mirrors.)
Comment 14 benjrh 2006-02-28 22:33:05 UTC
(In reply to comment #13)
> benjrh, would you mind syncing and trying the emerge again? Tell us if this
> fixes it for you.

It does. Thanks!

The patch should probably be sent to the Hugs team.

Comment 15 Duncan Coutts (RETIRED) gentoo-dev 2006-03-01 01:57:29 UTC
I've sent this to the hugs-bugs list (though it's not yet clear that anything is getting through - I suspect it of being a subscriber-only list which seems a bit daft for a bug reporting mechanism). Anyway, I'll make sure it gets through.

I'm closing this bug now. Thanks again for the help, Tom and benjrh.