[GHC] #1018: ghci dynamic loading of X11 - unknown symbol `_printf$LDBLStub'

GHC trac at galois.com
Mon Nov 20 14:23:40 EST 2006


#1018: ghci dynamic loading of X11 - unknown symbol `_printf$LDBLStub'
------------------------+---------------------------------------------------
    Reporter:  ykardia  |       Owner:                      
        Type:  bug      |      Status:  new                 
    Priority:  normal   |   Milestone:                      
   Component:  GHCi     |     Version:  6.6                 
    Severity:  normal   |    Keywords:  X11, dynamic loading
  Difficulty:  Unknown  |    Testcase:                      
Architecture:  Unknown  |          Os:  MacOS X             
------------------------+---------------------------------------------------
Hello.

 I have a problem with using ghci to dynamically load the X11 library on
 Mac OS X.

 I create the following file:
 -- test.hs --
 module Main where
 import Graphics.X11.Xlib
 main = do print "Hello, world!"
 -------------

 When I compile this with ghc --make test.hs, I get an executable that
 is properly linked and works.

 With dynamic loading, there are two issues:

 1) A minor issue (easy workaround):
 When I try to load this with ghci, i.e.
 ----------------
 $ ghci test.hs
 [... ascii graphics ...]
 Loading package base ... linking ... done.
 Ok, modules loaded: Main.
 Prelude Main> main
 Loading package X11-1.1 ... can't load .so/.DLL for: X11
 (dlopen(libX11.dylib, 10): image not found)
 ----------------
 I can fix this by running ghci setting DYLD_LIBRARY_PATH=/usr/X11R6/lib,
 which is where the Apple X11 lives.

 2) Maybe a more serious issue?
 ----------------
 $ DYLD_LIBRARY_PATH=/usr/X11R6/lib ghci test.hs
 [... ascii graphics ...]
 Loading package base ... linking ... done.
 Ok, modules loaded: Main.
 Prelude Main> main
 Loading package X11-1.1 ... linking ... <interactive>:
 /opt/local/lib/ghc-6.6/HSX11_cbits.o: unknown symbol `_printf$LDBLStub'
 ghc-6.6: unable to load package `X11-1.1'
 ----------------

 Issue (1) is probably trivial, I am only pointing it out in case it is
 related to issue (2).

 When I pointed this out on darcs-users, there were some suggestion that
 this might be due to SystemStubs not being linked in, or some problem with
 the compiler - apparently X11 is meant to be compiled with gcc 3.3, and it
 should work if compiled with gcc 4 as long as SystemStubs is linked in
 (?).

 I have replicated this with the following combinations of software and
 hardware:
 Mac OS X 10.4.8, dual G5, Xcode 2.4.1 (gcc 4.0.1), Apple X11 1.1.3,
 macports ghc 6.6_1

 Mac OS X 10.4.8, dual G5, Xcode 2.3 (gcc 4.0.1), Apple X11 1.1.2,
 macports ghc 6.6_1

 Mac OS X 10.4.8, dual G5, Xcode 2.3 (gcc 4.0.1), Apple X11 1.1.2,
 binary distribution of ghc 6.6 for Mac OS X.

 Mac OS X 10.4.8, G4 (Powerbook), Xcode 2.3 (gcc 4.0.1), Apple X11 1.1.2,
 macports ghc 6.6_1

 What's wrong?

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1018>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list