Greetings,

I recently compiled octave on RedHat Enterprise 5.4 and it produced a
segfault on startup. Investigation as to why suggests that there is an
incompatibility between gnulib and the system headers.

Specifically, sigset_t in /usr/include is a struct containing an array.
However gnulib's sigprocmask.c looks to treat it as an integer, with the
same prototype as defined in gnulib's signal.h. Octave crashes when
calling the functions defined in sigprocmask.c (e.g.,
libgnu::sigemptyset() and libgnu::sigprocmask()), presumably because
these functions are receiving a structure pointer instead of an int
pointer. Commenting out the entirety of sigprocmask.c and recompiling
(forcing calls to these functions to link w/ the system library)
produces a stable octave build.

I really don't understand these matters as this is my first interaction
w/ both octave and gnulib, but the octave maintainer(s) suggest that
this is a bug in gnulib. Their argument seems reasonable.

octave bug:
https://savannah.gnu.org/bugs/?30685

Thank you very much, and best regards,
Keith

Reply via email to