Solaris, Ruby 1.8 p2 - large file compilation environment issue

Hi all,

Solaris 9
gcc 3.2
Ruby 1.8.0 preview 2, with supplement

getconf LFS_CFLAGS
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

After recently installing 1.8 p2 (with supplement), I tried installing
sys-proctable. During the make phase I got this:

make
gcc -fPIC -g -O2 -I. -I/opt/lib/ruby/1.8/sparc-solaris2.9
-I/opt/lib/ruby/1.8/sparc-solaris2.9 -I. -c proctable.c
In file included from /usr/include/procfs.h:26,
from lib/os/sunos.h:8,
from proctable.c:10:
/usr/include/sys/procfs.h:44:2: #error “Cannot use procfs in the large
file compilation environment”
make: *** [proctable.o] Error 1

This does not happen with 1.6.8.

I noticed in Dan Urist’s Proc::ProcessTable hints directory (solaris.pl)
he has this note and code:

For reasons I don’t understand, we have to turn off the large file

environment flags in order to compile in the large file environment

#10/28/2002:

Should not set CCLFAGS to empty. Should only remove these two symbol

while preserving others.
if( /usr/bin/getconf LFS_CFLAGS =~ /-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64/){
$self->{CCFLAGS} = $Config{ccflags};
$self->{CCFLAGS} =~ s/-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64//;
}

(Note: sys-proctable is basically a port of Proc::ProcessTable, a perl
module, in case you’re wondering.)

However, I don’t see those flags either in the makefile for
sys-proctable, or for ruby-1.8.

Any ideas?

Regards,

Dan

PS - I thought I had this issue once before a long time ago, but nothing
showed up on google. Sorry if it’s a repeat.

···


a = [74, 117, 115, 116, 32, 65, 110, 111, 116, 104, 101, 114, 32, 82]
a.push(117,98, 121, 32, 72, 97, 99, 107, 101, 114)
puts a.pack(“C*”)