#766: GHC 6.4.2 won't build on Mac OS X
-------------------------+--------------------------------------------------
    Reporter:  guest     |        Owner:         
        Type:  bug       |       Status:  new    
    Priority:  normal    |    Milestone:         
   Component:  Compiler  |      Version:  6.4.2  
    Severity:  blocker   |     Keywords:         
          Os:  MacOS X   |   Difficulty:  Unknown
Architecture:  powerpc   |  
-------------------------+--------------------------------------------------
'''Problem'''
 I'm running Mac OS X Tiger (10.4.6) and trying to build GHC 6.4.2 (using
 GCC 4.0.1 and GHC 6.4.1) and I'm ran into a problem where certain
 constants (e.g., UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END) are not
 found, causing compilation to stop.  The same issue occurred for at least
 one other user with GHC 6.5; unfortunately, I can't find the post again.

 '''Solution?'''
 Tiger ships with a NetBSD partial version of the readline library in /usr.
 Unfortunately, this file lacks a lot of the functionality in the GNU
 readline and is not compatible enough.

 To get around this:
 # Download and decompress the GNU readline library, v5.1 tarball (other
 version may work)
 # cd <readline source dir>
 # ./configure
 # make
 # sudo make install #Installs to /usr/lib/include and /usr/lib/bin
 # cd <GHC source dir>
 # export LDFLAGS=-L/usr/local/lib # tell linker to use GNU version of
 readline
 # export CPPFLAGS=-I/usr/local/include # tell compiler to use GNU version
 of readline
 # ./configure --disable-openal --disable-alut # Audio disabled because of
 unrealted bug
 # make
 # sudo make install

 This should do it.  Steps 7 and 8 could cause problems because the compile
 will look for ALL libraries in /usr/local before looking in /usr.

 The compilation is successful and ghc and ghci run; however,
 Unfortunately, I won't be able to test the results for some time.

 '''Follow-Up?'''
 It should be possible to detect the lack of readline through the configure
 process.  The NetBSD bad readline.h file results in the following
 statements:
 <pre>
 checking for rl_erase_empty_line in -lreadline... no
 checking for rl_free_undo_list in -lreadline... no
 </pre>

 The GNU readline 5.1 library results in the following statements:
 <pre>
 checking for rl_erase_empty_line in -lreadline... yes
 checking for rl_free_undo_list in -lreadline... yes
 </pre>

 It may be possible to create a test in the configure file by looking at
 the platform and these two functions.  Also, the platform-specific
 documentation could be updated.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/766>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to