On Thu, 21 Apr 2011 23:06:23 -0300, David Bremner <brem...@debian.org> wrote:
> On Thu, 21 Apr 2011 19:32:18 -0600, Matthew Flatt <mfl...@cs.utah.edu> wrote:
>
> > Besides some code-organization problems, my guess is that "sconfig.h"
> > doesn't figure out that you're on a FreeBSD variant. Do you know what
> > pre-processor definition should be detected, if it's not __FreeBSD__?
> > 
> 
> At a guess, I'd say __FreeBSD_kernel__  
>

The attached patch does indeed allow compilation to finish. 
There is a problem linking to pthreads 

,----
| gcc -o racketcgc main.o  libracket.a libmzgc.a  -ldl -lm  
| libracket.a(port.o): In function `start_green_thread_timer':
| /home/bremner/racket/src/racket/src/port.c:8937: undefined reference to 
`pthread_create'
| libracket.a(port.o): In function `kill_green_thread_timer':
| /home/bremner/racket/src/racket/src/port.c:8956: undefined reference to 
`pthread_join'
`----

I can work around this by "configure --enable-pthread", but I suspect
the right fix is to add a stanza for GNU/kFreeBSD to src/configure.
I'm a little baffled how this file is maintained, though. Is there a
corresponding configure.ac somewhere?

All the best

David

P.S. with --enable pthread racket3m bus errors out, but one problem at a
time.

 
commit 0e6d5413e1c20042475b63fb35b0531bce652fa8
Author: David Bremner <brem...@debian.org>
Date:   Fri Apr 22 12:28:12 2011 -0300

    Detect Debian/kbsd  kernel
    
    This is controlled by preprocessor macro __FreeBSD_kernel__

diff --git a/src/racket/sconfig.h b/src/racket/sconfig.h
index f5408f3..1594078 100644
--- a/src/racket/sconfig.h
+++ b/src/racket/sconfig.h
@@ -320,7 +320,7 @@
 
   /************** x86/FreeBSD with gcc ****************/
 
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
  
 # if defined(__i386__)
 #  define SCHEME_PLATFORM_LIBRARY_SUBPATH "i386-freebsd"
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to