symbol __stg_split_marker' is already defined

Donald Bruce Stewart dons at
Fri Oct 1 20:34:55 EDT 2004

> Hi,
> I am trying to build ghc 6.2.1 for AIX.  I successfully bootstrapped an
> unregisterised ghc-inplace from an i386 Linux box today.
> I am now trying to build a real ghc on AIX.  I've had endless trouble,
> and finally decided to put this in mk/
> GhcUnregisterised = YES
> GhcWithNativeCodeGen = NO
> GhcWithInterpreter = NO
> That made things run much smoother.  In fact, it made it to libraries/base.
> Now I get this:
> rm -f GHC/Base.o; if [ ! -d GHC/Base_split ]; then mkdir GHC/Base_split; else /o
> pt/freeware/bin/find GHC/Base_split -name '*.o' -print | xargs rm -f __rm_food;
> fi;
> ../../ghc/compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude -#include
> HsBase.h -funbox-strict-fields -package-name base -O -Rghc-timing  -split-objs
>   -c GHC/Base.lhs -o GHC/Base.o  -ohi GHC/Base.hi
> /tmp/ghc82602.hc:2593: warning: this decimal constant is unsigned only in ISO C9
> 0
> /tmp/ghc82602.s: Assembler messages:
> /tmp/ghc82602.s:128: Error: symbol `__stg_split_marker' is already defined
> /tmp/ghc82602.s:287: Error: symbol `__stg_split_marker' is already defined
> /tmp/ghc82602.s:448: Error: symbol `__stg_split_marker' is already defined
> And about a hundred more.  Ideas?

Try turning of split objs. They don't work on all platforms.  Add:
SplitObjs = NO

> Oh, BTW, I had to put a script named gcc on my path.  It says this:
> exec /usr/local/bin/gcc -mpowerpc -maix32 -mminimal-toc "$@"
> Otherwise, it trips all over itself whenever it encounters assembly (it's
> a powerpc cpu but gcc generates power code by default).  And the link fails
> (toc overflow -- mminimal-toc fixes that.)

Good idea.

> The system:
> AIX 5.1L
> PowerPC64 CPU (running in 32-bit mode)
> GCC 3.3.2
> GHC 6.2.1
> Thanks,
> John Goerzen

More information about the Glasgow-haskell-users mailing list