[racket] help with building racket on Solaris-Sparc

From: HP Wei (hp at rentec.com)
Date: Sun May 6 16:02:26 EDT 2012

Thank you for taking the time to track that error.
I modified port.c from your suggestions.
And then I got below error messages.

in racket/src/thread.c
in lines 3527, 3528, 3529, 3561, 3562, 3596, 3597, 3805, 3814, 3818
all give this:
   warning: dereferencing 'void*' pointer
   error: request for member 'fds_bits' in something not a structure or
          union


--hp


On Wed, 2 May 2012, Matthew Flatt wrote:

> 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
>>
>>

Posted on the users mailing list.