LWN.net Logo

LCA: Disintermediating distributions

LCA: Disintermediating distributions

Posted Feb 7, 2008 17:21 UTC (Thu) by stevenj (guest, #421)
In reply to: LCA: Disintermediating distributions by aleXXX
Parent article: LCA: Disintermediating distributions

Libtool handles many, many more Unix flavors than that. Yes, if you are willing to restrict yourself to recent versions of five platforms, it simplifies life a lot.


(Log in to post comments)

LCA: Disintermediating distributions

Posted Feb 7, 2008 19:09 UTC (Thu) by bronson (subscriber, #4806) [Link]

In theory.

In practice, I've spent many awful hours chasing libtool breakage on even the most common
platforms.

libtool adds extreme complexity to packages in an attempt to make them build everywhere.  More
software means more bugs.  The end result is preductable: libtool packages often fail to build
on even the most common platforms.

First you need to track down and install the exact version of automake used by the packager,
twiddle the configure file to remove syntax errors, try to figure out the magic combination of
undocumented --enable and --disable switches that will actually compile, and so on...  This
whole process is more abstract and opaque than editing Makefiles directly, but is it better?
Does it actually save time?

libtool is a bad abstraction.  Like CORBA, it tries to gloss over horrifyingly complex
problems but, instead of solving them, it seems to just push them around.  Perhaps I'm getting
philisophical, but I think they too hard to insulate the user from the real world.  D-Bus
doesn't try as hard as CORBA and, as a result, it's much more usable and reliable.  And a heck
of a lot smaller.  I feel like libtool could learn the same lesson.

I worked as a release engineer, so I admittedly had to wrestle with libtool a lot more than
the average person.  The missing ' in configure was the winner; finding that that took 7 hours
of binary searching an unreadable 350K shell script.  For comparison, it takes 3-4 hours to
learn how to use cmake from scratch!  libtool solves some problems, creates others, and the
end result seems to be a wash.

Anyhow, that's just my experience.  Not good.  Allow me to cast my vote for a simpler libtool
in the future.

LCA: Disintermediating distributions

Posted Feb 7, 2008 22:52 UTC (Thu) by aleXXX (subscriber, #2742) [Link]

The platforms I listed are the platforms where I know that KDE4 
successfully builds.

I don't know if anybody already tried to build KDE4 on NetBSD, AIX, QNX, 
HP-UX, IRIX, BeOS, DragonFly, Hurd or any of the other platforms CMake 
supports. I'm quite sure the bigger problems in getting KDE4 work there 
will be to get all the required libraries working on these platforms 
(dbus, some multimedia lib like xine, a compatible X, etc.) and to get 
the compiler actually compile the C++ code without errors (some compilers 
don't accept everything what gcc accepts, some because they are older, 
some because they are more picky).

Alex

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds