Ticket #72 (closed defect: invalid)
Broken profiling libraries in OS X package
| Reported by: | atomb | Owned by: | gregorycollins |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | OSX installer | Keywords: | |
| Cc: |
Description
After a fresh install of 2009.2.0.1-beta1 package for OS X on a 1.5.7 system (Leopard), I tried to use cabal-install to install several packages with profiling information. The packages depending on libraries included in the platform, but not included with GHC, failed:
$ ghc-pkg list
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/./package.conf:
Cabal-1.6.0.3, GLUT-2.1.1.2, HTTP-4000.0.6, HUnit-1.2.0.3,
OpenGL-2.2.1.1, QuickCheck-1.2.0.0, array-0.2.0.0, base-3.0.3.1,
base-4.1.0.0, bytestring-0.9.1.4, cgi-3001.1.7.1,
containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3),
(dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3),
(dph-prim-seq-0.3), (dph-seq-0.3), editline-0.2.1.0,
extensible-exceptions-0.1.1.0, fgl-5.4.2.2, filepath-1.1.0.2,
(ghc-6.10.3), ghc-prim-0.1.0.0, haddock-2.4.2, haskell-src-1.0.1.3,
haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2, integer-0.1.0.1,
mtl-1.1.0.2, network-2.2.1, network-2.2.1.1, old-locale-1.0.0.1,
old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1,
parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1,
regex-base-0.72.0.2, regex-compat-0.71.0.1, regex-posix-0.72.0.3,
rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-haskell-2.3.0.1,
time-1.1.2.4, time-1.1.3, unix-2.3.2.0, xhtml-3000.2.0.1,
zlib-0.5.0.0
/Users/atomb/.ghc/i386-darwin-6.10.3/package.conf:
$ cabal install -p lazysmallcheck
Resolving dependencies...
Downloading lazysmallcheck-0.3...
Configuring lazysmallcheck-0.3...
Preprocessing library lazysmallcheck-0.3...
Building lazysmallcheck-0.3...
[1 of 2] Compiling Test.LazySmallCheck.Generic ( Test/LazySmallCheck/Generic.hs, dist/build/Test/LazySmallCheck/Generic.o )
[2 of 2] Compiling Test.LazySmallCheck ( Test/LazySmallCheck.hs, dist/build/Test/LazySmallCheck.o )
[1 of 2] Compiling Test.LazySmallCheck.Generic ( Test/LazySmallCheck/Generic.hs, dist/build/Test/LazySmallCheck/Generic.p_o )
[2 of 2] Compiling Test.LazySmallCheck ( Test/LazySmallCheck.hs, dist/build/Test/LazySmallCheck.p_o )
ar: creating archive dist/build/libHSlazysmallcheck-0.3.a
ar: creating archive dist/build/libHSlazysmallcheck-0.3_p.a
Installing library in /Users/atomb/.cabal/lib/lazysmallcheck-0.3/ghc-6.10.3
Registering lazysmallcheck-0.3...
Reading package info from "dist/installed-pkg-config" ... done.
Writing new package config file... done.
$ cinstall harpy
Resolving dependencies...
Downloading harpy-0.4.1...
Configuring harpy-0.4.1...
Preprocessing library harpy-0.4.1...
Building harpy-0.4.1...
[1 of 7] Compiling Harpy.X86Disassembler ( Harpy/X86Disassembler.hs, dist/build/Harpy/X86Disassembler.o )
[2 of 7] Compiling Harpy.CodeGenMonad ( Harpy/CodeGenMonad.hs, dist/build/Harpy/CodeGenMonad.o )
[3 of 7] Compiling Harpy.Call ( Harpy/Call.hs, dist/build/Harpy/Call.o )
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
Loading package syb ... linking ... done.
Loading package array-0.2.0.0 ... linking ... done.
Loading package containers-0.2.0.1 ... linking ... done.
Loading package packedstring-0.1.0.1 ... linking ... done.
Loading package pretty-1.0.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package parsec-2.1.0.1 ... linking ... done.
Loading package mtl-1.1.0.2 ... linking ... done.
Loading package base-3.0.3.1 ... linking ... done.
[4 of 7] Compiling Harpy.X86CodeGen ( Harpy/X86CodeGen.hs, dist/build/Harpy/X86CodeGen.o )
[5 of 7] Compiling Harpy.X86Assembler ( Harpy/X86Assembler.hs, dist/build/Harpy/X86Assembler.o )
[6 of 7] Compiling Harpy.X86CGCombinators ( Harpy/X86CGCombinators.hs, dist/build/Harpy/X86CGCombinators.o )
[7 of 7] Compiling Harpy ( Harpy.hs, dist/build/Harpy.o )
Harpy/CodeGenMonad.hs:91:7:
Could not find module `Control.Monad.Trans':
Perhaps you haven't installed the profiling libraries for package `mtl-1.1.0.2'?
Use -v to see a list of the files searched for.
cabal: Error: some packages failed to install:
harpy-0.4.1 failed during the building phase. The exception was:
exit: ExitFailure 1
The dependencies of lazysmallcheck are all included in the GHC installer package. Some of the dependencies of harpy, however, are in the platform installer package. It appears that the packages included as part of the GHC installer package have good profiling information, while the packages included in the platform installer package do not.
If I reinstall mtl and parsec (harpy's other platform dependency) as user packages, with profiling information, then harpy builds correctly.
The strange thing is, there are profiling libraries for mtl and parsec included in the platform. They just don't seem to be usable?
$ ls -l /Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/mtl-1.1.0.2/ total 2432 drwxrwxr-x 3 root admin 102 May 8 09:45 Control -rw-rw-r-- 1 root admin 322904 May 8 09:45 HSmtl-1.1.0.2.o -rw-rw-r-- 1 root admin 844576 May 8 09:45 libHSmtl-1.1.0.2.a -rw-rw-r-- 1 root admin 1316304 May 8 09:45 libHSmtl-1.1.0.2_p.a
