Skip to content

ghc fails with -O flags on Mandrake

Hi the Glorious GHC Team,  
  
I suppose that it can be considered a bug that ghc fails to  
compile with -On, n>0 option while it compiles fine with no 
optimisation flags. For example, for a module as simple as:  
  
  module Test where  
  f x = x  
  
compiler fails with:  
  
  [rysiek@home LHS]$ ghc -O -c Test.hs  
  Prologue junk?: .globl __stginit_Test  
  __stginit_Test:  
          pushl   %ebp  
          movl    %esp, %ebp  
  
Compilation goes through when it is called with ghc -c Test.hs.  
  
I installed ghc version 5.04.3 on my Mandrake 9.0 Linux from   
a binary tar.bz file. The installation process went problemless;  
below please find log files generated for ./configure and for  
make install.  
  
I wonder if the problem has anything to do with version  
differences   
between the libraries used to produce a binary distribution  
and the ones that came with Mandrake 9.0. Of course, I've got  
both libreadline.so.4 and libncurses.so.5, as specified  
on ghc download page. Still, I wasn't able to install ghc from rpms   
because of unsatisfied requirements. For example,   
  
(.....  
Andrew Moran's rpm complains:  
  
  [root@home rysiek]# rpm --install ghc-5.04.3-1.i386.rpm  
  error: failed dependencies:  
          libc.so.6(GLIBC_2.3)   is needed by ghc-5.04.3-1  
          libreadline.so.4   is needed by ghc-5.04.3-1  
  
I understand the first of these complaints: /lib/libc.so.6 comes  
from glibc-2.2.5-16mdk on Mandrake, so GLIBC versions differ.  
Still, I don't know, how to read the second complain  
  
  [root@home rysiek]# locate libreadline  
  /lib/libreadline.so.4  
  /lib/libreadline.so.4.1  
  /lib/libreadline.so.4.2  
  /lib/libreadline.so.4.3  
  
This means that libreadline.so.4 is available, so perhaps the name  
of  
its rpm matters:  
  
  [root@home rysiek]# rpm -q -f /lib/libreadline.so.4  
  readline-4.3-4mdk  
.....)  
  
Anyway, after installation from a binary distribution went  
problemless  I would expect compiler to work 99,99999% 
problemless. In a situation when -On, n>0 options don't work  
I am unable to install fptools from their original bunch, for 
example. I am also not sure if it was possible to compile ghc  
from its sources. (I didn't try it, I expect,  however, that ghc  
itself is best compiled with lots of optimisation flags.)  
  
With Best Regards,  
Rysiek  
  
=== config.log  
  
This file contains any messages produced by compilers while  
running configure, to aid debugging if configure makes a mistake.  
  
configure:578: checking host system type  
configure:599: checking target system type  
configure:617: checking build system type  
configure:722: checking for perl  
configure:760: checking if your perl works in shell scripts  
configure:794: checking for a BSD compatible install  
configure:850: checking whether ln -s works  
configure:876: checking for sed  
configure:914: checking for gcc  
configure:1027: checking whether the C compiler (gcc  ) works  
configure:1043: gcc -o conftest    conftest.c  1>&5  
configure:1069: checking whether the C compiler (gcc  ) is a  
cross-compiler  
configure:1074: checking whether we are using GNU C  
configure:1102: checking whether gcc accepts -g  
configure:1134: checking whether you have an ok gcc  
configure:1164: checking how to run the C preprocessor  
  
=== make.log  
  
Configuring ghc, version 5.04.3, on i386-unknown-linux ...  
Creating a configured version of ghc-asm ..  
Done.  
Creating a configured version of ghc-split ..  
Done.  
Creating a configured version of ghc-5.04.3 ..  
Done.  
Creating a configured version of ghci-5.04.3 ..  
Done.  
Creating a configured version of ghc-pkg-5.04.3 ..  
Done.  
Creating a configured version of hsc2hs ..  
Done.  
./mkdirhier /usr/local/bin  
(cd lib/i386-unknown-linux; find . -type d -exec sh -c  
'../.././mkdirhier $0 /usr/local/lib/ghc-5.04.3/$0' {} \; )  
(cd share; find . -type d -exec sh -c '.././mkdirhier  
/usr/local/share/ghc-5.04.3/$0' {} \; )  
for i in  ghc-5.04.3 ghci-5.04.3 ghc-pkg-5.04.3 hsc2hs ""; do \  
   if test -n "$i" ; then /usr/bin/install -c -m 755    
bin/i386-unknown-linux/$i /usr/local/bin; fi; \  
done;  
for i in hp2ps ghcprof DrIFT DtdToHaskell Xtract ""; do \  
   if test -n "$i" ; then /usr/bin/install -c -m 755    
bin/i386-unknown-linux/$i /usr/local/bin; fi; \  
done;  
Creating a symbolic link from ghc-5.04.3 to ghc  
Creating a symbolic link from ghci-5.04.3 to ghci  
Creating a symbolic link from ghc-pkg-5.04.3 to ghc-pkg  
(cd lib/i386-unknown-linux; find . -type f -exec sh -c 'cp $0  
/usr/local/lib/ghc-5.04.3/$0' {} \; )  
for i in `(cd share; find . -type f )`; do \  
   /usr/bin/install -c -m 644   share/$i /usr/local/share/ghc-5.04.3/$i;  
\  
done  
./mkdirhier /usr/local/share/ghc-5.04.3/html   
if test -d share/html ; then cp -r share/html/*  
/usr/local/share/ghc-5.04.3/html ; fi  
for i in share/*.ps; do \  
	cp $i /usr/local/share/ghc-5.04.3 ; \  
done  
  
=======================================================================  
Installation of ghc-5.04.3 was successful.  
  
To use, add /usr/local/bin to your PATH.  
  
For documentation, see  
/usr/local/share/ghc-5.04.3/html/index.html  
=======================================================================  
  
Trac metadata
Trac field Value
Version 6.0
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution ResolvedDuplicate
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information