It looks like your compiler doesn't like .globl in the EXTERN macro.
Perhaps it expects .global instead of .globl? I've used the gcc 4.0.1
from Xcode with no problems on 10.5.4. Although, tbh, it's been a
while since I've built on PPC. Any other remaining PPC users out there?
Cyrus
On Aug 7, 2008, at 4:06 AM, Alexander Newman wrote:
> Hello All,
>
> I am new to this list, and am posting here because I have been
> trying to build sbcl 1.0.17/18 using the macports (BSD-based)
> build system for OS X, without a lot of success.
>
> Hardware/build environemnt details as follows: machine is a PPC
> G5 1.6 GHz uniproc with 2 GB/RAM, running OS X Leopard 10.5.4.
> Development trees installed are Xcode 3.1 and macports 1.6.0.
> Compilers used been gcc 4.0.1 (Xcode and macports versions) and
> 4.2.4 (macports). The terms that I'm running from are the bash
> that comes with OS X 10.5.4, and the xterm that ships with
> Xquartz 2.2.3 - (xorg-server 1.3.0-apple21).
>
> The paired bootstrap/source tarballs used so far have been sbcl
> 1.0.17/0.9.15 and 1.0.18/1.0.2.
>
> I clean up the previous attempts between builds.
>
> I have discussed the problem with the macports maintainer for
> sbcl (Greg Wright), who has referred me here.
>
> The problem is that the build chokes on the file
> <sbcl-dist>/src/runtime/ppc-assem.S. Compiler output flags both
> globals.h and ppc-assem.S as containing junk characters.
>
> Looking at the code in emacs, I can't see anything that looks
> obviously wrong, such as control characters, although there is a
> "^L" sequence at line 391 that looks a bit odd (although I must
> confess that I know nothing at all about assembly language). I
> deleted the "^L" in one attempt to see if its absence caused
> anything to happen differently: the output and the result were
> the same, but I put it back in again anyway.
>
> The compiler (gcc 4.2.4) output at just before the point of
> failure is given below:
>
> {{{
> <snip...>
> ppc-darwin-os.c: In function 'os_context_register_addr':
> ppc-darwin-os.c:109: warning: dereferencing type-punned pointer
> will break strict-aliasing rules
> ppc-darwin-os.c:112: warning: dereferencing type-punned pointer
> will break strict-aliasing rules
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o darwin-dlshim.o darwin-dlshim.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o darwin-langinfo.o darwin-langinfo.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o gencgc.o gencgc.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o ppc-assem.o ppc-assem.S
> gcc: unrecognized option '-no-cpp-precomp'
> globals.h:117:Rest of line ignored. 1st junk character valued
> 102 (f).
> globals.h:120:Rest of line ignored. 1st junk character valued 99 (c).
> globals.h:121:Rest of line ignored. 1st junk character valued 99 (c).
> globals.h:123:Rest of line ignored. 1st junk character valued 99 (c).
> ppc-assem.S:287:Rest of line ignored. 1st junk character valued
> 99 (c).
> ppc-assem.S:393:Rest of line ignored. 1st junk character valued
> 99 (c).
> ppc-assem.S:517:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:550:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:561:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:578:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:582:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:586:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:590:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:595:Rest of line ignored. 1st junk character valued
> 112 (p).
> ppc-assem.S:604:Rest of line ignored. 1st junk character valued
> 100 (d).
> ppc-assem.S:612:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:647:Rest of line ignored. 1st junk character valued
> 102 (f).
> make: *** [ppc-assem.o] Error 1
> Error: Target org.macports.build returned: shell command "unset
> LD_PREBIND && unset LD_PREBIND_ALLOW_OVERLAP && sh make.sh
> "/opt/local/var/macports/build/
> _opt_local_var_macports_sources_rsync
> .macports.org_release_ports_lang_sbcl/work/sbcl-1.0.2-powerpc-darwin/
> src/runtime/sbcl
> --core
> /opt/local/var/macports/build/
> _opt_local_var_macports_sources_rsync
> .macports.org_release_ports_lang_sbcl/work/sbcl-1.0.2-powerpc-darwin/
> output/sbcl.core
> --disable-debugger --sysinit /dev/null --userinit /dev/null" "
> returned error 2
> Command output: gcc: unrecognized option '-no-cpp-precomp'
> ppc-darwin-os.c: In function 'os_context_register_addr':
> ppc-darwin-os.c:109: warning: dereferencing type-punned pointer
> will break strict-aliasing rules
> ppc-darwin-os.c:112: warning: dereferencing type-punned pointer
> will break strict-aliasing rules
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o darwin-dlshim.o darwin-dlshim.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o darwin-langinfo.o darwin-langinfo.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o gencgc.o gencgc.c
> gcc: unrecognized option '-no-cpp-precomp'
> gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp
> -c -o ppc-assem.o ppc-assem.S
> gcc: unrecognized option '-no-cpp-precomp'
> globals.h:117:Rest of line ignored. 1st junk character valued
> 102 (f).
> globals.h:120:Rest of line ignored. 1st junk character valued 99 (c).
> globals.h:121:Rest of line ignored. 1st junk character valued 99 (c).
> globals.h:123:Rest of line ignored. 1st junk character valued 99 (c).
> ppc-assem.S:287:Rest of line ignored. 1st junk character valued
> 99 (c).
> ppc-assem.S:393:Rest of line ignored. 1st junk character valued
> 99 (c).
> ppc-assem.S:517:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:550:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:561:Rest of line ignored. 1st junk character valued
> 120 (x).
> ppc-assem.S:578:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:582:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:586:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:590:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:595:Rest of line ignored. 1st junk character valued
> 112 (p).
> ppc-assem.S:604:Rest of line ignored. 1st junk character valued
> 100 (d).
> ppc-assem.S:612:Rest of line ignored. 1st junk character valued
> 102 (f).
> ppc-assem.S:647:Rest of line ignored. 1st junk character valued
> 102 (f).
> make: *** [ppc-assem.o] Error 1
>
> Warning: the following items did not execute (for sbcl):
> org.macports.activate org.macports.build org.macports.destroot
> org.macports.install
> Error: Status 1 encountered during processing.
>
> }}}
>
> The single parenthesised chars at the end of each "rest of line
> ignored" output line appear to be the first chars in the
> GFUNCDF() declarations(?).
>
> With global.h all errors are associated with EXTERN, and with
> the .S file, all the errors are associated with "GFUNCDEF".
>
> There is also the "unset LD_PREBIND..." error to consider (see
> output above).
>
> Running (sudo) sh make.sh from the toplevel dir of the source
> without any of the macports machinery also gives the same
> result. I am stuck at this point as my knowledge of assembler is 0.
>
> I've googled "1st junk character ignored" and come up with a
> variety of project/platform combinations, but there does seem to
> be a clustering around OS X. I have only come up with reports of
> this phenomenon, but no solutions to it.
>
> Any advice would be greatly appreciated.
>
> Best regards,
> Alex Newman, PhD.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Sbcl-help mailing list
> Sbcl-help@...
> https://lists.sourceforge.net/lists/listinfo/sbcl-help
|