Subject: Re: static vs. dynamic runtime linking, again (was: PAM and su -K)
To: None <tech-userlevel@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 01/24/2005 19:16:29
>> At that point I added -static and the problems went away.  [...]
> You forgot -Wl,-rpath,/usr/X11R6/lib --

"Forgot"?  Where was I supposed to remember it from?

> there's a huge number of software packages (outside Pkgsrc) that
> still don't get dynamic linking right.

It's hardly a "package"; it's a program of my own.

> The conclusion is that their authors should just forget
> LD_LIBRARY_PATH + /etc/ld.so.conf and repair their build frameworks.

And just what do you think I should do to "repair" my build "framework"
- which you, NetBSD, not I, broke?!

I didn't use LD_LIBRARY_PATH and /etc/ld.so.conf - though given
NetBSD's much-trumpted commitment to backwards compatability, I
certainly should have been able to.  I took a stock system and tried to
link an X program.  I got an error because the libraries weren't found
(which strikes me as severely broken; if I tell the installer to
install the X compilation stuff, I shouldn't need any special options
to build X stuff).  What kind of "repair" do you think I need to do?
It looks to me as though the answer is "stop trying to use NetBSD,
because it's too hostile towards code that hasn't been Blessed by the
Build System Gurus", which I must admit is looking pretty tempting at
this point.

If I were a naïve user without my long history with NetBSD, I would
have done the install, created a user, logged in, got "xterm: Command
not found." despite my having told it to install all the X stuff, and
ditched it for something that _does_ "work" right out of the box.
(/usr/pkg/bin is in the default path; why isn't /usr/X11R6/bin?)  This
issue is just the compilation analog of the same thing: I told it to
install X support, I bloody well expect to have X support - and if it
takes groveling even manpages, never mind webpages, to figure out how
to build a hello-world X program, that just doesn't count!

As it is, it's looking as though it'll probably be less grief to ditch
/usr/X11R6 and install the same X code I've been using all along on the
rest of my machines.  There is something severely broken when it's less
pain to install my own X than to use the one that comes with the OS.

Of course, NetBSD may not agree.  NetBSD may consider it perfectly
reasonable to assume that everyone trying to compile anything will be
using only pkgsrc packages.  But given how badly NetBSD serves even
_those_ users, I'm inclined to doubt that it will work.

When I came to NetBSD, lo these many years ago, it appeared to be
trying to do something useful, rather than following the masses.  Now,
it appears to be trying to beat Linux at its own game, and, not
surprisingly, it's stuck eternally playing catch-up and wondering why
it has such a low userbase.  Could it be, just maybe, that the hardcore
geeks like me who want to build their own stuff and the like are driven
off by responses like "you forgot this option you have no reason to
have ever seen before in your life" and the implication that it's my
own fault for not being a good little end-user and installing only
things from pkgsrc, and the end users who just want it to all look
pretty and work are driven off by things like X not being in the path
despite having told it to install X - if they're not driven off earlier
by how much larger a software base is available for Linux?

NetBSD is marginalizing itself.  It could be filling a very underserved
niche, one it appeared to be aimed at a decade ago.  But instead it's
trying to be another Linux and doing a very bad job of it, satisfying
nobody.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B