[GHC] #1195: Build error on MacOSX (Intel) 10.4.8 for HEAD from 2007-03-05 when compiling with ghc-6.6

GHC trac at galois.com
Mon Mar 12 06:57:51 EDT 2007


#1195: Build error on MacOSX (Intel) 10.4.8 for HEAD from 2007-03-05 when
compiling with ghc-6.6
--------------------------------+-------------------------------------------
 Reporter:  nominolo at gmail.com  |          Owner:         
     Type:  bug                 |         Status:  new    
 Priority:  normal              |      Milestone:  6.6.2  
Component:  libraries/base      |        Version:  6.7    
 Severity:  normal              |     Resolution:         
 Keywords:                      |     Difficulty:  Unknown
 Testcase:                      |   Architecture:  x86    
       Os:  MacOS X             |  
--------------------------------+-------------------------------------------
Changes (by igloo):

  * milestone:  => 6.6.2

Old description:

> make on MacOSX does not seem to stop when built errors occur.  The first
> error message is:
>
> /tmp/ghc23705_0/ghc23705_0.split__38.s:unknown:missing indirect symbols
> for section (__TEXT,__symbol_stub)
>
> which happens after build step:
>
> == make all -r -f Makefile;
>  in /Users/nominolo/Devel/Haskell/ghc/libraries/base
> ------------------------------------------------------------------------
> ../../compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude
> -"#include" HsBase.h -funbox-strict-fields -package-name  base-2.0 -O
> -Rghc-timing -fgenerics  -fgenerics -split-objs    -c GHC/Float.lhs -o
> GHC/Float.o  -ohi GHC/Float.hi
> ------------------------------------------------------------------------
>
> All following files consequently fail to build with the error message:
>  <File>.hs:1:0:
>     Failed to load interface for `Prelude':
>       Use -v to see a list of the files searched for.
>

> I was building with:
> $ uname -a
> Darwin <hostname> 8.8.1 Darwin Kernel Version 8.8.1: Mon Sep 25 19:42:00
> PDT 2006; root:xnu-792.13.8.obj~1/RELEASE_I386 i386 i386
>
> $ gcc -v
> Using built-in specs.
> Target: i686-apple-darwin8
> Configured with: /private/var/tmp/gcc/gcc-5250.obj~20/src/configure
> --disable-checking -enable-werror --prefix=/usr --mandir=/share/man
> --enable-languages=c,objc,c++,obj-c++ --program-transform-
> name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0
> --build=powerpc-apple-darwin8 --with-arch=pentium-m --with-tune=prescott
> --program-prefix= --host=i686-apple-darwin8 --target=i686-apple-darwin8
> Thread model: posix
> gcc version 4.0.1 (Apple Computer, Inc. build 5250)
>
> $ ghc --version
> The Glorious Glasgow Haskell Compilation System, version 6.6

New description:

 make on MacOSX does not seem to stop when built errors occur.  The first
 error message is:

 {{{
 /tmp/ghc23705_0/ghc23705_0.split__38.s:unknown:missing indirect symbols
 for section (__TEXT,__symbol_stub)
 }}}

 which happens after build step:

 {{{
 == make all -r -f Makefile;
  in /Users/nominolo/Devel/Haskell/ghc/libraries/base
 ------------------------------------------------------------------------
 ../../compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude
 -"#include" HsBase.h -funbox-strict-fields -package-name  base-2.0 -O
 -Rghc-timing -fgenerics  -fgenerics -split-objs    -c GHC/Float.lhs -o
 GHC/Float.o  -ohi GHC/Float.hi
 ------------------------------------------------------------------------
 }}}

 All following files consequently fail to build with the error message:
 {{{
  <File>.hs:1:0:
     Failed to load interface for `Prelude':
       Use -v to see a list of the files searched for.
 }}}

 I was building with:
 {{{
 $ uname -a
 Darwin <hostname> 8.8.1 Darwin Kernel Version 8.8.1: Mon Sep 25 19:42:00
 PDT 2006; root:xnu-792.13.8.obj~1/RELEASE_I386 i386 i386
 }}}

 {{{
 $ gcc -v
 Using built-in specs.
 Target: i686-apple-darwin8
 Configured with: /private/var/tmp/gcc/gcc-5250.obj~20/src/configure
 --disable-checking -enable-werror --prefix=/usr --mandir=/share/man
 --enable-languages=c,objc,c++,obj-c++ --program-transform-
 name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0
 --build=powerpc-apple-darwin8 --with-arch=pentium-m --with-tune=prescott
 --program-prefix= --host=i686-apple-darwin8 --target=i686-apple-darwin8
 Thread model: posix
 gcc version 4.0.1 (Apple Computer, Inc. build 5250)

 $ ghc --version
 The Glorious Glasgow Haskell Compilation System, version 6.6
 }}}

Comment:

 I suspect the problem is with mk/target.mk, around line 1172, which looks
 roughly like this:

 {{{
 all:
     @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *)
 x_on_err=1;; esac; \
     for i in $(SUBDIRS); do \
         $(MAKE) -C $$i all; \
         if [ $$? -eq 0 -o $$x_on_err -eq 0 ]; then true; else exit 1; fi;
 \
     done
 }}}

 I've pushed a patch to the 6.6 branch and HEAD which will should give some
 more information about what's going on:

 {{{
 hunk ./mk/target.mk 1179
 +       if [ $$x_on_err -eq 0 ]; \
 +           then echo "Won't exit on error due to MFLAGS: ${MFLAGS}"; \
 +       fi; \
 hunk ./mk/target.mk 1188
 -         if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1;
 fi; \
 +         if [ $$? -eq 0 -o $$x_on_err -eq 0 ]; \
 +             then echo "Finished making $@ in $$i": $$?; \
 +             else echo "Failed making $@ in $$i": $$?; exit 1; \
 +         fi; \
 }}}

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


More information about the Glasgow-haskell-bugs mailing list