[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:
--snip--
#ifdef HAVE_PROCFS_H
struct psinfo p;
char as_file[MAXPATHLEN];
#else
struct prpsinfo p;
#endif
...
strcpy(as_file, "/proc/");
--snip--
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.
Thanks
-Ben
--
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302
More information about the users
mailing list