3789983e89
Reviewed-by: darcy, ihse
37 lines
1.6 KiB
Plaintext
37 lines
1.6 KiB
Plaintext
How to prepare an Ubuntu machine for GTK-2-less test run.
|
|
|
|
The test DemandGTK2.sh should work well without GTK-2 switching to version 3
|
|
if there's no GTK-2 library available.
|
|
At the moment, it's not easy to find a system with GTK-3 and without GTK-2:
|
|
many programs still depend on version 2.
|
|
We can, however, rename GTK-2 library for a single test run and then restore
|
|
it back.
|
|
|
|
(1) Find GTK2 library: run
|
|
/sbin/ldconfig -v 2>/dev/null | grep libgtk-x11-2
|
|
|
|
It will output one or two lines like
|
|
libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.2400.23
|
|
Search for the target of that symlink for instance with locate:
|
|
locate libgtk-x11-2.0.so.0.2400.23
|
|
Finally, you'll find the libraries. On my current machine they are
|
|
/usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.23
|
|
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23
|
|
|
|
I'm running 64-bit JDK and need to tamper with x86_64 copy only.
|
|
|
|
(2) Find running programs depending on this library. They probably would crash
|
|
if you rename it. Stop them for this test run.
|
|
That said, I'm afraid it would be impossible to do on a system older than Ubuntu 16.04.
|
|
On my Ubuntu 16.04 I have only hud-service using this library, and that's OK, it will restart
|
|
after a crash, if any.
|
|
To find these programs, run
|
|
lsof /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23
|
|
|
|
(3) Now,
|
|
sudo mv /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23 /usr/lib/x86_64-linux-gnu/bak.libgtk-x11-2.0.so.0.2400.23
|
|
jtreg DemandGTK2.sh
|
|
sudo mv /usr/lib/x86_64-linux-gnu/bak.libgtk-x11-2.0.so.0.2400.23 /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23
|
|
|
|
Needless to say, you should substitute your own library path and however you run jtreg.
|