From octave-maintainers-request at bevo dot che dot wisc dot edu Tue Apr 17 12:59:08 2001 Subject: Error loading all versions of octave From: "John W. Eaton" To: Paul Hubbard Cc: octave-maintainers at bevo dot che dot wisc dot edu, phubbard@fnal.gov Date: Tue, 17 Apr 2001 12:58:08 -0500 On 17-Apr-2001, Paul Hubbard wrote: | To: octave-maintainers at bevo dot che dot wisc dot edu | Cc: phubbard at fnal dot gov | Subject: Error loading all versions of octave | | Bug report for Octave 2.0.16.92 configured for i386-pc-linux-gnu | | Description: | ----------- | | I cannot start any version of octave. Message as follows: | | octave2.1: error while loading shared libraries: /usr/lib/octave-2.1.33/liboctave.so.2.1.33: undefined symbol: screenheight | | The results are the same if I try other versions: | | [phubbard at ncdf57 ~] octave2.0 | octave2.0: error while loading shared libraries: /usr/lib/octave-2.0.16.92/liboctave.so: undefined symbol: screenheight | [phubbard at ncdf57 ~] octave-2.1.33 | octave-2.1.33: error while loading shared libraries: /usr/lib/octave-2.1.33/liboctave.so.2.1.33: undefined symbol: screenheight Older versions of Octave (i.e., anything but very recent CVS versions) relied on various undocumented features of readline. The screenheight varialbe was one such feature. Because of that, the Octave sources include a copy of readline. But your Debian distribution of Octave is linked with the system readline library, not Octave's copy. If your system readline library is now version 4.2, it doesn't have screenheight as a globally visible variable, so Octave can't use it. The quick fixes are to either force Octave to use an older version of readline (4.1 should work fine), or to compile Octave so that it is statically linked to the readline library distributed with the Octave sources. The CVS version of Octave now uses an unmodified version of readline 4.2 and doesn't depend on any undocumented or private functions from the readline library. Eventually, I will remove the readline sources from the Octave distribution and have configure check for the necessary features. jwe