On Wed, 22 Jan 2020 21:18:08 +0000 Paul Szabo <[email protected]> wrote:
> It now seems to me that the issue is with MIT-SHM, that the code to
> detect whether MIT-SHM is working (so whether to enable) is "broken".
> Using the workaround below, fudging MIT-SHM to report as not present:
>
>   cc -shared -o XlibNoSHM.so XlibNoSHM.c
>   LD_PRELOAD='libdl.so ./XlibNoSHM.so' chromium
>
> solves the issue for me. (That code is "ancient", with comments about
> some old Firefox; the Firefox issue was fixed some time ago.)
>
> Cheers, Paul
> --
> Paul Szabo   [email protected]   http://www.maths.usyd.edu.au/u/psz/
> School of Mathematics and Statistics   University of Sydney    Australia
>
> I support NTEU members taking a stand for workplace rights in the face of
> poorly-run change management. Visit www.nteu.org.au/sydney to learn more.

For anyone else trying to get this to compile, it was necessary for me to 
'apt-get install libxext-dev'
to get the necessary headers installed.
On my machine, it was also necessary to add '-fPIC' to the compile line - not 
sure if that is because
I am running Ubuntu 16.04, or because it is an 64-bit install

Once I got the code to compile, this did resolve the issue for me, though I do 
get some errors like:

ERROR: ld.so: object './XlibNoSHM.so' from LD_PRELOAD cannot be preloaded 
(cannot open shared object file): ignored.

I don't know if this is because sub-processes are trying to start from a 
different directory and can't find the SHM disabling .so file

>From looking at the code, it might be a good idea to change the line:
#define LIBXLIB "libXext.so"
to:
#define LIBXLIB "libXext.so.6"

So that the disabling .so will work if copied to a machine that doesn't have 
the development libraries present

Regards

Michael




Reply via email to