Subject: Re: Problems with latest snapshot.
To: Feico Dillema <dillema@acm.org>
From: Chris G. Demetriou <cgd@cs.cmu.edu>
List: port-alpha
Date: 03/24/1997 15:49:29
> I upgraded from NetBSD-1.2-alpha to the 970305 snapshot, using the 
> tarballs (including x11-fixes). Initially I was pleassantly suprised
> that my system came up and running without any noticable problems :-).

Good.  8-)


> Last weekend I started to recompile some applications and ran into
> some problems, leaving me rather clueless. I really like having
> shared libs and such, but I'm a bit at a loss on how things work
> (or should work?). I haven't build myself a new kernel yet (don't
> have sources online at the moment).

The solution to your problems is probably:

ls -la /usr/libexec/cpp

you'll note that it's a symlink to something like:

	../local/lib/gcc-lib/*/*/cpp

It's quite likely pointing at the old cpp binary, unless you untarred
the new binary tar files with --unlink.

remove /usr/libexec/cpp, and symlink it to the newest cpp of
/usr/local/lib/gcc-lib/*/*/cpp .


> First, I recompiled `xpm' and `fvwm'.  Compilation went fine, but executing
> fvwm results in something like `Cannot find shared object libXsomething.so.x'
> (a shared lib present in /usr/X11R6/lib).

Right.  The new X Imakefile rules know to add the right shared library
path stuff to the ld command line, but since they were being run with
the old cpp they didn't do the right stuff.  once you've re-symlinked
cpp to the right place, xmkmf your programs again and build them again.

(I've actually found a few programs which do the wrong things, but
invariably the problems are bugs in the programs' autoconfig scripts.
E.g. ssh, when building ssh-askpass, doesn't set up the right library
path, because its configure script is broken.)


> I thought a `ldconfig  /usr/X11R6/lib'
> might help here, but `ldconfig' had disappeared from my system.

ldconfig makes sense for a.out shared libraries, but doesn't really
make sense for properly-implemented ELF shared libraries.  ELF
binaries include non-standard library paths within the binaries
themselves, and the ELF shared library lookup method is cheap enough
that ldconfig doesn't save much, if anything.

You can still use LD_LIBRARY_PATH to set library paths for non-set-id
binaries, FYI.



later,

chris