Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
I have created a ghc-updater script. This script is based on python-updater and does a similar job, but for the Glasgow Haskell Compiler: it scans the GHC library directory for installed stuff, and selects the packages that are responsible for rebuilding. I will try to add more information later. Comments, fixes, complaints welcome. ks
Created an attachment (id=42693) [details] ghc-updater script
Hi! I just emerged ghc-6.2.2 (it segfaults :-( - see #72464 - and after emerging I tried with running the script: gaura-nitai gour # /usr/sbin/ghc-updater * Starting GHC Updater from 6.2.2 to : * Searching for packages with files in the directories: * /usr/lib/ghc-6.2.2 /usr/lib/ghc-bin-6.2.2 /opt/ghc/lib/ghc-6.2.2 Adding to list: dev-haskell/c2hs-0.13.4 Adding to list: dev-haskell/buddha-1.2 * Calculating Upgrade Package List .. * Re-ordering packages to merge .. * Preparing to merge these packages in this order: dev-haskell/c2hs-0.13.4 dev-haskell/buddha-1.2 * Starting to merge (1/2) dev-haskell/c2hs-0.13.4 .. Calculating dependencies ...done! >>> emerge (1 of 1) dev-haskell/c2hs-0.13.4 to / >>> md5 src_uri ;-) c2hs-0.13.4.tar.gz >>> Unpacking source... >>> Unpacking c2hs-0.13.4.tar.gz to /var/tmp/portage/c2hs-0.13.4/work >>> Source unpacked. * econf: updating /var/tmp/portage/c2hs-0.13.4/work/c2hs-0.13.4/config.guess with /usr/share/gnuconfig/config.guess * econf: updating /var/tmp/portage/c2hs-0.13.4/work/c2hs-0.13.4/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-add-package --libdir= configure: error: expected an absolute directory name for --libdir: !!! ERROR: dev-haskell/c2hs-0.13.4 failed. !!! Function econf, Line 449, Exitcode 1 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. * Failed merging dev-haskell/c2hs-0.13.4 (1/2)! * Starting to merge (2/2) dev-haskell/buddha-1.2 .. Calculating dependencies ...done! >>> emerge (1 of 1) dev-haskell/buddha-1.2 to / >>> md5 src_uri ;-) buddha-1.2.tar.gz >>> Unpacking source... >>> Unpacking buddha-1.2.tar.gz to /var/tmp/portage/buddha-1.2/work >>> Source unpacked. * econf: updating /var/tmp/portage/buddha-1.2/work/buddha-1.2/config/config.guess with /usr/share/gnuconfig/config.guess * econf: updating /var/tmp/portage/buddha-1.2/work/buddha-1.2/config/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir= configure: error: expected an absolute directory name for --libdir: !!! ERROR: dev-haskell/buddha-1.2 failed. !!! Function econf, Line 449, Exitcode 1 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. * Failed merging dev-haskell/buddha-1.2 (2/2)! * ************************************************************ * * Packages that still need to be manually emerged : * * ************************************************************ * Failed Packages: * ---------------- * These packages have failed and need to be re-emerged again. * Alternatively, try re-running this script again to see if it * can be fixed. * emerge -p \~dev-haskell/c2hs-0.13.4 \~dev-haskell/buddha-1.2 Any idea (i'm on amd64)? Sincerely, Gour
It's not a bug of the script, it's been a bug in the ebuild. Unfortunately, as has been pointed out in #58588, the ~amd64 version of the ebuild I committed yesterday did not set the unregistered flag. The resulting compiler segfaults, and the ghc-updater indirectly fails because of that. You should do # emerge sync # emerge unmerge dev-lang/ghc # emerge dev-lang/ghc The explicit unmerge is needed, because you must bootstrap from ghc-bin, not the broken ghc. Sorry for the inconvenience. ks
> ># emerge sync ># emerge unmerge dev-lang/ghc ># emerge dev-lang/ghc >The explicit unmerge is needed, because you must bootstrap >from ghc-bin, not the broken ghc. >Sorry for the inconvenience. Hmm...I think it was bootstrapped from ghc-bin. Anyway, let me try again and followup. Sincerely, Gour
You didn't do anything wrong. The ebuild was broken. It should be fixed now. You only have to make sure that you now unmerge the broken ghc before trying to rebuild something. ks
>The explicit unmerge is needed, because you must bootstrap >from ghc-bin, not the broken ghc. >Sorry for the inconvenience. Hi! Let me inform you that updated ghc ebuild fixes the problem and the script runs fine. You can close #72464. Sincerely, Gour
This is established by now.