This is with ruby-1.7.3-2002.12.21.
The make process seems to be ok (except for some warnings about a world
writable dir), and the ruby executable runs from the make dir. But there
are problems with ‘make test’ and ‘make install’.
make test
./rubytest.rb:35: warning: Insecure world writable dir /proc/boot, mode
040777
/home/vjoel/src/ruby/sample/test.rb:1156: warning: Insecure world
writable dir /
proc/boot, mode 040777
/home/vjoel/src/ruby/sample/test.rb:1163: warning: Insecure world
writable dir /
proc/boot, mode 040777
/home/vjoel/src/ruby/sample/test.rb:1164: warning: Insecure world
writable dir /
proc/boot, mode 040777
/home/vjoel/src/ruby/sample/test.rb:1171: warning: Insecure world
writable dir /
proc/boot, mode 040777
/home/vjoel/src/ruby/sample/test.rb:1181: warning: Insecure world
writable dir /
proc/boot, mode 040777
/home/vjoel/src/ruby/sample/test.rb:1182: warning: Insecure world
writable dir /
proc/boot, mode 040777
test failed
make: *** [test] Error 1
make install fails with:
./instruby.rb:114: private method sub' called for nil (NoMethodError) from ./instruby.rb:113:in
open’
from ./instruby.rb:113
from ./instruby.rb:101:in `each’
from ./instruby.rb:101
make: *** [install] Error 1
The nil value comes from an empty file. This seems to be caused by the
following code in syscopy in ftools.rb:
begin
while true
to.syswrite from.sysread(BUFSIZE)
end
rescue EOFError
ret = true
rescue => e # I added the "=> e"
p e # I added this line
ret = false
ensure
to.close
from.close
end
The exception displayed by the line I added is:
#<IOError: sysread for buffered IO>
How do I get around this?
TIA.