QCAD doesn't work on Alpine Linux

In case anyone else tries to install QCAD on Alpine Linux, let me forestall hours of your wasted time:

rm /lib64 && \
apk add glib libc6-compat mesa-gl && \
LD_LIBRARY_PATH=. ldd qcad-bin | grep Error

Error relocating ./libqcadcore.so: __fprintf_chk: symbol not found
Error relocating ./libqcadcore.so: __memcpy_chk: symbol not found
Error relocating ./libqcadcore.so: __strncat_chk: symbol not found
Error relocating ./libqcadcore.so: __printf_chk: symbol not found
Error relocating ./libqcadcore.so: backtrace: symbol not found
Error relocating ./libqcadcore.so: __finitef: symbol not found
Error relocating ./libqcadcore.so: __vsnprintf_chk: symbol not found
Error relocating ./libqcadcore.so: backtrace_symbols: symbol not found
Error relocating ./libqcadcore.so: __finite: symbol not found
Error relocating ./libqcadcore.so: __sprintf_chk: symbol not found
Error relocating ./libQt5Core.so.5: backtrace: symbol not found
Error relocating ./libQt5Core.so.5: backtrace_symbols: symbol not found
Error relocating ./libqcadspatialindex.so: __printf_chk: symbol not found
Error relocating ./libicuuc.so.56: __rawmemchr: symbol not found

Short answer: you can't install it.

Longer answer: see this and this.

...and no, frolvlad/alpine-glibc doesn't fix it

It's possible that distroless would work but I just went with minideb to save time:

install_packages libgl1-mesa-glx qt4-default
wget -P /tmp https://qcad.org/archives/qcad/qcadcam-3.21.3-trial-linux-x86_64.run
bash /tmp/qcadcam-3.21.3-trial-linux-x86_64.run
cd /root/opt/qcadcam-3.21.3-trial-linux-x86_64
echo 'running an example in headless mode...'
sed -i.bak 's/"\$binary"/"\$binary" -platform offscreen/' dwg2svg
./dwg2svg ./examples/colors.dxf

Comments

Popular Posts