bugGNU Octave - Bugs: bug #34997, Octave tries to load shared...


bug #34997: Octave tries to load shared libraries even with --disable-shared

Submitted by:  Satish BD <bdsatish>
Submitted on:  Tue 06 Dec 2011 11:49:43 AM UTC  
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Invalid Assigned to:  None
Originator Name:  Satish BD Open/Closed:  Closed
Release:  3.4.3 Operating System:  GNU/Linux

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Sun 29 Sep 2013 11:51:20 PM UTC, comment #7: 

Closing this inactive bug as invalid.

Reading the discussion I don't think there is any bug here. The OP was trying to build oct-files with an Octave built statically, which is simply not possible.

Mike Miller <mtmiller>
Project Administrator
Sun 11 Dec 2011 08:44:38 PM UTC, comment #6: 

Ok. I suggest you continue with the discussion on the mail-list.

Ben Abbott <bpabbott>
Project Member
Sun 11 Dec 2011 08:37:50 PM UTC, comment #5: 

Well, like I had mentioned in that octave-dev mailing list (see link below), I had to use BLAS/Lapack which were static libs, compiled without -fPIC option. The suggestion was to use a shared lib BLAS/Lapack or build ATLAS from the source myself.

Satish BD <bdsatish>
Sun 11 Dec 2011 08:06:53 PM UTC, comment #4: 


I looked into this. The problem is that oct-files are shared libraries.

If you disable share libraries for octave, you won't be able to load oct-files, and if you try Octave will give you an error.

I'm curious, why did you disable shared libs?

Ben Abbott <bpabbott>
Project Member
Sat 10 Dec 2011 05:00:09 PM UTC, comment #3: 

I expect there is a way to compile the package as a static lib, but I have no experience with that.

I recommend that you ask this question on the Octave-Forge mail list or on Octave's help list.



I'm not certain if this is not a problem that Octave can correct, or if it should be the responsibility of the package's makefile ... so I'll leave this open until that is determined.

Please return here and provide any details you obtain on how to fix this.


Ben Abbott <bpabbott>
Project Member
Sat 10 Dec 2011 09:19:26 AM UTC, comment #2: 

Ah, I see, so, it is specfun that is trying to load shared libs. I thought that any octave-forge package must work with Octave, even if compiled with --disable-shared. Since, I saw this error, I presumed some issue with Octave. Is there a way to tell Octave-forge packages, to build static lib instead of shared ?

Satish BD <bdsatish>
Sat 10 Dec 2011 03:16:19 AM UTC, comment #1: 

Is this an Octave bug or a bug for the specfun package ?

If the package's makefile creates a shared library, and Octave was compiled to not load a shared library, isn't Octave responding as it should?

If not, what is the appropriate action?

Ben Abbott <bpabbott>
Project Member
Tue 06 Dec 2011 11:49:43 AM UTC, original submission:  


I was installing specfun-1.0.9 (with Octave 3.4.3) when I encountered this error:

octave:1> pkg install /tmp/specfun-1.0.9.tar.gz
warning: function /home/debian/octave/specfun-1.0.9/erfcx.m shadows abuilt-in function
warning: /home/debian/octave/specfun-1.0.9/laguerre.m: possible Matlab-style short-circuit operator at line 30, column 11
warning: gen_doc_cache: unusable help text found in file 'test_sncndn'
warning: load_path:
/home/debian/octave/specfun-1.0.9/x86_64-unknown-linux-gnu-api-v45+: No such file or directory
no API for dynamic loading is available
error: called from `gen_doc_cache>create_cache' in file /home/debian/foss/installed/octave/share/octave/3.4.3/m/help/gen_doc_cache.m near line 93, column 17
error: called from:
error:   /home/debian/foss/installed/octave/share/octave/3.4.3/m/pkg/pkg.m at line 832, column 5
error:   /home/debian/foss/installed/octave/share/octave/3.4.3/m/pkg/pkg.m at line 361, column 9

Ignoring the warnings, the error says "no API for dynamic loading is available". This is a bug because it is trying to load shared libraries, even when they were disabled:

# Debian Squeeze, x86_64
./configure --prefix=$HOME/foss/installed/octave   \
      --disable-shared --disable-dl --enable-static --with-pic  \
      --with-blas="-L/home/debian/foss/installed/lapack -lblas"  \
      --with-lapack="-L/home/debian/foss/installed/lapack -llapack"

That "no api.." error msg seems to come from oct-shlib.cc file. Some discussion about this bug is here:

Satish BD <bdsatish>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by bpabbott (Posted a comment)
  • -email is unavailable- added by bdsatish (Submitted the item)
  • -email is unavailable- added by bdsatish
  • -email is unavailable- added by bdsatish
  • -email is unavailable- added by bdsatish

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-09-29 mtmiller StatusNone => Invalid
        Open/ClosedOpen => Closed
    2011-12-06 bdsatish Carbon-Copy- => Added carbajal@ifi.uzh.ch
        Carbon-Copy- => Added carandraug+dev@gmail.com
        Carbon-Copy- => Added bdsatish

    Back to the top

    Powered by Savane 3.5