Siril: Error in my AppImage built from stable debian package

Hello.
I am trying to build an AppImage application for my free and open source software, Siril.
I used the receipe builded by AppImage main developer. The receipe is based upon debian stable package. It is not possible to use oldstable because of the GTK version. Indeed, Siril will not compile on Gtk < 3.10. However the resulting AppImage crashes everytime with the following error:

/tmp/.mount_6soKkm/usr/bin/siril: symbol lookup error: ./lib/libgtk-3.so.0: undefined symbol: pango_renderer_set_alpha

Best Regards,
Cyril

Hi Cyril, can you post a list of all .so libraries that end up bundled inside your AppImage? I suspect that you need to either bundle more or less, we need to figure that out. Also can you post a link to your recipe and resulting AppImage? So that others can chime in too.

At the end of this message, the result of the ldd command on the compiled binary.
The recipe can be found here: https://free-astro.org/download/Siril.recipe
The AppImage: https://free-astro.org/download/Siril-0.9.4.glibc2.14-x86_64.AppImage

On some machines the crash occurs at the beginning, on others by clicking on the last tab of the application.

How I can bunddle a library ? I’ve already tried to copy /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (which is listed with ldd) in Siril.AppDir/usr/lib/x86_64-linux-gnu with no success.

ldd siril result:

	linux-vdso.so.1 (0x00007ffe5430f000)
	libgtk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007fa503999000)
	libgdk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007fa5036c0000)
	libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007fa5034b2000)
	libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007fa503266000)
	libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007fa503040000)
	libcairo-gobject.so.2 => /usr/lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007fa502e36000)
	libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fa502b22000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007fa502900000)
	libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fa502577000)
	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fa502324000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fa502013000)
	libraw.so.15 => /usr/lib/x86_64-linux-gnu/libraw.so.15 (0x00007fa501d52000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa5019d1000)
	liblcms2.so.2 => /usr/lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007fa501777000)
	libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fa501501000)
	libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fa5012ce000)
	libfftw3.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3.so.3 (0x00007fa500ed0000)
	libcfitsio.so.4 => /usr/lib/x86_64-linux-gnu/libcfitsio.so.4 (0x00007fa500af8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa5008db000)
	libgsl.so.19 => /usr/lib/x86_64-linux-gnu/libgsl.so.19 (0x00007fa50048f000)
	libgslcblas.so.0 => /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007fa500250000)
	libffms2.so.4 => /usr/lib/x86_64-linux-gnu/libffms2.so.4 (0x00007fa50002e000)
	libconfig++.so.9 => /usr/lib/x86_64-linux-gnu/libconfig++.so.9 (0x00007fa4ffe17000)
	libopencv_core.so.2.4 => /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4 (0x00007fa4ff9f1000)
	libopencv_imgproc.so.2.4 => /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4 (0x00007fa4ff564000)
	libgif.so.7 => /usr/lib/x86_64-linux-gnu/libgif.so.7 (0x00007fa4ff35a000)
	libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007fa4ff0ee000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa4fede9000)
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fa4febbc000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa4fe9a5000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4fe604000)
	libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fa4fe400000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa4fe0bc000)
	libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fa4fdeac000)
	libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007fa4fdca9000)
	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fa4fdaa5000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fa4fd89f000)
	libatk-bridge-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007fa4fd670000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fa4fd42f000)
	libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007fa4fd227000)
	libwayland-egl.so.1 => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007fa4fd025000)
	libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007fa4fce15000)
	libepoxy.so.0 => /usr/lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007fa4fcb21000)
	libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007fa4fc90b000)
	libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fa4fc6cc000)
	libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fa4fc41d000)
	libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fa4fc219000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fa4fc00e000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fa4fbe03000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fa4fbbf0000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa4fb9e8000)
	libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fa4fb7e5000)
	libthai.so.0 => /usr/lib/x86_64-linux-gnu/libthai.so.0 (0x00007fa4fb5db000)
	libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fa4fb332000)
	libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fa4fb12e000)
	libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fa4faf24000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fa4fad01000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fa4faaf7000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa4fa8dc000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fa4fa6b4000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fa4fa49d000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fa4fa294000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fa4fa021000)
	/lib64/ld-linux-x86-64.so.2 (0x0000563a03d53000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa4f9dfe000)
	libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fa4f9bee000)
	libavformat.so.57 => /usr/lib/x86_64-linux-gnu/libavformat.so.57 (0x00007fa4f97cc000)
	libavcodec.so.57 => /usr/lib/x86_64-linux-gnu/libavcodec.so.57 (0x00007fa4f8230000)
	libswscale.so.4 => /usr/lib/x86_64-linux-gnu/libswscale.so.4 (0x00007fa4f7fa1000)
	libavutil.so.55 => /usr/lib/x86_64-linux-gnu/libavutil.so.55 (0x00007fa4f7d1f000)
	libavresample.so.3 => /usr/lib/x86_64-linux-gnu/libavresample.so.3 (0x00007fa4f7afc000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa4f78f8000)
	libtbb.so.2 => /usr/lib/x86_64-linux-gnu/libtbb.so.2 (0x00007fa4f76ba000)
	libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1 (0x00007fa4f74b1000)
	libatspi.so.0 => /usr/lib/x86_64-linux-gnu/libatspi.so.0 (0x00007fa4f7280000)
	libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fa4f7030000)
	libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fa4f6db0000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fa4f6b85000)
	libdatrie.so.1 => /usr/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007fa4f697d000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fa4f6778000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fa4f6572000)
	libssh-gcrypt.so.4 => /usr/lib/x86_64-linux-gnu/libssh-gcrypt.so.4 (0x00007fa4f6301000)
	librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fa4f60e4000)
	libmodplug.so.1 => /usr/lib/x86_64-linux-gnu/libmodplug.so.1 (0x00007fa4f5d58000)
	libgme.so.0 => /usr/lib/x86_64-linux-gnu/libgme.so.0 (0x00007fa4f5b0a000)
	libbluray.so.1 => /usr/lib/x86_64-linux-gnu/libbluray.so.1 (0x00007fa4f58c0000)
	libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fa4f5562000)
	libchromaprint.so.0 => /usr/lib/x86_64-linux-gnu/libchromaprint.so.0 (0x00007fa4f5350000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fa4f5140000)
	libswresample.so.2 => /usr/lib/x86_64-linux-gnu/libswresample.so.2 (0x00007fa4f4f22000)
	libva.so.1 => /usr/lib/x86_64-linux-gnu/libva.so.1 (0x00007fa4f4d02000)
	libzvbi.so.0 => /usr/lib/x86_64-linux-gnu/libzvbi.so.0 (0x00007fa4f4a74000)
	libxvidcore.so.4 => /usr/lib/x86_64-linux-gnu/libxvidcore.so.4 (0x00007fa4f4760000)
	libx265.so.79 => /usr/lib/x86_64-linux-gnu/libx265.so.79 (0x00007fa4f3b40000)
	libx264.so.148 => /usr/lib/x86_64-linux-gnu/libx264.so.148 (0x00007fa4f379d000)
	libwebpmux.so.2 => /usr/lib/x86_64-linux-gnu/libwebpmux.so.2 (0x00007fa4f3593000)
	libwebp.so.6 => /usr/lib/x86_64-linux-gnu/libwebp.so.6 (0x00007fa4f3331000)
	libwavpack.so.1 => /usr/lib/x86_64-linux-gnu/libwavpack.so.1 (0x00007fa4f3107000)
	libvpx.so.3 => /usr/lib/x86_64-linux-gnu/libvpx.so.3 (0x00007fa4f2ce3000)
	libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fa4f2a39000)
	libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fa4f280d000)
	libtwolame.so.0 => /usr/lib/x86_64-linux-gnu/libtwolame.so.0 (0x00007fa4f25e9000)
	libtheoraenc.so.1 => /usr/lib/x86_64-linux-gnu/libtheoraenc.so.1 (0x00007fa4f23a9000)
	libtheoradec.so.1 => /usr/lib/x86_64-linux-gnu/libtheoradec.so.1 (0x00007fa4f218b000)
	libspeex.so.1 => /usr/lib/x86_64-linux-gnu/libspeex.so.1 (0x00007fa4f1f72000)
	libsnappy.so.1 => /usr/lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007fa4f1d69000)
	libshine.so.3 => /usr/lib/x86_64-linux-gnu/libshine.so.3 (0x00007fa4f1b5c000)
	libschroedinger-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libschroedinger-1.0.so.0 (0x00007fa4f1887000)
	libopus.so.0 => /usr/lib/x86_64-linux-gnu/libopus.so.0 (0x00007fa4f163c000)
	libopenjp2.so.7 => /usr/lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007fa4f1401000)
	libmp3lame.so.0 => /usr/lib/x86_64-linux-gnu/libmp3lame.so.0 (0x00007fa4f118a000)
	libgsm.so.1 => /usr/lib/x86_64-linux-gnu/libgsm.so.1 (0x00007fa4f0f7c000)
	libcrystalhd.so.3 => /usr/lib/x86_64-linux-gnu/libcrystalhd.so.3 (0x00007fa4f0d61000)
	libvdpau.so.1 => /usr/lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007fa4f0b5c000)
	libva-drm.so.1 => /usr/lib/x86_64-linux-gnu/libva-drm.so.1 (0x00007fa4f0959000)
	libva-x11.so.1 => /usr/lib/x86_64-linux-gnu/libva-x11.so.1 (0x00007fa4f0753000)
	libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fa4f06ca000)
	libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fa4f04a4000)
	libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fa4f0194000)
	libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fa4eff49000)
	libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007fa4efd14000)
	libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007fa4efadc000)
	libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fa4ef859000)
	libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fa4ef49e000)
	libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fa4ef238000)
	libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007fa4ef004000)
	libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fa4eedf1000)
	libsoxr.so.0 => /usr/lib/x86_64-linux-gnu/libsoxr.so.0 (0x00007fa4eeb8b000)
	libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007fa4ee97f000)
	libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fa4ee775000)
	liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007fa4ee4f5000)
	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fa4ee2e5000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fa4ee0d1000)
	libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fa4eddf8000)
	libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fa4edbc8000)
	libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fa4ed9c4000)
	libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fa4ed7b7000)
	libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fa4ed5b3000)
	libicui18n.so.57 => /usr/lib/x86_64-linux-gnu/libicui18n.so.57 (0x00007fa4ed138000)
	libicuuc.so.57 => /usr/lib/x86_64-linux-gnu/libicuuc.so.57 (0x00007fa4ecd90000)
	libicudata.so.57 => /usr/lib/x86_64-linux-gnu/libicudata.so.57 (0x00007fa4eb313000)

Running ldd on the binary will not show you what is bundled. Running find on the AppDir or mounted AppImage will. How did you determine that when you copied the library into the AppDir, it was not used? Did you run the application by executing AppRun inside the AppDir, or the resulting AppImage?

Run LD_DEBUG=libs ./AppRun to see what gets tried and what gets loaded.

Oh Sorry, I misunderstood.

How did you determine that when you copied the library into the AppDir, it was not used?

It was for test only.

Did you run the application by executing AppRun inside the AppDir, or the resulting AppImage?`

Yes, I tried, Same error.

I’ve mounted an AppImage builted by the recipe I sent you, at the end of this message the result (no libgtk).

The result of LD_DEBUG=libs is here: https://free-astro.org/download/appimage.log

lock@debian:/tmp/usr/lib$ ll
total 16M
drwxr-xr-x 1 root lock  24K août  13 10:43 ./
drwxr-xr-x 1 root lock 2,0K août  13 10:43 ../
drwxr-xr-x 1 root lock 2,0K août  13 10:43 dri/
drwxr-xr-x 1 root lock 2,0K déc.  25  2014 gcc/
lrwxrwxrwx 1 root lock   20 mars   3 00:04 libavcodec.so.56 -> libavcodec.so.56.1.0
-rw-r--r-- 1 root lock 7,4M août  13 10:43 libavcodec.so.56.1.0
lrwxrwxrwx 1 root lock   21 mars   3 00:04 libavformat.so.56 -> libavformat.so.56.1.0
-rw-r--r-- 1 root lock 1,3M août  13 10:43 libavformat.so.56.1.0
lrwxrwxrwx 1 root lock   22 mars   3 00:04 libavresample.so.2 -> libavresample.so.2.1.0
-rw-r--r-- 1 root lock 131K août  13 10:43 libavresample.so.2.1.0
lrwxrwxrwx 1 root lock   19 mars   3 00:04 libavutil.so.54 -> libavutil.so.54.3.0
-rw-r--r-- 1 root lock 157K août  13 10:43 libavutil.so.54.3.0
-rw-r--r-- 1 root lock  66K août  13 10:43 libbz2.so.1
-rw-r--r-- 1 root lock  66K août  13 10:43 libbz2.so.1.0
-rw-r--r-- 1 root lock  66K août  13 10:43 libbz2.so.1.0.4
lrwxrwxrwx 1 root lock   29 mars  19 22:52 libcairo-gobject.so.2 -> libcairo-gobject.so.2.11400.0
-rw-r--r-- 1 root lock  35K août  13 10:43 libcairo-gobject.so.2.11400.0
lrwxrwxrwx 1 root lock   20 sept.  5  2014 libcfitsio.so.2 -> libcfitsio.so.2.3.37
-rw-r--r-- 1 root lock 1,4M août  13 10:43 libcfitsio.so.2.3.37
lrwxrwxrwx 1 root lock   20 janv.  4  2014 libconfig++.so.9 -> libconfig++.so.9.1.3
-rw-r--r-- 1 root lock  92K août  13 10:43 libconfig++.so.9.1.3
lrwxrwxrwx 1 root lock   18 janv. 10  2014 libdatrie.so.1 -> libdatrie.so.1.3.1
-rw-r--r-- 1 root lock  30K août  13 10:43 libdatrie.so.1.3.1
lrwxrwxrwx 1 root lock   15 déc.   9  2014 libffi.so.6 -> libffi.so.6.0.2
-rw-r--r-- 1 root lock  31K août  13 10:43 libffi.so.6.0.2
lrwxrwxrwx 1 root lock   17 août  30  2014 libffms2.so.3 -> libffms2.so.3.0.0
-rw-r--r-- 1 root lock 208K août  13 10:43 libffms2.so.3.0.0
lrwxrwxrwx 1 root lock   21 nov.  23  2014 libfftw3_omp.so.3 -> libfftw3_omp.so.3.4.4
-rw-r--r-- 1 root lock  27K août  13 10:43 libfftw3_omp.so.3.4.4
lrwxrwxrwx 1 root lock   17 nov.  23  2014 libfftw3.so.3 -> libfftw3.so.3.4.4
-rw-r--r-- 1 root lock 2,1M août  13 10:43 libfftw3.so.3.4.4
lrwxrwxrwx 1 root lock   25 nov.  23  2014 libfftw3_threads.so.3 -> libfftw3_threads.so.3.4.4
-rw-r--r-- 1 root lock  27K août  13 10:43 libfftw3_threads.so.3.4.4
lrwxrwxrwx 1 root lock   21 oct.   5  2015 libfreetype.so.6 -> libfreetype.so.6.11.1
-rw-r--r-- 1 root lock 680K août  13 10:43 libfreetype.so.6.11.1
lrwxrwxrwx 1 root lock   16 août  17  2014 libgmp.so.10 -> libgmp.so.10.2.0
-rw-r--r-- 1 root lock 525K août  13 10:43 libgmp.so.10.2.0
lrwxrwxrwx 1 root lock   25 août  15  2015 libgnutls-deb0.so.28 -> libgnutls-deb0.so.28.41.0
-rw-r--r-- 1 root lock 1,2M août  13 10:43 libgnutls-deb0.so.28.41.0
lrwxrwxrwx 1 root lock   16 déc.  25  2014 libgomp.so.1 -> libgomp.so.1.0.0
-rw-r--r-- 1 root lock  88K août  13 10:43 libgomp.so.1.0.0
lrwxrwxrwx 1 root lock   17 mars   9 22:19 libgraphite2.so.2.0.0 -> libgraphite2.so.3
lrwxrwxrwx 1 root lock   21 mars   9 22:19 libgraphite2.so.3 -> libgraphite2.so.3.0.1
-rw-r--r-- 1 root lock 151K août  13 10:43 libgraphite2.so.3.0.1
lrwxrwxrwx 1 root lock   20 juil.  5  2014 libgslcblas.so.0 -> libgslcblas.so.0.0.0
-rw-r--r-- 1 root lock 246K août  13 10:43 libgslcblas.so.0.0.0
lrwxrwxrwx 1 root lock   16 juil.  5  2014 libgsl.so.0 -> libgsl.so.0.17.0
-rw-r--r-- 1 root lock 2,2M août  13 10:43 libgsl.so.0.17.0
lrwxrwxrwx 1 root lock   16 avril 12  2012 libgsm.so.1 -> libgsm.so.1.0.12
-rw-r--r-- 1 root lock  51K août  13 10:43 libgsm.so.1.0.12
lrwxrwxrwx 1 root lock   22 oct.  30  2014 libharfbuzz.so.0 -> libharfbuzz.so.0.935.0
-rw-r--r-- 1 root lock 348K août  13 10:43 libharfbuzz.so.0.935.0
lrwxrwxrwx 1 root lock   17 févr.  9  2016 libhogweed.so.2 -> libhogweed.so.2.5
-rw-r--r-- 1 root lock 188K août  13 10:43 libhogweed.so.2.5
lrwxrwxrwx 1 root lock   15 déc.   9  2014 libICE.so.6 -> libICE.so.6.3.0
-rw-r--r-- 1 root lock 101K août  13 10:43 libICE.so.6.3.0
lrwxrwxrwx 1 root lock   18 mars   6 15:20 libjasper.so.1 -> libjasper.so.1.0.0
-rw-r--r-- 1 root lock 333K août  13 10:43 libjasper.so.1.0.0
-rw-r--r-- 1 root lock  61K août  13 10:43 libjbig.so.0
lrwxrwxrwx 1 root lock   17 mars   8  2015 libjpeg.so.62 -> libjpeg.so.62.1.0
-rw-r--r-- 1 root lock 283K août  13 10:43 libjpeg.so.62.1.0
lrwxrwxrwx 1 root lock   17 nov.   8  2014 liblcms2.so.2 -> liblcms2.so.2.0.6
-rw-r--r-- 1 root lock 360K août  13 10:43 liblcms2.so.2.0.6
-rw-r--r-- 1 root lock 139K août  13 10:43 liblzma.so.5
-rw-r--r-- 1 root lock 139K août  13 10:43 liblzma.so.5.0.0
lrwxrwxrwx 1 root lock   19 juin  16  2015 libmp3lame.so.0 -> libmp3lame.so.0.0.0
-rw-r--r-- 1 root lock 296K août  13 10:43 libmp3lame.so.0.0.0
lrwxrwxrwx 1 root lock   16 févr.  9  2016 libnettle.so.4 -> libnettle.so.4.7
-rw-r--r-- 1 root lock 199K août  13 10:43 libnettle.so.4.7
lrwxrwxrwx 1 root lock   15 mai   28  2014 libogg.so.0 -> libogg.so.0.8.2
-rw-r--r-- 1 root lock  34K août  13 10:43 libogg.so.0.8.2
lrwxrwxrwx 1 root lock   23 mai   28  2015 libopencv_core.so.2.4 -> libopencv_core.so.2.4.9
-rw-r--r-- 1 root lock 2,4M août  13 10:43 libopencv_core.so.2.4.9
lrwxrwxrwx 1 root lock   26 mai   28  2015 libopencv_imgproc.so.2.4 -> libopencv_imgproc.so.2.4.9
-rw-r--r-- 1 root lock 2,1M août  13 10:43 libopencv_imgproc.so.2.4.9
-rw-r--r-- 1 root lock 187K août  13 10:43 libopenjpeg_JPWL.so.1.5.2
lrwxrwxrwx 1 root lock   25 oct.   4  2014 libopenjpeg_JPWL.so.5 -> libopenjpeg_JPWL.so.1.5.2
-rw-r--r-- 1 root lock 146K août  13 10:43 libopenjpeg.so.1.5.2
lrwxrwxrwx 1 root lock   20 oct.   4  2014 libopenjpeg.so.5 -> libopenjpeg.so.1.5.2
lrwxrwxrwx 1 root lock   16 août  26  2014 libopus.so.0 -> libopus.so.0.5.0
-rw-r--r-- 1 root lock 290K août  13 10:43 libopus.so.0.5.0
lrwxrwxrwx 1 root lock   20 août  27  2014 liborc-0.4.so.0 -> liborc-0.4.so.0.22.0
-rw-r--r-- 1 root lock 530K août  13 10:43 liborc-0.4.so.0.22.0
lrwxrwxrwx 1 root lock   25 août  27  2014 liborc-test-0.4.so.0 -> liborc-test-0.4.so.0.22.0
-rw-r--r-- 1 root lock  31K août  13 10:43 liborc-test-0.4.so.0.22.0
lrwxrwxrwx 1 root lock   19 sept. 19  2014 libp11-kit.so.0 -> libp11-kit.so.0.0.0
-rw-r--r-- 1 root lock 279K août  13 10:43 libp11-kit.so.0.0.0
lrwxrwxrwx 1 root lock   24 nov.  18  2014 libpango-1.0.so.0 -> libpango-1.0.so.0.3600.8
-rw-r--r-- 1 root lock 313K août  13 10:43 libpango-1.0.so.0.3600.8
lrwxrwxrwx 1 root lock   29 nov.  18  2014 libpangocairo-1.0.so.0 -> libpangocairo-1.0.so.0.3600.8
-rw-r--r-- 1 root lock  52K août  13 10:43 libpangocairo-1.0.so.0.3600.8
lrwxrwxrwx 1 root lock   27 nov.  18  2014 libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.3600.8
-rw-r--r-- 1 root lock  89K août  13 10:43 libpangoft2-1.0.so.0.3600.8
-rw-r--r-- 1 root lock 155K août  13 10:43 libpng12.so.0
-rw-r--r-- 1 root lock 155K août  13 10:43 libpng12.so.0.50.0
lrwxrwxrwx 1 root lock   18 déc.  28  2015 libraw_r.so.10 -> libraw_r.so.10.0.0
-rw-r--r-- 1 root lock 676K août  13 10:43 libraw_r.so.10.0.0
lrwxrwxrwx 1 root lock   16 déc.  28  2015 libraw.so.10 -> libraw.so.10.0.0
-rw-r--r-- 1 root lock 676K août  13 10:43 libraw.so.10.0.0
-rw-r--r-- 1 root lock 120K août  13 10:43 librtmp.so.1
lrwxrwxrwx 1 root lock   29 août   2  2014 libschroedinger-1.0.so.0 -> libschroedinger-1.0.so.0.11.0
-rw-r--r-- 1 root lock 848K août  13 10:43 libschroedinger-1.0.so.0.11.0
lrwxrwxrwx 1 root lock   14 déc.   9  2014 libSM.so.6 -> libSM.so.6.0.1
-rw-r--r-- 1 root lock  31K août  13 10:43 libSM.so.6.0.1
lrwxrwxrwx 1 root lock   17 août  26  2014 libspeex.so.1 -> libspeex.so.1.5.0
-rw-r--r-- 1 root lock  98K août  13 10:43 libspeex.so.1.5.0
lrwxrwxrwx 1 root lock   19 mars   3 00:04 libswscale.so.3 -> libswscale.so.3.0.0
-rw-r--r-- 1 root lock 295K août  13 10:43 libswscale.so.3.0.0
-rw-r--r-- 1 root lock  11K août  13 10:43 libtbbmalloc_proxy.so.2
-rw-r--r-- 1 root lock 101K août  13 10:43 libtbbmalloc.so.2
-rw-r--r-- 1 root lock 213K août  13 10:43 libtbb.so.2
lrwxrwxrwx 1 root lock   16 août  21  2014 libthai.so.0 -> libthai.so.0.2.0
-rw-r--r-- 1 root lock  36K août  13 10:43 libthai.so.0.2.0
lrwxrwxrwx 1 root lock   21 nov.  11  2014 libtheoradec.so.1 -> libtheoradec.so.1.1.4
-rw-r--r-- 1 root lock  99K août  13 10:43 libtheoradec.so.1.1.4
lrwxrwxrwx 1 root lock   21 nov.  11  2014 libtheoraenc.so.1 -> libtheoraenc.so.1.1.2
-rw-r--r-- 1 root lock 255K août  13 10:43 libtheoraenc.so.1.1.2
lrwxrwxrwx 1 root lock   19 nov.  11  2014 libtheora.so.0 -> libtheora.so.0.3.10
-rw-r--r-- 1 root lock 319K août  13 10:43 libtheora.so.0.3.10
lrwxrwxrwx 1 root lock   16 févr.  3  2016 libtiff.so.5 -> libtiff.so.5.2.0
-rw-r--r-- 1 root lock 469K août  13 10:43 libtiff.so.5.2.0
-rw-r--r-- 1 root lock  19K août  13 10:43 libuuid.so.1.3.0
lrwxrwxrwx 1 root lock   17 oct.  24  2014 libva.so.1 -> libva.so.1.3600.0
-rw-r--r-- 1 root lock  87K août  13 10:43 libva.so.1.3600.0
lrwxrwxrwx 1 root lock   22 nov.   4  2014 libvorbisenc.so.2 -> libvorbisenc.so.2.0.10
-rw-r--r-- 1 root lock 715K août  13 10:43 libvorbisenc.so.2.0.10
lrwxrwxrwx 1 root lock   18 nov.   4  2014 libvorbis.so.0 -> libvorbis.so.0.4.7
-rw-r--r-- 1 root lock 179K août  13 10:43 libvorbis.so.0.4.7
lrwxrwxrwx 1 root lock   15 oct.  21  2014 libvpx.so.1 -> libvpx.so.1.3.0
lrwxrwxrwx 1 root lock   15 oct.  21  2014 libvpx.so.1.3 -> libvpx.so.1.3.0
-rw-r--r-- 1 root lock 1,7M août  13 10:43 libvpx.so.1.3.0
lrwxrwxrwx 1 root lock   15 août  18  2014 libX11.so.6 -> libX11.so.6.3.0
-rw-r--r-- 1 root lock 1,3M août  13 10:43 libX11.so.6.3.0
-rw-r--r-- 1 root lock 1,2M août  13 10:43 libx264.so.142
lrwxrwxrwx 1 root lock   15 juin  14  2013 libXau.so.6 -> libXau.so.6.0.0
-rw-r--r-- 1 root lock  15K août  13 10:43 libXau.so.6.0.0
lrwxrwxrwx 1 root lock   15 nov.   8  2014 libxcb.so.1 -> libxcb.so.1.1.0
-rw-r--r-- 1 root lock 135K août  13 10:43 libxcb.so.1.1.0
lrwxrwxrwx 1 root lock   17 déc.  10  2014 libXdmcp.so.6 -> libXdmcp.so.6.0.0
-rw-r--r-- 1 root lock  21K août  13 10:43 libXdmcp.so.6.0.0
lrwxrwxrwx 1 root lock   16 oct.   5  2014 libXext.so.6 -> libXext.so.6.4.0
-rw-r--r-- 1 root lock  72K août  13 10:43 libXext.so.6.4.0
lrwxrwxrwx 1 root lock   18 avril 22  2014 libxvidcore.so.4 -> libxvidcore.so.4.3
-rw-r--r-- 1 root lock 852K août  13 10:43 libxvidcore.so.4.3
-rw-r--r-- 1 root lock 107K août  13 10:43 libz.so.1.2.8
drwxr-xr-x 1 root lock 2,0K avril  1  2014 X11/
drwxr-xr-x 1 root lock 2,0K août  13 10:43 x264-10bit/
drwxr-xr-x 1 root lock 2,0K août  13 10:43 x86_64-linux-gnu/

Ok, by copying libgtk-3.0 in the right place in the /Siril.AppDir/usr/lib directory, it looks like it’s working.
But as you said me before, it is not elegant.

It’s working, except with Fedora where I get:

(zenity:2098): Gtk-WARNING **: Could not find the icon ‘dialog-question-ltr’. The ‘hicolor’ theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
/lib64/libgnutls.so.30: undefined symbol: p11_kit_uri_get_pin_value
Failed to load module: /usr/lib64/gio/modules/libgiognutls.so
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
Unable to read file: Failed to open file ‘siril3.glade’: No such file or directory

(siril:2061): GLib-GIO-ERROR **: No GSettings schemas are installed on the system
Trace/breakpoint trap (core dumped)

That is strange. Seems to suggest that the symbol in question used to be there in the Debian stable version but is no longer there in the more recent versions coming with the target systems. Symbols are normally not supposed to disappear…

In any case, glad that we have “solved” this for now.

I think the bundled GTK is now trying to load the target system’s GTK modules. Try unset GTK_MODULES before you run your app - does this change anything?

Thank you.

But as I said, it’s not working on fedora yet.
I saw some workaround on inkscape recipe. I do not understand very much but it looks like a script was run instead.
Maybe it could fix but my tests failed.
export GSETTINGS_SCHEMA_DIR=${APPDIR}${INSTALL_PREFIX}/share/glib-2.0/schemas/:${GSETTINGS_SCHEMA_DIR}

On Fedora I always have:
`/tmp/.mount_ZaWwj6
/tmp/.mount_ZaWwj6/usr/bin/siril.wrapper
/tmp/.mount_ZaWwj6/siril.desktop
/lib64/libgnutls.so.30: undefined symbol: p11_kit_uri_get_pin_value
Failed to load module: /usr/lib64/gio/modules/libgiognutls.so
Gtk-Message: Failed to load module “pk-gtk-module”
Gtk-Message: Failed to load module “canberra-gtk-module”
Gtk-Message: Failed to load module “pk-gtk-module”
Gtk-Message: Failed to load module “canberra-gtk-module”
Impossible de lire le fichier : L’ouverture du fichier « siril3.glade » a échoué : No such file or directory

(siril:2051): GLib-GIO-ERROR **: No GSettings schemas are installed on the system
Trace/breakpoint trap (core dumped)
`

On Linux Mint 17.3 I have:

/tmp/.mount_4Y33CP/usr/bin/siril: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8’ not found (required by /tmp/.mount_4Y33CP/usr/bin/siril)
/tmp/.mount_4Y33CP/usr/bin/siril: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./lib/libopencv_core.so.2.4)

Last thing, not the most important, the application should be all translated, but when using appImage it is not the case. I have some sentences in english, other in french. Strange again.

So for now, my AppImage is not fully functional.

Try unset GTK_MODULES before you run your app - does this change anything?

OK. I will try.

Cheers,
Cyril

Hello.

I made some progresses. Indeed I can built an AppImage running on Debian, Fedora, Last Linux Mint, Manjaro Linux, and probably others.
To do that, I’ve totally rewrite the recipe and used the one done for darktable.
I always have 3 known problems

  • AppImage does not work on Linux Mint 17.3 while it should:

/tmp/.mount_4Y33CP/usr/bin/siril: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found (required by /tmp/.mount_4Y33CP/usr/bin/siril) /tmp/.mount_4Y33CP/usr/bin/siril: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./lib/libopencv_core.so.2.4)

  • Application is not fully translated while it should be.

  • Application does not have these Gtk icons on Fedora…

Receipe: https://free-astro.org/download/Siril.recipe
AppImage: https://free-astro.org/download/Siril-0.9.4~beta2.glibc2.14-x86_64.AppImage

EDIT:
On Mageia it does not work:

# ./Siril-0.9.4~beta2.glibc2.14-x86_64.AppImage /tmp/.mount_ZnbAxZ /tmp/.mount_ZnbAxZ/usr/bin/siril.wrapper /tmp/.mount_ZnbAxZ/siril.desktop libpng warning: Application jmp_buf size changed Segmentation fault

Good to hear about your progress. Do you bundle libpng? Can you run the AppImage with sudo strace -eopen -f my.AppImage 2>&1 | grep locale and see where it searches for translations?

Yes I think. I do:
« /lib/x86_64-linux-gnu/libpng12.so.0 » -> « ./lib/x86_64-linux-gnu/libpng12.so.0 »

[quote=“probono, post:12, topic:22”]
Can you run the AppImage with sudo strace -eopen -f my.AppImage 2>&1 | grep locale and see where it searches for translations?[/quote]

If I wrote this, I had nothing. But, by removing the 2>&1 and the sudo I have:

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libfuse.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
strace: Process 12801 attached
[pid 12801] open("/home/lock/AppImage/Siril-0.9.4.glibc2.14-x86_64.AppImage", O_RDONLY) = 3
[pid 12801] open("/dev/null", O_RDWR)   = 5
[pid 12801] open("/tmp/.mount_1CO7jJ", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12801] open("/dev/fuse", O_RDWR)   = 5
strace: Process 12802 attached
[pid 12802] open("/dev/null", O_RDONLY) = 7
[pid 12802] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 6
[pid 12802] open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 6
[pid 12802] open("/dev/fuse", O_RDWR)   = 6
[pid 12802] open("/etc/fuse.conf", O_RDONLY) = 8
[pid 12802] open("/etc/mtab", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 8
[pid 12802] open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
[pid 12802] +++ exited with 1 +++
[pid 12801] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12802, si_uid=1000, si_status=1, si_utime=0, si_stime=0} ---
strace: Process 12803 attached
[pid 12803] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 6
[pid 12803] open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 6
[pid 12803] open("/dev/fuse", O_RDWR)   = 6
[pid 12803] open("/etc/fuse.conf", O_RDONLY) = 7
[pid 12803] open("/etc/mtab", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 7
[pid 12803] open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 7
fusermount: mount failed: Operation not permitted
[pid 12803] +++ exited with 1 +++
[pid 12801] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12803, si_uid=1000, si_status=1, si_utime=0, si_stime=0} ---
[pid 12801] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12801, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
open("/tmp/.mount_1CO7jJ", O_RDONLY)    = -1 ENOENT (No such file or directory)
+++ exited with 1 +++

Cheers,
Cyril

Without sudo the output of this doesn’t help…

Can you run this as root (sudo su first) and only look for lines related to translations?

Oh Sorry. In fact sudo needs absolute path with strace.
Funny things. By starting AppImage with

sudo strace -eopen -f my.AppImage 2>&1 | grep locale

Application is almost fully in french. In fact, starting application with sudo gives better translation (even if default gtk sentences are never translated). But with sudo, Gtk icons are missing (like in fedora in normal user: Error loading theme icon ‘image-missing’ for stock: Icon ‘image-missing’ not present in theme, … etc)
Strange !!!

$ sudo strace -eopen -f /home/lock/AppImage/Siril-0.9.4.glibc2.14-x86_64.AppImage 2>&1 | grep locale
[pid  5103] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 5
[pid  5094] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5105] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5108] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5110] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5119] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5119] open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
[pid  5119] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5119] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY <unfinished ...>
[pid  5119] open("/usr/share/locale/fr_FR/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5119] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY <unfinished ...>
[pid  5119] open("/usr/share/locale/fr.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5119] open("/usr/share/locale/fr/LC_MESSAGES/coreutils.mo", O_RDONLY) = 4
[pid  5118] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 5
[pid  5118] open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 5
[pid  5118] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/findutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5118] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/findutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5118] open("/usr/share/locale/fr_FR/LC_MESSAGES/findutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5118] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/findutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5118] open("/usr/share/locale/fr.utf8/LC_MESSAGES/findutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5118] open("/usr/share/locale/fr/LC_MESSAGES/findutils.mo", O_RDONLY) = 5
[pid  5120] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5121] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5124] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5125] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5132] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 4
[pid  5132] open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/zenity.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/zenity.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/zenity.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/zenity.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/zenity.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/zenity.mo", O_RDONLY) = 4
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/gtk30.mo", O_RDONLY) = 4
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 4
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = 4
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/atk10.mo", O_RDONLY) = 6
[pid  5132] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr_FR/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5132] open("/usr/share/locale/fr/LC_MESSAGES/glib20.mo", O_RDONLY) = 8
[pid  5132] open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 8
[pid  5132] open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 8
[pid  5132] open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 8
[pid  5132] open("/usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE", O_RDONLY) = 8
[pid  5132] open("/usr/share/locale/locale.alias", O_RDONLY) = 8
[pid  5094] open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
[pid  5094] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.utf8/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr/LC_MESSAGES/bash.mo", O_RDONLY) = 4
[pid  5094] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 4
[pid  5094] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 5
[pid  5094] open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 5
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/siril.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.utf8/LC_MESSAGES/siril.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR/LC_MESSAGES/siril.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.UTF-8/LC_MESSAGES/siril.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.utf8/LC_MESSAGES/siril.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr/LC_MESSAGES/siril.mo", O_RDONLY) = 5
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.utf8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.UTF-8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.utf8/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr/LC_MESSAGES/gtk30.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 5
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.utf8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.UTF-8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.utf8/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr/LC_MESSAGES/gtk30-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR.utf8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr_FR/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.UTF-8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr.utf8/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/tmp/.mount_Z4BlPO/usr/././/share/locale/fr/LC_MESSAGES/atk10.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr_FR/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  5094] open("/usr/share/locale/fr/LC_MESSAGES/glib20.mo", O_RDONLY) = 9
[pid  5094] open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 9
[pid  5094] open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 9
[pid  5094] open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 9
[pid  5094] open("/usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE", O_RDONLY) = 9
[pid  5094] open("/usr/share/locale/locale.alias", O_RDONLY <unfinished ...>

You can see from the above where the AppImage is looking for translations - are they there? “ENOENT” means “file does not exist”.

Yes ok, but it’s a bit biased.
Indeed, here I’m starting siril with traces in super user. So in this case I have most on my translation. I would see traces without sudo.
But I agree I can see that some files (not mine) are missing.

Loop-mount the AppImage - this way we can run strace without the need for sudo

sudo mount '/home/me/Downloads/Siril-0.9.4~beta2.glibc2.14-x86_64.AppImage' /mnt

These are the translations that are actually available inside the AppImage:

find /mnt/usr/././/share/locale/ | grep .o$ | sed -i 's|././||g
/mnt/usr/././/share/locale/ar_DZ/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/it_IT/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/nl_BE/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/tl_PH/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/zh_CN/LC_MESSAGES/siril.mo

These are the translations that are tried to be loaded - on my system, English is trying to be loaded from the following locations:

strace -eopen -f /mnt/AppRun 2>&1 | grep locale | grep siril | cut -d '"' -f 2
/mnt/usr/././/share/locale/en_US.UTF-8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/en_US.utf8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/en_US/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/en.UTF-8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/en.utf8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/en/LC_MESSAGES/siril.mo

For me, locale are well loaded… The ‘funny’ thing, is that I only have one translation file: fr.po. So why some sentences are translated and others not.
Investigations continue!

lock@debian:~/AppImage$ strace -eopen -f /mnt/AppRun 2>&1 | grep locale | grep siril | cut -d '"' -f 2
/mnt/usr/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr_FR.utf8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr_FR/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr.UTF-8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr.utf8/LC_MESSAGES/siril.mo
/mnt/usr/././/share/locale/fr/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr_FR.UTF-8/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr_FR.utf8/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr_FR/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr.UTF-8/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr.utf8/LC_MESSAGES/siril.mo
/home/lock/Projet/Pictures/SER/M57/././/share/locale/fr/LC_MESSAGES/siril.mo

For the error I have on Linux Mint, I saw this:

http://stackoverflow.com/questions/23494103/version-cxxabi-1-3-8-not-found-required-by

So I need to understand how I have to do.

Are both the sencences that are translated and the sentences that are not translated in the same .mo file? That is very strange indeed…