[Tfug] The Joy of OSX, and the friction coefficient of goose droppings.
Bowie J. Poag
bpoag at comcast.net
Wed Oct 29 18:22:56 MST 2008
The rate at which libraries change in Linux circles justifies building
static binaries, imho. The annoyance of playing "hunt the library" with
every new thing you download gets very old, very fast.
The rate at which *new* libraries appear which have functional overlap
with existing libs is also obscene. Rather than building off existing
libs, kids these days (dammit! get off my lawn!) wan't their libs to do
everything for them, rather than having to think for themselves.. It's
lame. I'd say that a good 75% of open source stuff I get through
apt-get or yum comes with unmet dependencies, new libraries that need to
be downloaded to do things my system already knows how to do. Sure,
from the coder's perspective, you have plenty to choose from. But to the
end user, the whole point, target, and audience of the programmer's
efforts, it's maddening to continually have multiple versions of
multiple libraries to constantly chase after.
Do it once, do it right > Do it 15 different ways, and write "a little
bit of this, a little bit of that" chinese buffet style code.
Yes, apt-get and yum have gone a long way toward at least easing the
misery.. But they only do so at the expense of added bloat. Here's a
good example, on a base install of Fedora 9:
[17:56:01][fire][/usr/lib] root : ls -l libkabc*
-rwxr-xr-x 1 root root 1173 Nov 27 2007 libkabc_dir.la
lrwxrwxrwx 1 root root 20 Jul 5 02:30 libkabc_dir.so ->
libkabc_dir.so.1.0.0
lrwxrwxrwx 1 root root 20 Jul 5 01:49 libkabc_dir.so.1 ->
libkabc_dir.so.1.0.0
-rwxr-xr-x 1 root root 61040 Nov 27 2007 libkabc_dir.so.1.0.0
-rwxr-xr-x 1 root root 1179 Nov 27 2007 libkabc_file.la
lrwxrwxrwx 1 root root 21 Jul 5 02:30 libkabc_file.so ->
libkabc_file.so.1.0.0
lrwxrwxrwx 1 root root 21 Jul 5 01:49 libkabc_file.so.1 ->
libkabc_file.so.1.0.0
-rwxr-xr-x 1 root root 65100 Nov 27 2007 libkabc_file.so.1.0.0
-rwxr-xr-x 1 root root 1452 Nov 27 2007 libkabc_groupdav.la
lrwxrwxrwx 1 root root 25 Jul 5 03:00 libkabc_groupdav.so ->
libkabc_groupdav.so.1.0.0
lrwxrwxrwx 1 root root 25 Jul 5 02:56 libkabc_groupdav.so.1 ->
libkabc_groupdav.so.1.0.0
-rwxr-xr-x 1 root root 40816 Nov 27 2007 libkabc_groupdav.so.1.0.0
-rwxr-xr-x 1 root root 1421 Nov 27 2007 libkabc_groupwise.la
lrwxrwxrwx 1 root root 26 Jul 5 03:00 libkabc_groupwise.so ->
libkabc_groupwise.so.1.0.0
lrwxrwxrwx 1 root root 26 Jul 5 02:56 libkabc_groupwise.so.1 ->
libkabc_groupwise.so.1.0.0
-rwxr-xr-x 1 root root 94212 Nov 27 2007 libkabc_groupwise.so.1.0.0
-rwxr-xr-x 1 root root 1369 Nov 27 2007 libkabckolab.la
lrwxrwxrwx 1 root root 21 Jul 5 03:00 libkabckolab.so ->
libkabckolab.so.0.0.0
lrwxrwxrwx 1 root root 21 Jul 5 02:56 libkabckolab.so.0 ->
libkabckolab.so.0.0.0
-rwxr-xr-x 1 root root 227856 Nov 27 2007 libkabckolab.so.0.0.0
-rwxr-xr-x 1 root root 1129 Nov 27 2007 libkabc.la
-rwxr-xr-x 1 root root 1197 Nov 27 2007 libkabc_ldapkio.la
lrwxrwxrwx 1 root root 24 Jul 5 02:30 libkabc_ldapkio.so ->
libkabc_ldapkio.so.1.0.0
lrwxrwxrwx 1 root root 24 Jul 5 01:49 libkabc_ldapkio.so.1 ->
libkabc_ldapkio.so.1.0.0
-rwxr-xr-x 1 root root 187424 Nov 27 2007 libkabc_ldapkio.so.1.0.0
-rwxr-xr-x 1 root root 1470 Nov 27 2007 libkabc_newexchange.la
lrwxrwxrwx 1 root root 28 Jul 5 03:00 libkabc_newexchange.so ->
libkabc_newexchange.so.1.0.0
lrwxrwxrwx 1 root root 28 Jul 5 02:56 libkabc_newexchange.so.1 ->
libkabc_newexchange.so.1.0.0
-rwxr-xr-x 1 root root 139456 Nov 27 2007 libkabc_newexchange.so.1.0.0
-rwxr-xr-x 1 root root 1390 Nov 27 2007 libkabc_slox.la
lrwxrwxrwx 1 root root 21 Jul 5 03:00 libkabc_slox.so ->
libkabc_slox.so.0.0.0
lrwxrwxrwx 1 root root 21 Jul 5 02:56 libkabc_slox.so.0 ->
libkabc_slox.so.0.0.0
-rwxr-xr-x 1 root root 110600 Nov 27 2007 libkabc_slox.so.0.0.0
lrwxrwxrwx 1 root root 16 Jul 5 02:30 libkabc.so -> libkabc.so.1.2.0
lrwxrwxrwx 1 root root 16 Jul 5 01:49 libkabc.so.1 -> libkabc.so.1.2.0
-rwxr-xr-x 1 root root 947604 Nov 27 2007 libkabc.so.1.2.0
-rwxr-xr-x 1 root root 1410 Nov 27 2007 libkabc_xmlrpc.la
lrwxrwxrwx 1 root root 23 Jul 5 03:00 libkabc_xmlrpc.so ->
libkabc_xmlrpc.so.1.0.0
lrwxrwxrwx 1 root root 23 Jul 5 02:56 libkabc_xmlrpc.so.1 ->
libkabc_xmlrpc.so.1.0.0
-rwxr-xr-x 1 root root 231568 Nov 27 2007 libkabc_xmlrpc.so.1.0.0
Do you know what libkabc is? An address book. A simple damn address book
lib. For some reason, handling an address book in KDE requires no less
than 40 files in /usr/lib. No doubt, there's probably an equivalent in
GNOME somewhere, and an equivalent for endless other niche purposes.
I'd rather have a platform where there's an agreement among developers
for the platform as to which libraries are relied upon for a given
common purpose. Uncommon libraries should be the *exception*, not the
norm. Thats why i'm digging OSX these days. It's a sane, consolidated,
consistent, and rational environment in which to develop, versus an
unstable, loosely organized, inconsistent and arbitrary environment.
Robert Hunter wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Wed, Oct 29, 2008 at 02:49:15PM -0700, Bowie J. Poag wrote:
>
>> I think you've got it backwards.
>>
>> Debian's policy is to ensure that packages fail the same way for
>> everyone across the board.
>>
>> Static binaries, kids. Friends don't let friends release code with
>> f@(#*ng undeclared dependencies on obscure libs in the package that only
>> the original coder and his damned cat have access to.
>>
>
> Bowie, I think you may have slipped in the goose poo and hit your
> head. Either that, or you've been hitting crack pipe. :-P
>
> First of all, properly packaged software will declare all
> dependencies. Software that resides in the Debian archive must meet
> this requirement, and the dependencies should also be resolvable. If
> you find an exception to this rule, you've found a bug, and filing a
> report is next step. On the other hand, if you've found your package
> at some random site on teh intarnets, you may end up eating a few
> kitty hair balls, but don't blame that on the project, silly.
>
> Second of all, if all the binaries were statically linked, the
> memory requirements of an average desktop machine would increase by
> some obscene factor. What happened to the just-say-no-to-code-bloat
> Bowie we once knew? ;-)
>
> PS. Congrats on your "Compaqitosh". I sounds like a sweet rig.
>
>
> - --Rob
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFJCPVfJ1pz6tWxufARAgygAKCEG4ufM9wfgOmqVB/BANuve+hRsgCfXdix
> xBk/UUacy7ef5s1z/MNjves=
> =PNyp
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Tucson Free Unix Group - tfug at tfug.org
> Subscription Options:
> http://www.tfug.org/mailman/listinfo/tfug_tfug.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tfug.org/pipermail/tfug_tfug.org/attachments/20081029/fdb25984/attachment-0002.html>
More information about the tfug
mailing list