IRIX octave 2.0.14 can't find runtime libs

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

IRIX octave 2.0.14 can't find runtime libs

Himanshu Gohel-2
Hi,

I compiled and installed v2.0.14 with the --enable-shared option.
When I try to run the octave binary, i get an error:

330 Bezier[matlab] octave
134477:octave: rld: Fatal Error: Cannot Successfully map soname
'liboctinterp.so' under any of the filenames
/usr/lib32/liboctinterp.so:/usr/lib32/internal/liboctinterp.so:/lib32/liboct
interp.so:/opt/lib32/liboctinterp.so:

The libraries are in /usr/local/lib/octave.  I prefer not to use
the LD_LIBRARY_PATH.  How can I specify the during the build to
use "-rpath /usr/local/lib/octave" recursively?

Hmmm...just thought about something!  Since the binaries are
built (by default on IRIX 6.5.3) as N32 objects and the
libraries should be in /usr/local/lib32/octave?  ... made a link
from /usr/local/lib32/octave to /usr/local/lib/octave-2.0.14, but
that didn't solve the problem.

Thanks,

Himanshu Gohel, [hidden email]
WEB URL: http://www.csee.usf.edu/~gohel/
University of South Florida, Tampa, FL.  USA.


Reply | Threaded
Open this post in threaded view
|

IRIX octave 2.0.14 can't find runtime libs

John W. Eaton-6
On 10-May-1999, Himanshu Gohel <[hidden email]> wrote:

| Hi,
|
| I compiled and installed v2.0.14 with the --enable-shared option.
| When I try to run the octave binary, i get an error:
|
| 330 Bezier[matlab] octave
| 134477:octave: rld: Fatal Error: Cannot Successfully map soname
| 'liboctinterp.so' under any of the filenames
| /usr/lib32/liboctinterp.so:/usr/lib32/internal/liboctinterp.so:/lib32/liboct
| interp.so:/opt/lib32/liboctinterp.so:
|
| The libraries are in /usr/local/lib/octave.  I prefer not to use
| the LD_LIBRARY_PATH.  How can I specify the during the build to
| use "-rpath /usr/local/lib/octave" recursively?

Hmm.  If you specify --enable-shared, Octave's configure script should
attempt to use -rpath.  But I see that on SGI systems, it sets
RLD_FLAG to be -L$(octlibdir).  If it should be something else, run
the make command like this:

  make RLD_FLAG='-Xlinker -rpath -Xlinker $(octlibdir)'

Eventually, Octave's configure script and Makefiles should be fixed to
use libtool, which should help to make these things work better.
Unfortunately, I have little time to spend working on that project.
Any volunteers?

Thanks,

jwe


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

Himanshu Gohel-2
In reply to this post by Himanshu Gohel-2

-=>From: "John W. Eaton" <[hidden email]>

-=>On 10-May-1999, Himanshu Gohel <[hidden email]> wrote:
-=>| I compiled and installed v2.0.14 with the --enable-shared option.
-=>| When I try to run the octave binary, i get an error:
-=>|
-=>| 330 Bezier[matlab] octave
-=>| 134477:octave: rld: Fatal Error: Cannot Successfully map soname

-=>Hmm.  If you specify --enable-shared, Octave's configure script should
-=>attempt to use -rpath.  But I see that on SGI systems, it sets
-=>RLD_FLAG to be -L$(octlibdir).  If it should be something else, run
-=>the make command like this:
-=>
-=>  make RLD_FLAG='-Xlinker -rpath -Xlinker $(octlibdir)'

Yes, SGI uses -rpath instead of Solaris' linker which uses -R.
I see in the configure script that the Solaris link flags are
specified correctly.  However, there is a curve with this!

SGI has possibilities of "old 32-bit" (o32), "new 32-bit" (N32)
and 64-bit (not sure if it's 64 or N64).  By default in
IRIX 6.x binaries are compiled with the N32 architecture,
and the library path should be /usr/local/lib32 instead of
/usr/local/lib.  The run-time linker searches that path
automatically.  Since the Octave libs are in a subdirectory
the default path obviously will not find the libs, that's
why -rpath is all the more necessary.

OK, I yesterday's build was configured with

--enable-shared --enable-rpath

the build went OK (I see the same message about -rdynamic flag
that someone posted yeterday, but you said it was non-fatal; also
lots of messages about weak symbols).  Installed octave, and still
got the same error about run-time libs.  So what is the deal with
the --enable-rpath option.  Does it add -rpath to the link flags?

Today I'll try a rebuild with the make flag you suggested and see
if that solves the problem.  It took 4h 20m yesterday on the SGI O2
R10000 150MHz w/64MB RAM!!!

-=>Unfortunately, I have little time to spend working on that project.
-=>Any volunteers?

This stuff is beyond me at this time!

--
Himanshu Gohel, [hidden email]
WEB URL: http://www.csee.usf.edu/~gohel/
University of South Florida, Tampa, FL.  USA.


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

John W. Eaton-6
On 12-May-1999, Himanshu Gohel <[hidden email]> wrote:

| So what is the deal with
| the --enable-rpath option.  Does it add -rpath to the link flags?

It tries to add whatever system dependent flags that provide the
equivalent feature.  The problem with things like this is that
features sometimes change, breaking the configure script.  Also,
without access to all versions of all systems, it is difficult to know
what the correct flags are.  That's why I'd like to see Octave using
libtool (so the libtool maintainers can worry about such details).
But as I said, I don't have time to do that work myself right, so the
options are for someone else to do the work, provide funding so that
more of my time will be available for projects like this, or for you
(i.e., the Octave users) to find someone else to do the work and
submit a patch.

Thanks,

jwe


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

Himanshu Gohel-2
In reply to this post by Himanshu Gohel-2

-=>From: "John W. Eaton" <[hidden email]>

-=>On 10-May-1999, Himanshu Gohel <[hidden email]> wrote:
-=>| I compiled and installed v2.0.14 with the --enable-shared option.
-=>| When I try to run the octave binary, i get an error:
-=>|
-=>| 330 Bezier[matlab] octave
-=>| 134477:octave: rld: Fatal Error: Cannot Successfully map soname
-=>| 'liboctinterp.so' under any of the filenames
-=>|/usr/lib32/liboctinterp.so:/usr/lib32/internal/liboctinterp.so:/lib32/
-=>|liboctinterp.so:/opt/lib32/liboctinterp.so:

-=>Hmm.  If you specify --enable-shared, Octave's configure script should
-=>attempt to use -rpath.  But I see that on SGI systems, it sets
-=>RLD_FLAG to be -L$(octlibdir).  If it should be something else, run
-=>the make command like this:
-=>
-=>  make RLD_FLAG='-Xlinker -rpath -Xlinker $(octlibdir)'

After 4 tries, I give up on making the --enable-shared option work
on IRIX 6.5.2f.  I finally ended up compiling it without the
--enable-shared option, and it works like a charm.

I guess if someone eventually figures out what exact flags are needed
to make the shared library option work, please post to the list.

Thanks,

Himanshu Gohel, [hidden email]
WEB URL: http://www.csee.usf.edu/~gohel/
University of South Florida, Tampa, FL.  USA.


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

Thomas Walter-4
In reply to this post by John W. Eaton-6
>>>>> "John" == John W Eaton <[hidden email]> writes:

[snip]

    John> Eventually, Octave's configure script and Makefiles should be fixed to
    John> use libtool, which should help to make these things work better.
    John> Unfortunately, I have little time to spend working on that project.
    John> Any volunteers?

To do this I think it is best to use 'automake' too.  Writing the
dependencies into the files 'Makefile.am' is much easier because they
are much shorter then `Makefile.in' files..  After that
calling 'automake' will build all the 'Makefile.in'.  And 'automake'
knows how to use 'libtool'.  There will be no need write rules to call
'libtool' by hand.

What are the opinions about that?  I have used automake and libtool
for a long time and I would help to do the step.

Bye
Thomas


--
Platzangst:
Der dauerhafte Zustand eines Luftballons.

----------------------------------------------
Dipl. Phys. Thomas Walter
Inst. f. Physiklische Chemie II
Egerlandstr. 3 Tel.: ++9131-85 27326 / 27330
91058 Erlangen, Germany email: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

Thomas Walter-4
In reply to this post by John W. Eaton-6
>>>>> "John" == John W Eaton <[hidden email]> writes:

[snip]

    John> Eventually, Octave's configure script and Makefiles should be fixed to
    John> use libtool, which should help to make these things work better.
    John> Unfortunately, I have little time to spend working on that project.
    John> Any volunteers?

To do this I think it is best to use 'automake' too.  Writing the
dependencies into the files 'Makefile.am' is much easier because they
are much shorter then `Makefile.in' files..  After that
calling 'automake' will build all the 'Makefile.in'.  And 'automake'
knows how to use 'libtool'.  There will be no need write rules to call
'libtool' by hand.

What are the opinions about that?  I have used automake and libtool
for a long time and I would help to do the step.

Bye
Thomas


--
Platzangst:
Der dauerhafte Zustand eines Luftballons.

----------------------------------------------
Dipl. Phys. Thomas Walter
Inst. f. Physiklische Chemie II
Egerlandstr. 3 Tel.: ++9131-85 27326 / 27330
91058 Erlangen, Germany email: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

Erick Branderhorst
In reply to this post by Thomas Walter-4
>>>>> "TW" == Thomas Walter <[hidden email]> writes:

>>>>> "John" == John W Eaton <[hidden email]> writes:
    TW> [snip]

    John> Eventually, Octave's configure script and Makefiles should be fixed to
    John> use libtool, which should help to make these things work better.
    John> Unfortunately, I have little time to spend working on that project.
    John> Any volunteers?

    TW> To do this I think it is best to use 'automake' too.  Writing the
    TW> dependencies into the files 'Makefile.am' is much easier because they
    TW> are much shorter then `Makefile.in' files..  After that
    TW> calling 'automake' will build all the 'Makefile.in'.  And 'automake'
    TW> knows how to use 'libtool'.  There will be no need write rules to call
    TW> 'libtool' by hand.

    TW> What are the opinions about that?  I have used automake and libtool
    TW> for a long time and I would help to do the step.

I started this a while ago, but unfortunately a diskcrash wiped out all
(and of course no backup available). I didn't restart and don't have time
right now to do this.

Erick


Reply | Threaded
Open this post in threaded view
|

Re: IRIX octave 2.0.14 can't find runtime libs

John W. Eaton-6
In reply to this post by Thomas Walter-4
On 17-May-1999, Thomas Walter <[hidden email]> wrote:

| >>>>> "John" == John W Eaton <[hidden email]> writes:
|
| [snip]
|
|     John> Eventually, Octave's configure script and Makefiles should be fixed to
|     John> use libtool, which should help to make these things work better.
|     John> Unfortunately, I have little time to spend working on that project.
|     John> Any volunteers?
|
| To do this I think it is best to use 'automake' too.  Writing the
| dependencies into the files 'Makefile.am' is much easier because they
| are much shorter then `Makefile.in' files..  After that
| calling 'automake' will build all the 'Makefile.in'.  And 'automake'
| knows how to use 'libtool'.  There will be no need write rules to call
| 'libtool' by hand.
|
| What are the opinions about that?  I have used automake and libtool
| for a long time and I would help to do the step.

Sure, converting Octave to use both automake and libtool would
probably be good things to do.  I don't have the time, but I'd be
willing to integrate patches if they can support all of the features
of the current Octave Makefiles.  If you want to do it, please work
with the 2.1.x sources.  I'm not interested in changing the 2.0.x
Makefiles at this point.

Thanks,

jwe