From bug-octave-request at bevo dot che dot wisc dot edu Mon Nov 2 12:56:08 1998 Subject: 2.1.7 and egcs-1.1b (linuxppc): partial success From: "John W. Eaton" To: costabel at wanadoo dot fr Cc: bug-octave at bevo dot che dot wisc dot edu, costabel@univ-rennes1.fr Date: Mon, 2 Nov 1998 12:50:19 -0600 (CST) On 1-Nov-1998, Martin Costabel wrote: | I applied the latest patches (270, 377, 379, 380) plus a patch that I | had already used to compile octave-2.0.13: | -------- ugly patch -------- | --- /usr/local/src/octave-2.1.7/src/sighandlers.cc Tue Apr 21 05:34:06 | 1998 | +++ /usr/local/BUILD/octave-2.1.7/src/sighandlers.cc Sun Nov 1 | 12:14:01 1998 | at @ -210,7 +210,7 @@ | | if (n == 0) | { | - waitpid (-1, 0, WNOHANG); | + waitpid (-1, 0, 0x00000001); | } | else | { | at @ -224,7 +224,7 @@ | { | int status; | | - if (waitpid (pid, &status, WNOHANG) > 0) | + if (waitpid (pid, &status, 0x00000001) > 0) | { | elt.pid = -1; | --- /usr/local/src/octave-2.1.7/liboctave/syswait.h Thu Mar 27 16:56:46 | 1997 | +++ /usr/local/BUILD/octave-2.1.7/liboctave/syswait.h Sat Oct 31 | 02:14:06 1998 | at @ -34,7 +34,7 @@ | #endif | | #if defined HAVE_SYS_WAIT_H | -#include | +/*#include */ | #endif | | #if defined (NeXT) | --- config.cache~ Sun Nov 1 12:32:26 1998 | +++ config.cache Sun Nov 1 12:35:49 1998 | at @ -138,7 +138,7 @@ | ac_cv_header_sys_times_h=${ac_cv_header_sys_times_h='yes'} | ac_cv_header_sys_types_h=${ac_cv_header_sys_types_h='yes'} | ac_cv_header_sys_utsname_h=${ac_cv_header_sys_utsname_h='yes'} | -ac_cv_header_sys_wait_h=${ac_cv_header_sys_wait_h='yes'} | +ac_cv_header_sys_wait_h=${ac_cv_header_sys_wait_h='no'} | ac_cv_header_termcap_h=${ac_cv_header_termcap_h='yes'} | ac_cv_header_termio_h=${ac_cv_header_termio_h='yes'} | ac_cv_header_termios_h=${ac_cv_header_termios_h='yes'} | ------ end ugly patch -------------- | | Then octave-2.1.7 compiles OK with egcs-1.1b. I know there was a problem with egcs 1.1 such that it failed to compile some stuff in sys/wait.h, but this patch can't be the right way to fix the problem. I've been told the problem will be fixed in egcs 1.1.1. | I made also a binary-dist. The binary-dist has problems: | | 1) Error message when trying to plot: | error: plot: unable to open pipe to `gnuplot' | | 2) 'ls' gives | error: couldn't start process for ls! | | Both 1) and 2) were at first also present in the directly installed | version, but went away after a re-compilation. I don't understand why. I don't have a clue. | 3) 'max(1,2)' gives | error: `max' undefined near line 1 column 1 | error: evaluating index expression near line 1, column 1 Was this still a problem after the install-octave script was fixed and the .oct files were installed in the right directories? | 4) In order to install the binary distribution, I had to patch the | install-octave script: There is a spurious 'cd src' that keeps the *.oct | files | from being copied: | | root[106]#diff -u install-octave~ install-octave | --- install-octave~ Sun Nov 1 11:48:30 1998 | +++ install-octave Sun Nov 1 11:49:12 1998 | at @ -250,7 +250,6 @@ | oct_files=`find . -name '*.oct' -print` | if test -n "$oct_files"; then | echo "installing .oct files in $octfiledir" | - cd src | for f in $oct_files | do | file=`basename $f` This is fixed in 2.1.8. | 5) The shared libraries are installed with the extension .so.2.1.7, such | as liboctave.so.2.1.7 and so on, not as liboctave.so. They are not found | when octave is started. OK, I'll have a look at fixing this. I think the quick solution is to make some symbolic links. Thanks, jwe