A drawback of adding `-fPIC' to the Racket build by default is that
everyone would pay a little of performance. For example,
racket -c -l racket
seems to take 5-8% longer when Racket is compiled with -fPIC. That's
probably about the worst-case hit, though, since loading `racket' from
source spends a lot of time in the C-implemented run-time system. An
example that spends all its time in JIT-generated code is unaffected.
(I also tried GC-intensive examples, but `-fPIC' doesn't seem to have
much effect on the Racket GC.)
Since the cost isn't so big, so I think it might be ok to add -fPIC to
the Ubuntu PPA's build. Another option is adding it as a default flag
for 64-bit Linux at the `configure' level, but that seems more complex.
But how important is it in your context to use the PPA-supplied
"libracket3m.a"? You could build your own "libracket3m.a" from the
Racket source, suppling `CPPFLAGS=-fPIC' to `configure'.
(On 32-bit x86 Linux, -fPIC isn't required for shared libraries.)