[FreeNX-kNX] Re: libXcompext.so.3 missing due to libpng12.so.0 issue
cognitive.libertarian+ml at gmail.com
cognitive.libertarian+ml at gmail.com
Wed Apr 27 18:21:17 UTC 2011
* chris at ccburton.com <chris at ccburton.com> [2011-04-23 13:47]:
> > $ cat > /usr/X11R6/bin/nxagent-wrapper.sh <<EOF
> > #!/bin/bash
> >
> > export LD_LIBRARY_PATH="/usr/local/nx/nxcomp:
> > /usr/local/nx/nxcompext:/usr/local/nx/nxcompshad:/usr/NX/lib"
>
> OK,
> but
> you aren't adding it to your library path, you are overwriting . .
One of the guides said it should be overwritten for some reason.
LD_LIBRARY_PATH is empty anyway, so it should not make a difference.
> > $ ldd /usr/X11R6/bin/nxagent
>
> This is without changing your
> LD_LIBRARY_PATH
> for ldd
I tested it both ways. That output is the same with or without the
LD_LIBRARY_PATH (perhaps because I also added these to the cache using
ldconfig).
> . . . . . . . . . . it finds one elsewhere, (src)
> cos
> LD_LIBRARY_PATH hasn't been overwritten for ldd
That's a typo. Sorry for the confusion. All these packages are in
/usr/local/src/nx on my system. I removed the "src" from the example
on how I got around one of the problems, figuring that it would be
more consistent with what others would use.
> > so.3 (0xb7cd8000)
> > libXcompshad.so.3 =>
> > /usr/local/src/nx/nxcompshad/libXcompshad.so.3 (0xb7ccb000)
> > ...
> > libpng12.so.0 => /usr/NX/lib/libpng12.so.0 (0xb7b10000)
> > ...
> >
> > Notice the 3 libXcomp* libs are now found according to ldd,
>
> . . . . . . without the new LD_LIBRARY_PATH . . . . .
>
> > but
> > nxagent reports "No such file or directory" for libXcompext.so.3.
>
> . . . with the NEW LD_LIBRARY_PATH which doesn't look in
> /usr/local/src/nx/nxcomp
Everything matches up. This is why I'm at a loss for how to fix
this. LD_LIBRARY_PATH includes /usr/local/src/nx/nxcompext, and
/usr/local/src/nx/nxcompext contains libXcompext.so.3.
> > There appears to be a library conflict with libpng12.so.0. Would
> > that cause libXcompext.so.3 to go missing?
>
> I can't see a conflict ???
This is at the top of the output from ldd:
$ ldd /usr/X11R6/bin/nxagent
/usr/X11R6/bin/nxagent: /usr/NX/lib/libpng12.so.0: no version information available (required by /usr/local/src/nx/nxcomp/libXcomp.so.3)
/usr/X11R6/bin/nxagent: /usr/NX/lib/libpng12.so.0: no version information available (required by /usr/local/src/nx/nxcompext/libXcompext.so.3)
When running "ldconfig -p | grep png":
libpng12.so.0 (libc6) => /usr/NX/lib/libpng12.so.0
libpng12.so.0 (libc6) => /usr/lib/libpng12.so.0
libpng12.so (libc6) => /usr/NX/lib/libpng12.so
libpng12.so (libc6) => /usr/lib/libpng12.so
So there are two versions in play. I'm not sure how to go about
resolving this.
> Compile/install all the SERVER stuff, don't use the client libraries.
The guides out there are a bit tangled. They don't name the server
and client packages. Is nxagent a server or client?
> #!/bin/sh
>
> NXCOMMAND=$(basename $0)
>
> export LD_LIBRARY_PATH=/usr/lib/NX/lib${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
> exec /usr/lib/NX/$NXCOMMAND ${1+"$@"}
>
>
> Should fix it.
>
> I do hope you are enjoying all this . . . ;)
Thanks for the help. However, that wrapper only makes slight changes,
and it does not turn out to make a difference. I still get:
/usr/X11R6/bin/nxagent: error while loading shared libraries: libXcompext.so.3: cannot open shared object file: No such file or directory
Even though LD_LIBRARY_PATH includes /usr/local/src/nx/nxcompext/.
The only other explanation would be if nxagent ignores
LD_LIBRARY_PATH, and also ignores the cache, and just looks in a fixed
location.
In the madness of trying fix this extremely frustrating problem, I've
copied/linked libXcompext.so.3 to three areas:
/usr/NX/lib/libXcompext.so.3
/usr/NX/lib/libXcompext.so.3.4.0
/usr/lib/libXcompext.so.3
/usr/lib/libXcompext.so.3.4.0
/usr/local/src/nx/nxcompext/libXcompext.so.3
/usr/local/src/nx/nxcompext/libXcompext.so.3.4.0
I've made sure all three locations are in the cache:
$ ldconfig -p | grep pext
libXcompext.so.3 (libc6) => /usr/local/src/nx/nxcompext/libXcompext.so.3
libXcompext.so.3 (libc6) => /usr/NX/lib/libXcompext.so.3
libXcompext.so.3 (libc6) => /usr/lib/libXcompext.so.3
libXcompext.so (libc6) => /usr/local/src/nx/nxcompext/libXcompext.so
libXcompext.so (libc6) => /usr/NX/lib/libXcompext.so
libXcompext.so (libc6) => /usr/lib/libXcompext.so
I've gone as far as to add all three locations to LD_LIBRARY_PATH:
export LD_LIBRARY_PATH="/usr/local/src/nx/nxcomp:/usr/local/src/nx/nxcompext:/usr/local/src/nx/nxcompshad:/usr/NX/lib:/usr/lib/"
I'm at a wall.
Any other ideas?
More information about the FreeNX-kNX
mailing list