[racket] help with building racket on Solaris-Sparc

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed May 2 16:25:04 EDT 2012

Sorry for the delay. I've finally had a chance to look into this
problem, and I see two problems:

  * Line 792 of "port.c" should be

      scheme_semaphore_fd_set = (struct mz_fd_set *)scheme_malloc_atomic(3 * sizeof(fd_set));

    That is, `3 * sizeof(fd_set)' should replace `sizeof(struct mz_fd_set)'.

 * Lines 1257-1261 of "port.c" should be bracketed as follows:

    # ifdef STORED_ACTUAL_FDSET_LIMIT
        if (FDSET_LIMIT(sp) > FDSET_LIMIT(p)) {
           i = FDSET_LIMIT(sp);
           FDSET_LIMIT(p) = i;
        }
    # endif



At Mon, 23 Apr 2012 10:54:47 -0400 (EDT), HP Wei wrote:
> 
> On the Solaris-Sparc machine,
> I tried 'configure with --enable-sgc' and was stuck when make
> was compiling racket/src/port.c:
> 
> gcc -I....  -DUSE_SENORA_GC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>      -DMZ_USES_SHARED_LIB  -fPIC -DPIC
> 
> port.c:792  error: invalid application of 'sizeof' to incomplete type
>                     'struct mz_fd_set'
> 
> port.c:1259 error: lvalue required as left operand of assignment
> 
> -----------------------
> 
> In comparison,  I did try to make racket in a linux machine (Suse)
> with gcc version 4.5.1
> [ I did not invoke --enable-sgc  during configure step on this machine. ]
> And it finished without any issue.
> 
> 
> --hp
> 
> 
> 
> On Sun, 22 Apr 2012, Matthew Flatt wrote:
> 
> > I will have to investigate further, but as a workaround, you could try
> > configuring with `--enable-sgc'. That option causes a different garbage
> > collector to be used as an intermediate step toward building Racket's
> > normal garbage collector.
> >
> > At Sun, 22 Apr 2012 15:04:38 -0400 (EDT), HP Wei wrote:
> >>
> >> I am stuck during the process of building racket-5.2.1
> >> on a sparc machine running SunOS 5.10.
> >>
> >> gcc = gnu 4.3.2
> >> ld  = gnu 2.21
> >>
> >> ----------------------
> >>
> >> The process stops at this directory:
> >> /path/racket-5.2.1/src/build/racket/gc
> >>
> >> it has mach_dep1.lo,  and mach_dep2.lo
> >> and tries to do
> >> ./if_mach SPARC "" ld -r -o mach_dep.lo mach_dep1.lo mach_dep2.lo
> >>
> >> -->  mach_dep1.lo: file not recognized: File format not recognized
> >>
> >> I looked at the file content of mach_dep1.lo and mach_dep2.lo
> >> Both are ascii text file.
> >> And mach_dep1.lo leads me to   .libs/mach_dep1.o
> >> and first few bytes of 'od -c .libs/mach_dep1.o' are
> >>
> >> 177 E L F 001 002  001 ...
> >>
> >> ------------------------------------------------
> >>
> >> Is this ld issue ?
> >>
> >> Any suggestion how I can proceed ?
> >>
> >> thanks
> >> HP
> >> ____________________
> >>   Racket Users list:
> >>   http://lists.racket-lang.org/users
> >

Posted on the users mailing list.