Re: A proposal for Midnight Commander



On Sat, 2003-11-15 at 19:40, Gabucino wrote:
> > but pkg-config fixes a long standing problem in the Unix
> > world: how to detect, use and consume libraries easily.

> Sure. Ever tried to compile some pkgconfig-user program in
> "userspace", eg both with --prefix=/home/anywhere ? It won't
> work. Only as root, and /usr. So much for fixing long standing
> problems. (try sidplay2-lib and sidplay2 packages for example)

Actually it works in the --prefix=/home/<foo> directory. You can take my
word on this because I'm dealing with GNOME installations defacto every
day due to CVSGnome which I wrote. But you are partially right a coin
usually has 2 sides so does pkgconfig. While it does solve some things
about easier configuration it also increases complexity.

a) it's another program, which embedds an old glib 1.2.x inside it.
b) you are not dealing with *-config files anymore but you are now
dealing with all types of spread 'pkgconfig' directory paths.

Example:

Say you compile some stuff in /opt/<foo> and you see that it adds .pc
files into /opt/<foo>/lib/pkgconfig then you need to take care of this
directory because pkgconfig doesn't know of this directory unless it's
compiled in the same prefix. Let's assume here that pkgconfig has it's
prefix in /usr/local. Now you need to make pkgconfig know about the new
/opt/<foo>/lib/pkgconfig dir so you need to add this path to the
PKG_CONFIG_PATH

export PKG_CONFIG_PATH="/opt/<foo>/lib/pkgconfig:$PKG_CONFIG_PATH"

Now you see in more recent installations of XFree that it also created a
directory in /usr/X11R6/lib/pkgconfig. Thus you need to add this prefix
to the PKG_CONFIG_PATH searchpath as well so pkgconfig realizes that
there are .pc files as well thus you line looks like this.

export
PKG_CONFIG_PATH="/opt/<foo>/lib/pkgconfig:/usr/X11R6/lib/pkgconfig:$PKG_CONFIG_PATH"

Now many core system libraries are moving to /usr these days and you
guessed it, some of these things create a /usr/lib/pkgconfig directory
so your line looks like this.

export
PKG_CONFIG_PATH="/opt/<foo>/lib/pkgconfig:/usr/X11R6/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH"

This was not required with the old *-config files because they were
always found in the suitable binary PATHS. I do see benefits of using
pkgconfig - as I'm using it in my own stuff, but it would be a big lie
denying other problems that have shown up with it.

And yes, I think that spreading the word 'freedesktop.org' and making a
defacto standard out of it is plain wrong. I am not against new
technology. I do like the people participating in their IRC channel and
we have a good harmony of conversations there. But showing up on all
places and say 'freedesktop.org' is a standard is not the right thing
and people doing this are taking out (?) a lot by doing so. I also
belive, with respect to open source and the capabilities of their
developers. That expecting glib to be found on every plattform is - like
taking away individuality of these plattforms. The individuality of
MacOSX, QNX, MorphOS etc. should be kept as is. There has been a reason
for these developers to make exactly such an Operating System. Because
they plan to be different. If there is no individuality anymore in
computer business then where will we find ourselves pretty soon ? Say
people who do not like GNOME or KDE, they are forced to use their
libraries. They plan to escape to QNX because they think they can
benefit from PROTON and Neutrino and what do they find. All these lame
ports. They then escape to the quite expensive Machintosh architecture
and find them caught in the same situation using the libraries they
wanted to escape from.

Again I'm not criticising these technologies. I do use many of these
libraries myself. They should be used where they belong to and nowhere
else. I am heavily critcising people who repeat these things more and
more until the last one belives it. I for my own think this is
encforcing wrong facts on peoples mind.

greetings.




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