Ubuntu 23.04 ships with libtiff.so.6 and libtiff.so.5 doesn’t seem to be available. I’ve installed MRtrix3 throught anaconda and have used a workaround to make it work by creating a symbolic link to version 6 with the following commands:
cd /usr/lib/x86_64-linux-gnu/
sudo ln -s libtiff.so.6 libtiff.so.5
However, this is risky and not clean. Do you have antoher suggestion to fix this issue? Will this be fixed in the future?
Hi @Alexandre,
I’ve also seen similar issues, and resorted to a similar fix, which I agree is an ugly hack. Thinking about this more, I am surprised that this would be an issue on anaconda, given that it’s supposed to provide a uniform platform. On my (outdated) anaconda installation, everything was fine, and I could see that the MRtrix executables were using the anaconda-supplied version of libtiff. But having just updated my anaconda installation, it now fails to find libtiff.so.5, as you mention. Clearly, anaconda now also ships with libtiff.so.6…
In short, the problem is with anaconda, not Ubuntu. The fix is probably just to update the version of the dependency in the anaconda recipe and regenerate the package. I’ll try to do that this afternoon…
All the best,
Donald.
Quick update: I’ve had a go at re-running our recipe for building MRtrix on anaconda, and I can’t get things to work at all at the moment… I won’t have time to look into this for the foreseeable future, and truth be told, I’m struggling to understand Anaconda’s obscure inner workings and figure out what to try next…
For reference, the error I end up with is at the configure stage:
...
Checking for Qt moc: moc (version 5.15.8)
Checking for Qt qmake: qmake (version 5.15.8)
Checking for Qt rcc: rcc (version 5.15.8)
Checking for Qt:
ERROR: error linking Qt application!
See the file 'configure.log' for details. If this doesn't help and you need
further assistance, please post on the MRtrix3 community forum
(http://community.mrtrix.org/), and make sure to include the full contents of
the 'configure.log' file.
which turns out to be due to this weird error during linking a test Qt application (from configure.log
):
CMD: /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/bin/x86_64-conda-linux-gnu-c++ -Wl,--sort-common,--as-needed -pthread -L/home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib -Wl,-rpath,/home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib -lz -ltiff -lpng -lfftw3 qt_moc.o qt.o -o qt /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5OpenGL.so /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Svg.so /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Widgets.so /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Gui.so /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Network.so /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Core.so -L$(CONDA_BUILD_SYSROOT)/usr/lib64 -lGL -lpthread
EXIT: 1
STDERR:
/home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/13.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Core.so: undefined reference to `memcpy@GLIBC_2.14'
/home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/13.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Core.so: undefined reference to `clock_gettime@GLIBC_2.17'
/home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/13.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env/lib/libQt5Core.so: undefined reference to `getauxval@GLIBC_2.16'
collect2: error: ld returned 1 exit status
I don’t understand how or why this happens… It looks like the version of libc
is too old for Qt5, but I’ve no idea how to get around that. For reference, here is the full listing of packages in the build environment. If anyone has a clue how to fix this, I’m all ears!
$ conda list
# packages in environment at /home/donald/miniconda3/conda-bld/mrtrix3_1691598950271/_build_env:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
alsa-lib 1.2.8 h166bdaf_0 conda-forge
attr 2.5.1 h166bdaf_1 conda-forge
binutils_impl_linux-64 2.40 hf600244_0 conda-forge
binutils_linux-64 2.40 hbdbef99_1 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.19.1 hd590300_0 conda-forge
ca-certificates 2023.7.22 hbcca054_0 conda-forge
cairo 1.16.0 hbbf8b49_1016 conda-forge
curl 8.1.2 h409715c_0 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
eigen 3.4.0 h00ab1b0_0 conda-forge
expat 2.5.0 hcb278e6_1 conda-forge
fftw 3.3.10 nompi_hc118613_108 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 conda-forge
fontconfig 2.14.2 h14ed4e7_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freetype 2.12.1 hca18f0e_1 conda-forge
gcc_impl_linux-64 13.1.0 hc4be1a9_0 conda-forge
gcc_linux-64 13.1.0 hd2d1137_1 conda-forge
gettext 0.21.1 h27087fc_0 conda-forge
giflib 5.2.1 h0b41bf4_3 conda-forge
git 2.41.0 pl5321h86e50cf_0 conda-forge
glib 2.76.4 hfc55251_0 conda-forge
glib-tools 2.76.4 hfc55251_0 conda-forge
graphite2 1.3.13 h58526e2_1001 conda-forge
gst-plugins-base 1.22.3 h938bd60_1 conda-forge
gstreamer 1.22.3 h977cf35_1 conda-forge
gxx_impl_linux-64 13.1.0 hc4be1a9_0 conda-forge
gxx_linux-64 13.1.0 h5006d2a_1 conda-forge
harfbuzz 7.3.0 hdb3a94d_0 conda-forge
icu 72.1 hcb278e6_0 conda-forge
kernel-headers_linux-64 2.6.32 he073ed8_16 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.20.1 h81ceb04_0 conda-forge
lame 3.100 h166bdaf_1003 conda-forge
ld_impl_linux-64 2.40 h41732ed_0 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libcap 2.69 h0f662aa_0 conda-forge
libclang 16.0.6 default_h1cdf331_1 conda-forge
libclang13 16.0.6 default_h4d60ac6_1 conda-forge
libcups 2.3.3 h36d4200_3 conda-forge
libcurl 8.1.2 h409715c_0 conda-forge
libdeflate 1.18 h0b41bf4_0 conda-forge
libdrm-cos6-x86_64 2.4.65 h9b0a68f_1105 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libevent 2.1.12 hf998b51_1 conda-forge
libexpat 2.5.0 hcb278e6_1 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libflac 1.4.3 h59595ed_0 conda-forge
libgcc-devel_linux-64 13.1.0 he3cc6c4_0 conda-forge
libgcc-ng 13.1.0 he5830b7_0 conda-forge
libgcrypt 1.10.1 h166bdaf_0 conda-forge
libgfortran-ng 13.1.0 h69a702a_0 conda-forge
libgfortran5 13.1.0 h15d22d2_0 conda-forge
libglib 2.76.4 hebfc3b9_0 conda-forge
libgomp 13.1.0 he5830b7_0 conda-forge
libgpg-error 1.47 h71f35ed_0 conda-forge
libiconv 1.17 h166bdaf_0 conda-forge
libjpeg-turbo 2.1.5.1 h0b41bf4_0 conda-forge
libllvm16 16.0.6 h5cf9203_2 conda-forge
libnghttp2 1.52.0 h61bc06f_0 conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libogg 1.3.4 h7f98852_1 conda-forge
libopus 1.3.1 h7f98852_1 conda-forge
libpng 1.6.39 h753d276_0 conda-forge
libpq 15.3 hbcd7760_1 conda-forge
libsanitizer 13.1.0 hfd8a6a1_0 conda-forge
libselinux-cos6-x86_64 2.0.94 h9b0a68f_1105 conda-forge
libselinux-devel-cos6-x86_64 2.0.94 h9b0a68f_1105 conda-forge
libsepol-cos6-x86_64 2.0.41 h9b0a68f_1105 conda-forge
libsepol-devel-cos6-x86_64 2.0.41 h9b0a68f_1105 conda-forge
libsndfile 1.2.0 hb75c966_0 conda-forge
libsqlite 3.42.0 h2797004_0 conda-forge
libssh2 1.11.0 h0841786_0 conda-forge
libstdcxx-devel_linux-64 13.1.0 he3cc6c4_0 conda-forge
libstdcxx-ng 13.1.0 hfd8a6a1_0 conda-forge
libsystemd0 254 h3516f8a_0 conda-forge
libtiff 4.5.1 h8b53f26_0 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libwebp 1.3.1 hbf2b3c1_0 conda-forge
libwebp-base 1.3.1 hd590300_0 conda-forge
libx11-common-cos6-x86_64 1.6.4 h9b0a68f_1105 conda-forge
libx11-cos6-x86_64 1.6.4 h9b0a68f_1105 conda-forge
libx11-devel-cos6-x86_64 1.6.4 h9b0a68f_1105 conda-forge
libxau-cos6-x86_64 1.0.6 h9b0a68f_1105 conda-forge
libxau-devel-cos6-x86_64 1.0.6 h9b0a68f_1105 conda-forge
libxcb 1.15 h0b41bf4_0 conda-forge
libxdamage-cos6-x86_64 1.1.3 h9b0a68f_1105 conda-forge
libxdamage-devel-cos6-x86_64 1.1.3 h9b0a68f_1105 conda-forge
libxext-cos6-x86_64 1.3.3 h9b0a68f_1105 conda-forge
libxext-devel-cos6-x86_64 1.3.3 h9b0a68f_1105 conda-forge
libxfixes-cos6-x86_64 5.0.3 h9b0a68f_1105 conda-forge
libxfixes-devel-cos6-x86_64 5.0.3 h9b0a68f_1105 conda-forge
libxkbcommon 1.5.0 h5d7e998_3 conda-forge
libxml2 2.11.5 h0d562d8_0 conda-forge
libxrender-cos6-x86_64 0.9.10 h9b0a68f_1105 conda-forge
libxrender-devel-cos6-x86_64 0.9.10 h9b0a68f_1105 conda-forge
libxxf86vm-cos6-x86_64 1.1.3 h9b0a68f_1105 conda-forge
libxxf86vm-devel-cos6-x86_64 1.1.3 h9b0a68f_1105 conda-forge
libzlib 1.2.13 hd590300_5 conda-forge
lz4-c 1.9.4 hcb278e6_0 conda-forge
mesa-dri-drivers-cos6-x86_64 11.0.7 h9b0a68f_1105 conda-forge
mesa-dri1-drivers-cos6-x86_64 7.11 h9b0a68f_1105 conda-forge
mesa-libegl-cos6-x86_64 11.0.7 h9b0a68f_1105 conda-forge
mesa-libegl-devel-cos6-x86_64 11.0.7 h9b0a68f_1105 conda-forge
mesa-libgl-cos6-x86_64 11.0.7 h9b0a68f_1105 conda-forge
mesa-libgl-devel-cos6-x86_64 11.0.7 h9b0a68f_1105 conda-forge
mpg123 1.31.3 hcb278e6_0 conda-forge
mysql-common 8.0.33 hf1915f5_2 conda-forge
mysql-libs 8.0.33 hca2cd23_2 conda-forge
ncurses 6.4 hcb278e6_0 conda-forge
nspr 4.35 h27087fc_0 conda-forge
nss 3.89 he45b914_0 conda-forge
openssl 3.1.2 hd590300_0 conda-forge
pcre2 10.40 hc3806b6_0 conda-forge
perl 5.32.1 4_hd590300_perl5 conda-forge
pip 23.2.1 pyhd8ed1ab_0 conda-forge
pixman 0.40.0 h36c2ea0_0 conda-forge
pkg-config 0.29.2 h36c2ea0_1008 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
pulseaudio-client 16.1 hb77b528_4 conda-forge
python 3.11.4 hab00c5b_0_cpython conda-forge
qt 5.15.8 hf11cfaa_0 conda-forge
qt-main 5.15.8 h01ceb2d_12 conda-forge
qt-webengine 5.15.8 h27f4a20_2 conda-forge
readline 8.2 h8228510_1 conda-forge
setuptools 68.0.0 pyhd8ed1ab_0 conda-forge
sysroot_linux-64 2.12 he073ed8_16 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
tzdata 2023c h71feb2d_0 conda-forge
wheel 0.41.1 pyhd8ed1ab_0 conda-forge
xcb-util 0.4.0 hd590300_1 conda-forge
xcb-util-image 0.4.0 h8ee46fc_1 conda-forge
xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge
xcb-util-renderutil 0.3.9 hd590300_1 conda-forge
xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge
xkeyboard-config 2.39 hd590300_0 conda-forge
xorg-compositeproto 0.4.2 h7f98852_1001 conda-forge
xorg-damageproto 1.2.1 h7f98852_1002 conda-forge
xorg-fixesproto 5.0 h7f98852_1002 conda-forge
xorg-inputproto 2.3.2 h7f98852_1002 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.1.1 hd590300_0 conda-forge
xorg-libsm 1.2.4 h7391055_0 conda-forge
xorg-libx11 1.8.6 h8ee46fc_0 conda-forge
xorg-libxau 1.0.11 hd590300_0 conda-forge
xorg-libxcomposite 0.4.6 h0b41bf4_1 conda-forge
xorg-libxdamage 1.1.5 h7f98852_1 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h0b41bf4_2 conda-forge
xorg-libxfixes 5.0.3 h7f98852_1004 conda-forge
xorg-libxi 1.7.10 h7f98852_0 conda-forge
xorg-libxrandr 1.5.2 h7f98852_1 conda-forge
xorg-libxrender 0.9.11 hd590300_0 conda-forge
xorg-libxtst 1.2.3 h7f98852_1002 conda-forge
xorg-randrproto 1.5.0 h7f98852_1001 conda-forge
xorg-recordproto 1.14.2 h7f98852_1002 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-util-macros 1.19.3 h7f98852_0 conda-forge
xorg-x11-proto-devel-cos6-x86_64 7.7 h9b0a68f_1105 conda-forge
xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge
xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
zlib 1.2.13 hd590300_5 conda-forge
zstd 1.5.2 hfc55251_7 conda-forge
Is there any plan to fix this? mrtrix3 installed in anaconda is broken on the latest Ubuntu LTS 24.04