From: Daniel Berger Date: 2003-07-26T04:05:46+09:00 Subject: Re: ruby 1.8.0 preview4 Yukihiro Matsumoto wrote: > > Hello, > > In message "Re: ruby 1.8.0 preview4" > on 03/07/25, "Berger, Daniel" writes: > > |This one appeared in preview2, disappeared in preview3 and has reappeared in > |preview 4: > | > |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 > > Hmm, where can I find proctable.c, which is definitely not in the Ruby > source code? > > matz. It's caused by the inclusion of the header file, not my source. My *guess* is that's it's some sort of config issue related to _FILE_OFFSET_BITS and/or _LARGEFILE64_SOURCE. There's not much on Google about it. Here's a quick tidbit that can be used as a test: /* foo.c */ #include "ruby.h" #include #include static VALUE foo_hello() { return rb_str_new2("Hello"); } void Init_foo() { VALUE cFoo; cFoo = rb_define_class("Foo",rb_cObject); rb_define_singleton_method(cFoo,"hello",foo_hello,0); } # extconf.rb require "mkmf" create_makefile("foo") >make gcc -Wall -fPIC -g -O2 -I. -I/opt/lib/ruby/1.8/sparc-solaris2.9 -I/opt/lib/ruby/1.8/sparc-solaris2.9 -I. -c foo.c In file included from /usr/include/procfs.h:26, from foo.c:2: /usr/include/sys/procfs.h:44:2: #error "Cannot use procfs in the large file compilation environment" *** Error code 1 make: Fatal error: Command failed for target `foo.o' My best bet is to compile p3 and p4 and compare config.log files and Makefiles. I'm also downloading the gcc 3.3 solaris package as I write this which apparently has better 64 bit support for solaris. Perhaps that will magically solve my problems. Regards, Dan