Ticket #1195 (closed bug)

Opened 1 year ago

Last modified 9 months ago

Build error on MacOSX (Intel) 10.4.8 for HEAD from 2007-03-05 when compiling with ghc-6.6

Reported by: nominolo@gmail.com Assigned to:
Priority: normal Milestone: 6.8.1
Component: libraries/base Version: 6.7
Severity: normal Keywords:
Cc: Difficulty: Unknown
Test Case: Architecture: x86
Operating System: MacOS X

Description (Last modified by igloo)

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

Change History

03/06/07 09:28:05 changed by thorkilnaur

On PPC Mac OS X 10.4, http://darcs.haskell.org:8010/tnaur%20PPC%20OSX%20head/builds/12/step-compilestage1/0 has a different error:

== make all -r -f Makefile;
 in /Users/thorkilnaur/tn/buildbot/ghc/tnaur-ppc-osx/tnaur-ppc-osx-head/build/libraries/base
------------------------------------------------------------------------
../../compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude -"#include" HsBase.h -funbox-strict-fields -package-name  base-2.0 -O -fasm -fgenerics  -fgenerics    -c GHC/Err.lhs-boot -o GHC/Err.o-boot  -ohi GHC/Err.hi-boot
GHC error in desugarer lookup in base:GHC.Err:
  Failed to load interface for `GHC.Base':
    Use -v to see a list of the files searched for.
ghc-6.7.20070221: panic! (the 'impossible' happened)
  (GHC version 6.7.20070221 for powerpc-apple-darwin):
	initDs user error (IOEnv failure)

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

make[2]: *** [GHC/Err.o-boot] Error 1

But the reaction following the error is similar:

------------------------------------------------------------------------
== make all -r -f Makefile;
 in /Users/thorkilnaur/tn/buildbot/ghc/tnaur-ppc-osx/tnaur-ppc-osx-head/build/libraries/haskell98
------------------------------------------------------------------------
../../compiler/ghc-inplace -H16m -O -package-name  haskell98-1.0 -O -fasm -fgenerics  -package base -fgenerics    -c Ix.hs -o Ix.o  -ohi Ix.hi

Ix.hs:1:0:
    Failed to load interface for `Prelude':
      Use -v to see a list of the files searched for.
make[2]: *** [Ix.o] Error 1
...
------------------------------------------------------------------------
== Finished making `all' in base haskell98 template-haskell readline regex-base regex-posix regex-compat parsec Cabal unix               stm   ...
PWD = /Users/thorkilnaur/tn/buildbot/ghc/tnaur-ppc-osx/tnaur-ppc-osx-head/build/libraries
------------------------------------------------------------------------
program finished with exit code 0

03/12/07 03:57:49 changed by igloo

  • description changed.
  • milestone set to 6.6.2.

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; \

11/05/07 04:21:17 changed by simonmar

Thomas, I presume this isn't happening for you any more?

11/05/07 06:43:10 changed by guest

  • status changed from new to closed.
  • resolution changed.

I can't tell, as I don't use MacOSX anymore. My work-around was to not use split_objs and haven't tried to use it again ever after. I'm closing it.

11/12/07 04:36:20 changed by simonmar

  • milestone changed from 6.6.2 to 6.8.1.