[haskell-platform] #72: Broken profiling libraries in OS X package

haskell-platform haskell-platform at projects.haskell.org
Sat Jun 20 16:52:09 EDT 2009


#72: Broken profiling libraries in OS X package
---------------------------+------------------------------------------------
 Reporter:  atomb          |       Owner:  gregorycollins
     Type:  defect         |      Status:  new           
 Priority:  major          |   Milestone:                
Component:  OSX installer  |    Keywords:                
---------------------------+------------------------------------------------
 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
 }}}

-- 
Ticket URL: <http://trac.haskell.org/haskell-platform/ticket/72>
haskell-platform <http://trac.haskell.org/haskell-platform>
The Haskell Platform: a comprehensive and robust collection of Haskell libraries


More information about the Haskell-platform mailing list