> I had already removed features to work around the lack of support of
> large files (64 bit C off_t type) in scsh. These features are now back
> in with the switch to guile.
I doubt your problem is actually 64 bit off_t, but something more
subtle. My OS has had 64 bit off_t on 32 bit systems for a decade.
scsh works without problems except for the usual caveats for something
that will only allow less that 31 bits at lseek and friends.
scsh will do the right thing with (seek foo 2147483647), but
(seek foo 2147483648) throws a type error. (seek foo 2147483647)
followed by (write-string "lets-go-past-the-barrier" foo) writes the
string with no trouble, despite producing a file that's larger than
2^31. This is pretty common behavior. Something is preventing bigger
numbers from getting to the C layer.
As for general lack of 64 bit cleanliness, you probably don't need
64 bits worth of addressing from your scripting language. While it
would be more reasonable if it did (gratuitous limits are bad), in
practice, you will probably find that you're using the wrong tool for
the job long before you hit address space limitations. Is there any
reason why you can't build scsh as a 32 bit binary?