Problem resolving library paths (missing path in package.conf?)
Hi,
When I run ghci and try to load the readline package, I get an error:
crossroads-able> ghci -package readline
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base-1.0 ... linking ... done.
Loading package readline-1.0 ... ghc-6.4.1: can't load .so/.DLL for: readline.5 (dlopen(libreadline.5.dylib, 10): image not found)
crossroads-able>
The reason for this is that in package.conf, under the InstalledPackageInfo for readline, the libraryDirs entry is
libraryDirs = ["/opt/local/lib/ghc-6.4.1"]
However, the readline library is in /opt/local/lib. If I manually edit the package.conf so that the above is
libraryDirs = ["/opt/local/lib/ghc-6.4.1","/opt/local/lib"]
the above problem is fixed.
I can tweak the darwinports installation procedure to do this editing automatically, but it shouldn't be necessary. Is this a bug in the build or configuration system, or is there something else I have overlooked? My ghci has readline support so certainly the configuration system has found the library.
In case it helps, the build.mk file used was
#
# Local configuration overrides for DarwinPorts
#
ReadlineIncludePath=/opt/local/include
SRC_CC_OPTS += -I/opt/local/include
SRC_HC_OPTS += -I/usr/include -I/opt/local/include -L/usr/lib -L/opt/local/lib
EXTRA_HSC2HS_OPTS += -I/opt/local/include
EXTRA_LD_OPTS += -L/usr/lib
EXTRA_LD_OPTS += -L/opt/local/lib
Thanks, Greg Wright
Trac metadata
Trac field | Value |
---|---|
Version | 6.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |