Bug#383149: [Pkg-octave-devel] Bug#383149: tried purging then reinstalling octave2.9 package

John W. Eaton jwe at bevo.che.wisc.edu
Thu Aug 17 08:13:04 UTC 2006

On 17-Aug-2006, John Dalton wrote:

| I sent an email yesterday pointing out that I had octave2.1
| installed before octave2.9.  It seems to have gone missing.
| In case it is a problem with packaging, here is the
| sequence I followed in installing octave:
| 24/10/2005
| # apt-get install octave octave-forge octave-plplot octave2.1-doc
| octave2.1-info
| # apt-get install octave2.1-headers
| 15/8/2006
| Upgrade to octave 2.9:
| # apt-get install octave2.9 octave2.9-info octave2.9-doc
| octave2.9-htmldoc octave2.9-headers
| Try it out, then remove octave 2.1:
| # apt-get remove --purge octave octave2.1 octave2.1-info
| octave2.1-htmldoc octave2.1-headers
| Report bug #383149.
| 17/8/2006
| Wonder if the problem is an interaction between octave 2.1 and 2.9
| packages.  Do a clean reinstall of octave2.9 (ie. with no octave2.1)
| # apt-get remove --purge octave2.9 octave2.9-info octave2.9-doc
| octave2.9-htmldoc octave2.9-headers
| # apt-get install octave2.9 octave2.9-info octave2.9-doc
| octave2.9-htmldoc octave2.9-headers
| After this fresh reinstall, symptoms are still present as before:
| $ mkoctfile -v uitest.cc
| g++ -c -fPIC -I/usr/include/octave-2.9.7
| -I/usr/include/octave-2.9.7/octave -m32 uitest.cc -o uitest.o
| /usr/bin/g++ -shared -Wl,-Bsymbolic -o uitest.oct uitest.o
| -L/usr/lib/octave-2.9.7 -loctinterp -loctave -lcruft -m32 -llapack-3
| -lblas-3 -lfftw3 -lreadline -lncurses -ldl -lhdf5 -lz -lm
| -L/usr/lib/gcc/x86_64-linux-gnu/4.1.2
| -L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64 -L/lib/../lib64
| -L/usr/lib/../lib64 -lhdf5 -lz -lgfortranbegin -lgfortran -lm -lgcc_s
| /usr/bin/ld: skipping incompatible /usr/lib/octave-2.9.7/liboctinterp.so
| when searching for -loctinterp
| /usr/bin/ld: cannot find -loctinterp
| collect2: ld returned 1 exit status
| $

I'm unable to duplicate this problem.  I have an up-to-date "testing"
system and I installed Octave 2.9.7 with

  apt-get update
  apt-get -t unstable octave2.9{,-{headers,info,doc}}

and then ran

  update-alternatives --config mkoctfile
  update-alternatives --config octave
  update-alternatives --config octave-bug
  update-alternatives --config octave-config
  update-alternatives --config octave-depends

BTW, why do I have to run all these commands?  I think it would be
more friendly if running "update-alternatives --config octave" would
take care of the rest automatically so they would all stay in sync.

In any case, here is what I see:

$ dpkg -l octave2.9
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
ii  octave2.9      2.9.7-2        GNU Octave language for numerical computatio
$ pwd
$ ls -l hello.cc
-rw-r--r-- 1 jwe users 3103 Apr 30  2003 hello.cc
$ mkoctfile -v hello.cc
/usr/bin/g++ -c -fPIC -I/usr/include/octave-2.9.7 -I/usr/include/octave-2.9.7/octave -O2 hello.cc -o hello.o
/usr/bin/g++ -shared -Wl,-Bsymbolic -o hello.oct hello.o -L/usr/lib/octave-2.9.7 -loctinterp -loctave -lcruft -s -llapack-3 -lblas-3 -lfftw3 -lreadline -lncurses -ldl -lhdf5 -lz -lm -L/usr/lib/gcc/x86_64-linux-gnu/4.1.2 -L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -lhdf5 -lz -lgfortranbegin -lgfortran -lm -lgcc_s
$ octave
GNU Octave, version 2.9.7 (x86_64-pc-linux-gnu).
Copyright (C) 2006 John W. Eaton.
This is free software; see the source code for copying conditions.
FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.

Additional information about Octave is available at http://www.octave.org.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug at octave.org> (but first, please read
http://www.octave.org/bugs.html to learn how to write a helpful report).

octave:1> hello
Hello, world!
octave:2> type hello
hello is a dynamically-linked function
octave:3> which hello
hello is the dynamically-linked function from the file


More information about the Pkg-octave-devel mailing list