[racket-dev] Build failures since 5.2

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Feb 19 08:28:06 EST 2012

Thanks for tracking this down! Compiling with `-funisgned-char' on my
machine produced the same error.

I've corrected the problem (pushed to the git repo) and added a
release-time checklist item to try compiling with `-funisgned-char'.

At Sat, 18 Feb 2012 21:17:36 -0500, James McCoy wrote:
> Hi all,
> 
> Since 5.2, racket has been failing to build on some of Debian's less
> mainstream architectures where it had been building fine with 5.1.3.
> The failure scenario below is common among a few of the architectures
> (armel[0], s390[1], s390x[2])
> 
> [0]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=armel&ver=5.2.1%2Bdfs
> g1-1&stamp=1329603367
> [1]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390&ver=5.2.1%2Bdfsg
> 1-1&stamp=1329602283
> [2]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390x&ver=5.2.1%2Bdfs
> g1-1&stamp=1329601933
> 
> make[4]: Entering directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> mkdir xsrc/usr/bin/make xsrc/precomp.h
> make[5]: Entering directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> env XFORM_PRECOMP=yes ../racketcgc -cqu 
> /build/racket-5.2.1+dfsg1/src/racket/gc2/xform.rkt --setup . --cpp "gcc -E 
> -I./.. -I/build/racket-5.2.1+dfsg1/src/racket/gc2/../include 
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 "  --keep-lines -o xsrc/precomp.h 
> /build/racket-5.2.1+dfsg1/src/racket/gc2/precomp.c
> ...d/racket-5.2.1+dfsg1/collects/racket/private/reqprov.rkt:161:8: expand: 
> unbound identifier in module (in phase 1, transformer environment) in: recur-pre
> make[5]: *** [xsrc/precomp.h] Error 1
> make[5]: Leaving directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> 
> I took a look at one of Debian's wiki pages[3] to see if there was any
> commonality among those architectures which could explain this.
> 
> [3]: http://wiki.debian.org/ArchitectureSpecificsMemo
> 
> They all, unlike many others, use unsigned char by default.  Adding
> "-fsigned-char" to CFLAGS fixes the issue.  So it seems something was
> added between 5.1.3 and 5.2 that is sensitive to char signedness but
> doesn't explicitly declare the sign for char, like a lot of the code
> base does.
> 
> Cheers,
> -- 
> James
> GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <jamessan at debian.org>
> 
> ------------------------------------------------------------------------------
> [application/pgp-signature "signature.asc"] [~/Desktop & open] [~/Temp & open]
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.