[csw-users] Error buiding ruby gem sys-proctable (missing procfs.h)

Ben Walton bwalton at opencsw.org
Thu Apr 7 03:24:49 CEST 2011

Excerpts from Mohamed Lrhazi's message of Wed Apr 06 21:09:44 -0400 2011:

Hi Mohamed,

> [root at albany csw]$ pkgparam CSWruby18 VERSION
> pkgparam: ERROR: unable to locate parameter information for "CSWruby18"

Ok, first you should update to the current ruby packages.  Make sure
you add CSWruby18-gcc4 to you can build with gcc4.  This handles the
move away from the cswrbconfig tool.  These packages should have hit
the mirrors a few days ago.

> I had no 'make" in my path, so I set it:

I may need to update the extconf.rb handling to use gmake and/or force
/opt/csw/gnu into the path to make this nicer.  I run with that on my
PATH by default, so I've missed this particular problem.

> [root at albany csw]$ ch)`gem ': gem install  --no-rdoc --no-ri sys-proctable
> Building native extensions.  This could take a while...
> ERROR:  Error installing sys-proctable:
>         ERROR: Failed to build gem native extension.
> /opt/csw/bin/ruby extconf.rb
> checking for rb_pid_t in ruby.h... yes
> checking for procfs.h... no
> creating Makefile
> make
> /opt/csw/gcc4/bin/gcc -I. -I/opt/csw/lib/ruby/1.8/sparc-solaris2.9
> -I/opt/csw/lib/ruby/1.8/sparc-solaris2.9 -I. -DHAVE_TYPE_RB_PID_T
> -I/opt/csw/include -D_FILE_OFFSET_BITS=64  -fPIC -O2 -pipe -mcpu=v8
> -fPIC   -c proctable.c
> proctable.c: In function 'proctable_ps':
> proctable.c:224: error: 'as_file' undeclared (first use in this function)
> proctable.c:224: error: (Each undeclared identifier is reported only once
> proctable.c:224: error: for each function it appears in.)
> make: *** [proctable.o] Error 1

This is a bug in the gem:

   struct psinfo p;
   char as_file[MAXPATHLEN];
   struct prpsinfo p;


     strcpy(as_file, "/proc/");   


It's using a variable that may not be defined.  You should report this
upstream.  The larger issue though is that have_header in extconf.rb
isn't locating procps.h in /usr/include.  I'll see if I can track down
either or both of a) why not, b) a work around.

Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302

More information about the users mailing list