[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: questions about general shlibs evilness



sorry about the evil in-reply-to...

oh, and this is largely OT.

Ian Zimmerman <itz@speakeasy.org> wrote in a message he didn't cc: to me:

> Ari> a little magic in the install-exec-local rule in each Makefile.am
> Ari> to rename the libraries and add the symlinks (can't rely on

> You could still use ldconfig if you edited /etc/ld.so.conf, right?

Yeah yeah. But it would be a little silly to have /usr/lib/sashxb in the
system ld.so.conf, wouldn't it? Or maybe it wouldn't. But that's irrelavent:
if the libraries were in place with a correctly-versioned name (i.e.
/usr/lib/sashxb/libsash<foo>so.1.0.2 or whatever) we'd be in good shape. The
question is how to get them there, since it's a pain to build the library
with that name (since you need to use a periods-replaced-with-underscores
version of the name in the Makefile, which would preclude using a variable
to set library version).

> I can't answer your actual question (how to make the dh_ crowd happy),

It's important in this case :-) handling shlibdeps and build-deps by hand on
this package will *not* keep things correct. As it is, I'm adding stuff to
the shlibdeps (the only thing it misses is mozilla-browser, apparently due
to the problems I outline), but I'm doing the build-deps by hand, and that's
a pain.

> but here's a general (ie. OT) tip: do make a distinction between
> libtool the implementation and libtool the concept, and don't let the
> ugliness of the former prejudice your opinion about the latter.  In

Of course. In my experience, the purpose of libtool is "so you don't have to
worry about what flags you need to build shlibs on AIX, etc". And in my
experience, libtool doesn't *actually* work correctly on AIX :-) (spent last
summer fighting it). And it breaks a lot of other things, like linking to
libtool libraries from directories other than the one the lib is in
(necessary if you have a big source tree, which we do). 

I would rather see automake have the magic to generate libraries on all
different systems wrapped into it, and let the build system generate *real*
libraries in output at all times, rather than the libtool wrapper crap.

I agree, something *is* necessary, and until then, our build is broken on
anything not like Linux or Slowlaris (pretty funny since we work for IBM ...
but making shared libraries happen on AIX is *not* trivial :-)

>particular, I think the version number scheme libtool uses is quite
>cool, and fortunately it's completely compatible with the way glibc
>loader works, so even if you rename the libs by other means you can
>use the libtool numbers.

Yeah yeah. We'll use the same scheme ...

> Ari> Ran this by Matt Danish and he said "That's why I use Common
> Ari> Lisp: no shared library hell" :-)

> Applies equally to ML and Haskell :-)

Yeah :-) a few more hacks to our XPCOM to O'Caml IDL bridge and we'll be in
good shape (I'm not kidding)...



Ari





Reply to: