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%2Bdfsg1-1&stamp=1329603367
[1]: 
https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390&ver=5.2.1%2Bdfsg1-1&stamp=1329602283
[2]: 
https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390x&ver=5.2.1%2Bdfsg1-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 <james...@debian.org>

Attachment: signature.asc
Description: Digital signature

_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to