Washington-University / workbench

Connectome Workbench
http://www.humanconnectome.org/software/get-connectome-workbench.html
GNU General Public License v2.0
187 stars 63 forks source link

wb_view (workbench 2.0.0) crashes in ubuntu 24.04.1 #80

Closed RicardoRios46 closed 1 month ago

RicardoRios46 commented 1 month ago

Hello. I recenlty downloaded workbench 2.0.0 in a fresh install of Ubuntu 24.04.1.

wb_view crash in start up with the following error:

baronlab@RRI-BARON10:~$ wb_view 
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

I defined QT_DEBUG_PLUGINS=1 to see more details. The final paragraph before the crash is:

Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/baronlab/Software/workbench_2.0.0/exe_linux64/platforms" ...
loaded library "/home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so" : "Cannot load library /home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so: (/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

Any hints what can I try to make it work?

Note: wb_command seems to wok fine.

Thank you for the help (and the amazing software!).

Best, Ricardo

johnvelab commented 1 month ago

Can you run ldd on this library to see if any dependencies are missing:

ldd /home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so

https://forum.qt.io/topic/93247/qt-qpa-plugin-could-not-load-the-qt-platform-plugin-xcb-in-even-though-it-was-found/152

It is suggested to install this package: sudo apt install libxcb-cursor0

John Harwell

From: Ricardo Rios @.> Date: Friday, September 20, 2024 at 9:46 AM To: Washington-University/workbench @.> Cc: Subscribed @.***> Subject: [Washington-University/workbench] wb_view (workbench 2.0.0) crashes in ubuntu 24.04.1 (Issue #80)

Hello. I recenlty downloaded workbench 2.0.0 in a fresh install of Ubuntu 24.04.1.

wb_view crash in start up with the following error:

@.***:~$ wb_view

This application failed to start because it could not find or load the Qt platform plugin "xcb"

in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

Aborted (core dumped)

I defined QT_DEBUG_PLUGINS=1 to see more details. The final paragraph before the crash is:

Got keys from plugin meta data ("xcb")

QFactoryLoader::QFactoryLoader() checking directory path "/home/baronlab/Software/workbench_2.0.0/exe_linux64/platforms" ...

loaded library "/home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so"

QLibraryPrivate::loadPlugin failed on "/home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so" : "Cannot load library /home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so: (/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)"

This application failed to start because it could not find or load the Qt platform plugin "xcb"

in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

Aborted (core dumped)

Any hints what can I try to make it work?

Note: wb_command seems to wok fine.

Thank you for the help (and the amazing software!).

Best, Ricardo

— Reply to this email directly, view it on GitHubhttps://github.com/Washington-University/workbench/issues/80, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALSGXGX7FYKHEX6FD5FZKDZXQYN5AVCNFSM6AAAAABOSGITXCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZTSMBQG4YTCOA. You are receiving this because you are subscribed to this thread.Message ID: @.***>


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

RicardoRios46 commented 1 month ago

ldd libqxcb.so output:

    linux-vdso.so.1 (0x00007ffd193e7000)
    libQt5XcbQpa.so.5 => /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 (0x000078bdc6d41000)
    libQt5Gui.so.5 => /lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x000078bdc6200000)
    libQt5Core.so.5 => /lib/x86_64-linux-gnu/libQt5Core.so.5 (0x000078bdc5c00000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000078bdc5800000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000078bdc5400000)
    libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x000078bdc6cee000)
    libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x000078bdc6c22000)
    libQt5DBus.so.5 => /lib/x86_64-linux-gnu/libQt5DBus.so.5 (0x000078bdc696d000)
    libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x000078bdc6c1d000)
    libxcb-icccm.so.4 => /lib/x86_64-linux-gnu/libxcb-icccm.so.4 (0x000078bdc6c16000)
    libxcb-image.so.0 => /lib/x86_64-linux-gnu/libxcb-image.so.0 (0x000078bdc6c10000)
    libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x000078bdc6c09000)
    libxcb-keysyms.so.1 => /lib/x86_64-linux-gnu/libxcb-keysyms.so.1 (0x000078bdc6c04000)
    libxcb-randr.so.0 => /lib/x86_64-linux-gnu/libxcb-randr.so.0 (0x000078bdc695c000)
    libxcb-render-util.so.0 => /lib/x86_64-linux-gnu/libxcb-render-util.so.0 (0x000078bdc6955000)
    libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x000078bdc6946000)
    libxcb-shape.so.0 => /lib/x86_64-linux-gnu/libxcb-shape.so.0 (0x000078bdc6941000)
    libxcb-sync.so.1 => /lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x000078bdc6936000)
    libxcb-xfixes.so.0 => /lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x000078bdc692c000)
    libxcb-xinerama.so.0 => /lib/x86_64-linux-gnu/libxcb-xinerama.so.0 (0x000078bdc6927000)
    libxcb-xkb.so.1 => /lib/x86_64-linux-gnu/libxcb-xkb.so.1 (0x000078bdc6909000)
    libxcb-xinput.so.0 => /lib/x86_64-linux-gnu/libxcb-xinput.so.0 (0x000078bdc61dc000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x000078bdc61b3000)
    libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x000078bdc68fb000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x000078bdc5ac3000)
    libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x000078bdc61a9000)
    libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x000078bdc618d000)
    libxkbcommon-x11.so.0 => /lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 (0x000078bdc6183000)
    libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x000078bdc57b7000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x000078bdc566e000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000078bdc5a96000)
    libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x000078bdc5379000)
    libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x000078bdc5636000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x000078bdc561a000)
    libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x000078bdc526c000)
    libmd4c.so.0 => /lib/x86_64-linux-gnu/libmd4c.so.0 (0x000078bdc5a84000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000078bdc5183000)
    libdouble-conversion.so.3 => /lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x000078bdc516e000)
    libicui18n.so.74 => /lib/x86_64-linux-gnu/libicui18n.so.74 (0x000078bdc4e00000)
    libicuuc.so.74 => /lib/x86_64-linux-gnu/libicuuc.so.74 (0x000078bdc4a00000)
    libpcre2-16.so.0 => /lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x000078bdc4d74000)
    libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x000078bdc4cba000)
    /lib64/ld-linux-x86-64.so.2 (0x000078bdc6ed5000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x000078bdc4c8f000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x000078bdc515a000)
    libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x000078bdc4c81000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x000078bdc4c32000)
    libxcb-util.so.1 => /lib/x86_64-linux-gnu/libxcb-util.so.1 (0x000078bdc6175000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x000078bdc5a7e000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x000078bdc5612000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x000078bdc5150000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x000078bdc4c1c000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x000078bdc4966000)
    libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x000078bdc48ae000)
    libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x000078bdc487b000)
    libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x000078bdc4855000)
    libicudata.so.74 => /lib/x86_64-linux-gnu/libicudata.so.74 (0x000078bdc2a00000)
    libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x000078bdc4832000)
    libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x000078bdc2920000)
    libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x000078bdc4c0d000)
    libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x000078bdc4823000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x000078bdc27d8000)
    liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x000078bdc4801000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x000078bdc47cf000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x000078bdc47aa000)

I installed libxcb-cursor0 in the machine but still got the same crash.

coalsont commented 1 month ago

Just for sanity, you put the bin_linux64 folder on your $PATH, right? Not the exe_linux64 folder? Can you check which wb_view?

Another possibility is to install from neurodebian instead of the zip download:

https://neuro.debian.net/pkgs/connectome-workbench.html

RicardoRios46 commented 1 month ago

Yes, bin_linux64 is in the $PATH. which wb_view works as expected.

I'm configuring a new computer for the lab and I'm using Lmod modules system to handle software paths. An executable zip version is prefered to handle multiple versions etc. etc.

Has any other user with ubuntu 24.04.1 experienced the same problem?

johnvelab commented 1 month ago

Try running ldd on the libqxcb.so that is included with workbench. “ldd libqxcb.so” may have run on a library installed on your computer.

prompt> ldd /home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so

At the bottom of your first email is a link failure:

"/home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so" : "Cannot load library /home/baronlab/Software/workbench_2.0.0/libs_linux64/plugins/platforms/libqxcb.so: (/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)"

This might be related, it has the same undefined symbol:

https://www.reddit.com/r/GowinFPGA/comments/1f7jjx3/gowin_eda_linux_install_help/

John Harwell

From: Ricardo Rios @.> Date: Friday, September 20, 2024 at 2:19 PM To: Washington-University/workbench @.> Cc: Harwell, John @.>, Comment @.> Subject: Re: [Washington-University/workbench] wb_view (workbench 2.0.0) crashes in ubuntu 24.04.1 (Issue #80)

Yes, bin_linux64 is in the $PATH. which wb_view works as expected.

I'm configuring a new computer for the lab and I'm using Lmod modules system to handle software paths. An executable zip version is prefered to handle multiple versions etc. etc.

Has any other user with ubuntu 24.04.1 experienced the same problem?

— Reply to this email directly, view it on GitHubhttps://github.com/Washington-University/workbench/issues/80#issuecomment-2364411840, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALSGXBTFVPJMHIGARNJTZDZXRYMJAVCNFSM6AAAAABOSGITXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRUGQYTCOBUGA. You are receiving this because you commented.Message ID: @.***>


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

RicardoRios46 commented 1 month ago

Yeah I did run ldd to the library inside workbench folder (I'm sorry for the confusion)

RicardoRios46 commented 1 month ago

Also related [https://github.com/helloSystem/LinuxRuntime/issues/11]().

I tried the solution of both posts (LD_PRELOAD=/usr/lib/libfreetype.so wb_view ) but not luck so far :/

simonvino commented 1 month ago

Same issue here after updating to ubuntu 24, would be super grateful for any suggestions! :-)

johnvelab commented 1 month ago
  1. Try running mesagl_wb_view that is in the bin_linux64 directory. This version uses software graphics libraries but I expect the same error.
  2. Did we run “ldd” on the executable to see if it has any library failures? In the “exe_linux64” directory, run “ldd wb_view”.
  3. In “libs_linux64”, try removing libfreetype.so.6 and then run wb_view (should use versions of this library installed on your computer, if they exist). You might also try removing libftgl.so.2.
  4. Build workbench from the source code.

John Harwell

From: simonvino @.> Date: Friday, September 27, 2024 at 3:22 AM To: Washington-University/workbench @.> Cc: Harwell, John @.>, Comment @.> Subject: Re: [Washington-University/workbench] wb_view (workbench 2.0.0) crashes in ubuntu 24.04.1 (Issue #80)

Same issue here after updating to ubuntu 24, would be super grateful for any suggestions! :-)

— Reply to this email directly, view it on GitHubhttps://github.com/Washington-University/workbench/issues/80#issuecomment-2378724191, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALSGXE7Z7ARI4QFHNVEYIDZYUISNAVCNFSM6AAAAABOSGITXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYG4ZDIMJZGE. You are receiving this because you commented.Message ID: @.***>


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

simonvino commented 1 month ago

Removing "libfreetype.so.6" in "libs_linux64" did the job! Thank you!

RicardoRios46 commented 1 month ago

Hello again.

Yes, I did run "ldd" on the executable inside exe_linux64.

Erasing libfreetype.so.6 in the exe_linux64 folder solved the issue. I think I manually installed libfreetype at some point so I am not sure if it is already preinstalled in the latest ubuntu. But it solved the issue!

myersm0 commented 1 month ago

I had the OP's problem, also on Ubuntu 24.04, and what worked for me was (without needing to build from source):

sudo apt-get install --reinstall libfontconfig1 libfreetype6
sudo fc-cache -f -v
export LD_PRELOAD="$LD_PRELOAD /usr/lib/x86_64-linux-gnu/libfreetype.so.6"
coalsont commented 1 month ago

I had the OP's problem, also on Ubuntu 24.04, and what worked for me was (without needing to build from source):

sudo apt-get install --reinstall libfontconfig1 libfreetype6
sudo fc-cache -f -v
export LD_PRELOAD="$LD_PRELOAD /usr/lib/x86_64-linux-gnu/libfreetype.so.6"

It is probably just the LD_PRELOAD that is doing the job, equivalent to ignoring/removing the older version of the library that is in our zip distribution. Installing from neurodebian would probably also avoid this issue.