[X2go-Dev] OT: exclude /usr/lib/x2go/libX11.so.6 from being linked by other apps

Ivan Kabaivanov chepati at yahoo.com
Sat Oct 15 19:32:38 CEST 2011


On Saturday 15 October 2011 16:43:39 Milan Knížek wrote:
> Hello list,
> 
> since x2goagent uses its own X window system, there are two libX11.so in the
> system.
> 
> Unfortunatelly, some programs (darktable) link against
> /usr/lib/x2go/libX11.so.6 instead /usr/lib/libX11.so.6 and the compilation
> fails.
> 
> Is there a way how to exclude the /usr/lib/x2go directory from the linker
> system-wide? (Arch linux.) Or is the only solution to install x2goagent to
> a non-standard directory (/opt/x2goagent)?
> 
> regards,
> Milan


Hi Milan,

check if /usr/lib/x2go is listed in /etc/ld.so.conf (or whatever 
file/directory your distribution is using).  If it is listed, remove it and 
re-run /sbin/ldconfig.  Then create a wrapper to start x2goagent with the 
correct LD_LIBRARY_PATH.

What I did, Renamed the original /usr/bin/x2goagent to 
/usr/bin/x2goagent.original and created /usr/bin/x2goagent, that is a wrapper 
with the following content:


#!/bin/bash
X2GO_LIBS=/usr/lib/x2go LD_LIBRARY_PATH=/usr/lib/x2go exec 
/usr/bin/x2goagent.original $@

This is on one line (the bash invocation is a separate line though).  Then 
chmod 755 /usr/bin/x2goagent.  That should do the trick.

In my installation from source I discovered I need all of these libs from the 
x2goagent build:

libXext.so*
libX11.so*
libXpm.so*
libXrender.so*
libXfixes.so*
libXtst.so*
libXdamage.so*
libXrandr.so*
libXcomposite.so*

I tried to narrow down to which one was really the deal breaker for x2goagent, 
but if I'm not mistaken it turned out I needed *all* of the above.

Devs, perhaps it would be a good idea to change the x2goagent code and rename 
the above libs to ${lib}-x2go.so.* or some such?  Then they can safely be 
installed in /usr/lib without fear of interfering with other programs.

IvanK.



More information about the x2go-dev mailing list