I've lost .so shared libraries!?

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

I've lost .so shared libraries!?

Mike Anderson-3

Hi,

I've been struggling with this one more-or-less since my last post.
Having compiled and installed 2.2 based on the repository, I found that
I can't load .so shared libraries any more. Further investigation
determines that the variable LTDL_SHLIB_EXT is no longer being set in
the configure process. The same is true for the smalltalk-2.2 tarball,
incidentally, but smalltalk-2.1g was OK.

The configure scripts are just too lengthy and convoluted for me to work
this out (and I have tried).

A secondary problem is that, on my Gentoo system, there are comments
inserted into /etc/ld.so.conf (by the command etc-update) which are not
stripped out, although I'm not sure this would actually break anything.

Pls. help.

Mike



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Stefan Schmiedl
Mike Anderson (29.04. 19:51):

> A secondary problem is that, on my Gentoo system, there are comments
> inserted into /etc/ld.so.conf (by the command etc-update) which are not
> stripped out, although I'm not sure this would actually break anything.

I am running gentoo (~amd64) here, too, and there are only two comment
lines in /etc/ld.so.conf

  # ld.so.conf autogenerated by env-update; make all changes to
  # contents of /etc/env.d directory

They don't break anything.

If you have a short code sample, I'll give my gst a try.

s.


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Mike Anderson-3
Stefan Schmiedl wrote:

> Mike Anderson (29.04. 19:51):
>
>
>>A secondary problem is that, on my Gentoo system, there are comments
>>inserted into /etc/ld.so.conf (by the command etc-update) which are not
>>stripped out, although I'm not sure this would actually break anything.
>
>
> I am running gentoo (~amd64) here, too, and there are only two comment
> lines in /etc/ld.so.conf
>
>   # ld.so.conf autogenerated by env-update; make all changes to
>   # contents of /etc/env.d directory

That's right.

> They don't break anything.

Not normally, but they end up in LTDL_SYSSEARCH_PATH with each word as a
separate entry. It isn't very likely to get used, as far as I can see.
In fact, it seems to me that it shouldn't be there at all.

> If you have a short code sample, I'll give my gst a try.

In gst:

DLD addLibrary: 'libpq'!
DLD libraryList printNl!

I'm expecting something like:
OrderedCollection ('libpq'->CObject(16r8335898) )

not:
OrderedCollection ('libpq'->nil )

which is what I get now. Replace libpq with any library that has a .so
but no .la.

Mind you, I've just tried this with 2.1g and I'm getting nil with that
as well. I could have sworn that used to work. Now I'm really confused.

Thanks for testing. You'll help my sanity if nothing else.

Mike


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Stefan Schmiedl
Mike Anderson (29.04. 22:34):

> I'm expecting something like:
> OrderedCollection ('libpq'->CObject(16r8335898) )
>
> not:
> OrderedCollection ('libpq'->nil )
>
> which is what I get now. Replace libpq with any library that has a .so
> but no .la.

I've tried this with my stock gentoo gst
(USE="emacs gtk readline tcltk -gmp")

st> DLD addLibrary: 'libpq'!
DLD
st> DLD libraryList printNl!
OrderedCollection ('libpq'->nil )
OrderedCollection new: 16 "<0x2aaaab447b10>"
st> DLD addLibrary: 'libz'!
DLD
st> DLD libraryList printNl!
OrderedCollection ('libpq'->nil 'libz'->nil )
OrderedCollection new: 16 "<0x2aaaab44a2e0>"

The same happens on a amd64 Debian box with v.2.1.12.

Maybe the libraries have only been registered,
but not loaded?

s.
--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Mike Anderson-3
Stefan Schmiedl wrote:
> The same happens on a amd64 Debian box with v.2.1.12.

This is also confusing very confusing; I've definitely sucessfully
interfaced with libpq and libmysqlclient under 2.1g.

Well, I've just unpacked a clean 2.1g tarball, and it does sucessfully
#define LTDL_SHLIB_EXT ".so", so maybe I'm not losing my mind.

...and smalltalk-2.2 doesn't.

> Maybe the libraries have only been registered,
> but not loaded?

The thing that alerted me to the problem is that I couldn't access any
functions in the library I had just loaded :). I've got as far as
putting debug statements into the code, and the sections surrounded by
#IFDEF LTDL_SHLIB_EXT are not being executed - it isn't even trying to
load .so extensions (in fact, it tries to load libpq.so.la). That test
does work for .la libraries, you see.

Mike


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Stefan Schmiedl
Mike Anderson (30.04. 13:38):

> Stefan Schmiedl wrote:
> > The same happens on a amd64 Debian box with v.2.1.12.
>
> This is also confusing very confusing; I've definitely sucessfully
> interfaced with libpq and libmysqlclient under 2.1g.

I see that this gst is sitting in /usr/local, so it's not from
an official package, probably I've compiled it myself right after
Paolo finished cleaning the code for 64-bit systems.

>
> Well, I've just unpacked a clean 2.1g tarball, and it does sucessfully
> #define LTDL_SHLIB_EXT ".so", so maybe I'm not losing my mind.
>
> ...and smalltalk-2.2 doesn't.
>
> > Maybe the libraries have only been registered,
> > but not loaded?
>
> The thing that alerted me to the problem is that I couldn't access any
> functions in the library I had just loaded :).

I can see that you would notice this effect ...

s.
--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: I've lost .so shared libraries!?

Mike Anderson-3
In reply to this post by Mike Anderson-3

To reply to myself, I've now realized that, as Stefan suggested, it's
never worked in the stable branch, and it came into the devel branch
with 2.1c.

Paolo, the changelog for 2.2 says "* lib-src/ltdl.c: Moved from
libltdl." at around the time of 2.1c, so I'm presuming that's the same
change as went into the devel branch... ?

Regards,

Mike


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk