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.