"sysread for buffered IO" during QNX install

I’m trying to install ruby on QNX 6.2. I get as far as 'make install’
and then there seems to be a problem with using sysread on a buffered
stream.

It’s easy to reproduce the problem just calling FileUtils#copy_file:

···

===================================

cat a

1
2
3

cat b

./ruby -e ‘require “./lib/fileutils”; FileUtils.copy_file “a”, “b”’

./lib/fileutils.rb:409:in sysread': sysread for buffered IO (IOError) from ./lib/fileutils.rb:409:incopy_stream’
from ./lib/fileutils.rb:397:in copy_file' from ./lib/fileutils.rb:396:inopen’
from ./lib/fileutils.rb:396:in copy_file' from ./lib/fileutils.rb:395:inopen’
from ./lib/fileutils.rb:395:in `copy_file’
from -e:1

I had the same problem when building 1.7.3, except of course that was
using ftools.rb and File.syscopy.

The prebuilt binary (1.6.7) from the QNX repository does not have this
problem.

Joel VanderWerf wrote:

I’m trying to install ruby on QNX 6.2. I get as far as ‘make install’
and then there seems to be a problem with using sysread on a buffered
stream.

It’s easy to reproduce the problem just calling FileUtils#copy_file:

Oops. That was with a recent 1.8.0:

$ ./ruby -v
ruby 1.8.0 (2003-03-03) [x86-nto-qnx]