[racket-dev] Compile Error (Everett Morse)

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Oct 12 23:23:00 EDT 2010

The old error was a problem with inline assembly that would show up
when gcc optimization is disabled. (Why was -O2 disabled for your
build?) I fixed that problem a few days ago, though I didn't make the
connection to your earlier post.

The new error looks like a mismatch in the way that files have been
compiled. Did you start from a clean build directory?


At Tue, 12 Oct 2010 20:55:00 -0600, Everett Morse wrote:
> I decided to try compiling Racket on my home desktop again.  With futures 
> disabled I get a different error.  I am on a 32-bit mac, so maybe things 
> aren't tested on there very often.  It's a Core Duo processor.
> 
> ranlib: file: libracket.a(darwin64.o) has no symbols
> ranlib: file: libracket.a(ffi64.o) has no symbols
> make racketcgc 
> mkdir -p  Racket.framework/Versions/5.0.1.8
> gcc -m32 -o Racket.framework/Versions/5.0.1.8/Racket  -framework 
> CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
> Undefined symbols:
>   "_GC_push_all_stack_partially_eager", referenced from:
>       _GC_push_current_stack in libmzgc.a(mark_rts.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[4]: *** [Racket.framework/Versions/5.0.1.8/Racket] Error 1
> make[3]: *** [cgc] Error 2
> make[2]: *** [3m] Error 2
> make[1]: *** [3m] Error 2
> make: *** [all] Error 2
> make install-3m
> make install-3m-common
> make install-common-first
> mkdir -p "/Users/eam/prgm/plt/bin" "/Users/eam/prgm/plt/collects" 
> "/Users/eam/prgm/plt/doc" "/Users/eam/prgm/plt/lib" 
> "/Users/eam/prgm/plt/include" "/Users/eam/prgm/plt/lib" 
> "/Users/eam/prgm/plt/man"
> cd racket; make install-3m
> make headers
> ./racketcgc -cqu ../../racket/mkincludes.rkt "/Users/eam/prgm/plt/include" 
> "../../racket" .
> /bin/sh: ./racketcgc: No such file or directory
> make[4]: *** [headers] Error 127
> make[3]: *** [install-3m] Error 2
> make[2]: *** [install-3m-common] Error 2
> make[1]: *** [install-3m] Error 2
> make: *** [install] Error 2
> 
> 
> 
> 
> On Sep 27, 2010, at 9:35 PM, James Swaine wrote:
> 
> > Do you know, by chance, if your processor supports the SSE2 extensions?  It 
> looks like you're compiling on a 32-bit Mac...
> > 
> 
> Wikipedia claims Core Duo supports SSE2.
> 
> > (In the meantime, if you don't need to use parallel futures, you can work 
> around this by disabling futures in the build.  Rerun the configure script and 
> pass --disable-futures.)
> > 
> > -James 
> > 
> >  
> > Is there something wrong with my build?  This happens when I remove 
> everything from my build directory AND with a fresh repository (so it's not 
> something weird I did).  I tried a pull on Fri, Sat, and today (Mon), and get 
> this error still.  (Using the command git clone 
> git://git.racket-lang.org/plt.git)
> > 
> > 
> > gcc -m32 -I./.. -I../../../racket/src/../include -arch i386  -Wall  -DOS_X 
> -D_DARWIN_UNLIMITED_SELECT -pthread   -fno-common  -c 
> ../../../racket/src/future.c -o future.o
> > ../../../racket/src/future.c: In function ?scheme_future_block_until_gc?:
> > ../../../racket/src/future.c:543: error: can't find a register in class 
> ?BREG? while reloading ?asm?
> > ../../../racket/src/future.c:543: error: ?asm? operand has impossible 
> constraints
> > make[6]: *** [future.o] Error 1
> > make[5]: *** [all] Error 2
> > make[4]: *** [mzlibrary] Error 2
> > make[3]: *** [cgc] Error 2
> > make[2]: *** [3m] Error 2
> > make[1]: *** [3m] Error 2
> > make: *** [all] Error 2
> > 
> > 
> > Thanks,
> > -Everett
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://lists.racket-lang.org/listinfo/dev
> 
> 
> 
> Thanks,
> -Everett
> 
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev


Posted on the dev mailing list.