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

 
 

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

Submitter:  Satish BD <bdsatish>
Submitted:  Tue 06 Dec 2011 11:49:43 AM UTC
   
 
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Satish BD Open/Closed:  * Closed
Release:  * 3.4.3 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group Member
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>
Group 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: 

Satish,

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>
Group 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.

https://lists.sourceforge.net/lists/listinfo/octave-dev

https://mailman.cae.wisc.edu/listinfo/help-octave

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.

Thanks
Ben

Ben Abbott <bpabbott>
Group 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>
Group Member
Tue 06 Dec 2011 11:49:43 AM UTC, original submission:  

Hi,

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:
http://sourceforge.net/mailarchive/forum.php?thread_name=CABDtPkQieDrxX-sP1EMMaWmVd6Vg%3DQiRGN-Myu6Sq1fvPHkEHw%40mail.gmail.com&forum_name=octave-dev



Satish BD <bdsatish>

 

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

Attach Files:
   
   
Comment:
   

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
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-09-29 mtmiller StatusNone Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2011-12-06 bdsatish Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added bdsatish

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code