AppImage needs testing

@jpg Jean-Paul, pour créer une zone de code, tu dois d’abord créer une ligne avec seulement 3 apostrophes inversées de la touche 7 du clavier (Alt-gr + 7), puis tu vas à la ligne suivante, tu colles le code, puis à nouveau sur une nouvelle ligne pour fermer la zone de code tu mets les 3 apostrophes inversées.
Ca doit ressembler à ça:

```
bla
bla
bla
```

1 Like
jpg@jpg-HP-ProBook-4535s ~/Téléchargements $ ./RawTherapee-git-dev-20171121_2110-f8d414b23ba27b98ecd7a68989b1d0b292a2389b.glibc2.14.glibc2.14-x86_64.AppImage
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_69lFyt/usr/bin//rawtherapee.wrapper.
System stdc++ library: "/usr/lib/x86_64-linux-gnu/libstdc++.so.6"
System stdc++ library version: "3.4.21"
Bundled stdc++ library version: "3.4.24"
Newest stdc++ library version: "3.4.24"
Using bundled stdc++ library
	linux-vdso.so.1 =>  (0x00007ffc3aff6000)
	libcanberra-gtk3.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libcanberra-gtk3.so.0 (0x00007f8d17145000)
	libcanberra.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libcanberra.so.0 (0x00007f8d16f35000)
	libgtk-3.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libgtk-3.so.0 (0x00007f8d1662a000)
	libgdk-3.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libgdk-3.so.0 (0x00007f8d16368000)
	libgobject-2.0.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libgobject-2.0.so.0 (0x00007f8d16114000)
	libglib-2.0.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libglib-2.0.so.0 (0x00007f8d15e00000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f8d15baa000)
	libfftw3f.so.3 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libfftw3f.so.3 (0x00007f8d157a5000)
	libgiomm-2.4.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libgiomm-2.4.so.1 (0x00007f8d153f8000)
	libglibmm-2.4.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libglibmm-2.4.so.1 (0x00007f8d1517b000)
	libsigc-2.0.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libsigc-2.0.so.0 (0x00007f8d14f75000)
	libgtkmm-3.0.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libgtkmm-3.0.so.1 (0x00007f8d14803000)
	libatkmm-1.6.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libatkmm-1.6.so.1 (0x00007f8d145b5000)
	libgdkmm-3.0.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libgdkmm-3.0.so.1 (0x00007f8d14363000)
	libpangomm-1.4.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libpangomm-1.4.so.1 (0x00007f8d14136000)
	libcairomm-1.0.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/libcairomm-1.0.so.1 (0x00007f8d13f0e000)
	libiptcdata.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/libiptcdata.so.0 (0x00007f8d13d02000)
	libjpeg.so.9 => /tmp/.mount_69lFyt/usr/bin/../lib/libjpeg.so.9 (0x00007f8d13ac8000)
	liblcms2.so.2 => /tmp/.mount_69lFyt/usr/bin/../lib/liblcms2.so.2 (0x00007f8d1386e000)
	libpng12.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f8d13648000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8d1342e000)
	libtiff.so.5 => /tmp/.mount_69lFyt/usr/bin/../lib/libtiff.so.5 (0x00007f8d131c5000)
	liblensfun.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/liblensfun.so.1 (0x00007f8d12fa6000)
	libstdc++.so.6 => /tmp/.mount_69lFyt/usr/bin/../optional/libstdc++/libstdc++.so.6 (0x00007f8d12c93000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8d12989000)
	libgomp.so.1 => /tmp/.mount_69lFyt/usr/bin/../optional/libstdc++/libgomp.so.1 (0x00007f8d1275a000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8d12544000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8d12326000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8d11f5c000)
	libatk-1.0.so.0 => ././/lib/libatk-1.0.so.0 (0x00007f8d11d36000)
	libgio-2.0.so.0 => ././/lib/libgio-2.0.so.0 (0x00007f8d1198e000)
	libgthread-2.0.so.0 => ././/lib/libgthread-2.0.so.0 (0x00007f8d1178d000)
	libpangocairo-1.0.so.0 => ././/lib/libpangocairo-1.0.so.0 (0x00007f8d1157f000)
	libgdk_pixbuf-2.0.so.0 => ././/lib/libgdk_pixbuf-2.0.so.0 (0x00007f8d1135c000)
	libcairo-gobject.so.2 => ././/lib/libcairo-gobject.so.2 (0x00007f8d11154000)
	libpango-1.0.so.0 => ././/lib/libpango-1.0.so.0 (0x00007f8d10f06000)
	libcairo.so.2 => ././/lib/libcairo.so.2 (0x00007f8d10bd7000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f8d1089d000)
	libvorbisfile.so.3 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f8d10694000)
	libvorbis.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f8d10467000)
	libogg.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libogg.so.0 (0x00007f8d1025e000)
	libltdl.so.7 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f8d10053000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8d0fe4f000)
	libgmodule-2.0.so.0 => ././/lib/libgmodule-2.0.so.0 (0x00007f8d0fc4b000)
	libXi.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXi.so.6 (0x00007f8d0fa3b000)
	libXdamage.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f8d0f838000)
	libXfixes.so.3 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f8d0f631000)
	libatk-bridge-2.0.so.0 => ././/lib/libatk-bridge-2.0.so.0 (0x00007f8d0f403000)
	libepoxy.so.0 => ././/lib/libepoxy.so.0 (0x00007f8d0f10e000)
	libpangoft2-1.0.so.0 => ././/lib/libpangoft2-1.0.so.0 (0x00007f8d0eef8000)
	libfontconfig.so.1 => ././/lib/libfontconfig.so.1 (0x00007f8d0ecb5000)
	libfreetype.so.6 => ././/lib/libfreetype.so.6 (0x00007f8d0ea13000)
	libXext.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXext.so.6 (0x00007f8d0e801000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8d0e5f9000)
	libffi.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libffi.so.6 (0x00007f8d0e3f0000)
	libpcre.so.3 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f8d0e1b2000)
	libXrender.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f8d0dfa7000)
	liblzma.so.5 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f8d0dd85000)
	libjbig.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f8d0db76000)
	/lib64/ld-linux-x86-64.so.2 (0x000055c57098f000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f8d0d95b000)
	libpixman-1.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f8d0d6b2000)
	libEGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 (0x00007f8d0d479000)
	libxcb-shm.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f8d0d276000)
	libxcb-render.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f8d0d06c000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f8d0ce4a000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f8d0cbd8000)
	libatspi.so.0 => ././/lib/libatspi.so.0 (0x00007f8d0c9a7000)
	libdbus-1.so.3 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f8d0c761000)
	libharfbuzz.so.0 => ././/lib/libharfbuzz.so.0 (0x00007f8d0c4c7000)
	libX11-xcb.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f8d0c2c5000)
	libxcb-dri2.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f8d0c0bf000)
	libxcb-dri3.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f8d0bebc000)
	libxcb-present.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f8d0bcb9000)
	libxcb-xfixes.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f8d0bab1000)
	libxcb-sync.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f8d0b8ab000)
	libxshmfence.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f8d0b6a9000)
	libwayland-client.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f8d0b49b000)
	libwayland-server.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f8d0b28a000)
	libgbm.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f8d0b082000)
	libmirclient.so.9 => /usr/lib/x86_64-linux-gnu/libmirclient.so.9 (0x00007f8d0adda000)
	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f8d0abc9000)
	libXau.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXau.so.6 (0x00007f8d0a9c4000)
	libXdmcp.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f8d0a7be000)
	libglapi.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f8d0a597000)
	libxcb-glx.so.0 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f8d0a37f000)
	libXxf86vm.so.1 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f8d0a179000)
	libXtst.so.6 => /tmp/.mount_69lFyt/usr/bin/../lib/x86_64-linux-gnu/libXtst.so.6 (0x00007f8d09f72000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f8d09d33000)
	libmircommon.so.7 => /usr/lib/x86_64-linux-gnu/libmircommon.so.7 (0x00007f8d09aeb000)
	libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007f8d09879000)
	libcapnp-0.5.3.so => /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so (0x00007f8d095f1000)
	libmircore.so.1 => /usr/lib/x86_64-linux-gnu/libmircore.so.1 (0x00007f8d093e7000)
	libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007f8d091e3000)
	libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (0x00007f8d08fb2000)
	libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007f8d08d99000)
	libkj-0.5.3.so => /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so (0x00007f8d08b70000)
./bin/rawtherapee.real: relocation error: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
jpg@jpg-HP-ProBook-4535s ~/Téléchargements $ 

Okay, yet it was simple, thank you.

Merci pour ton aide en français Sebastien. Je passe par un traducteur pour poster ici.

1 Like

While looking for the undefined symbol error message, I came across a post which suggests to add -D_GLIBCXX_USE_CXX11_ABI=0 flag in the cmake command. Maybe worth trying?

Edit: add this flag for compiling with a recent GCC (>=5.1)?

I have configured the custom GCC using --with-default-libstdcxx-abi=gcc4-compatible so that by default _GLIBCXX_USE_CXX11_ABI is set to “0” unless specifically modified. Moreover, now RT is configured with -DUSE_OLD_CXX_ABI="ON" (it was set to “OFF” by mistake in my previous attempts).

I have produced yet another version of the AppImage, with an improved detection of the libstdc++ version available on the system, and with -DUSE_OLD_CXX_ABI="ON" passed to the RT configure step. The latest package is here. I tested it under Ubuntu 14.04, 16.04 and 17.04 and I do not observe anymore the relocation errors… hopefully it will work for you as well!

@agriggio @jpg could you please check once more?

Thanks!!!

1 Like

Yes, it’s working :

Hi @Carmelo_DrRaw, I have both good news and not-so-good ones…
The good: it works! :fireworks::sparkler:
The not-so-good: the GUI is significantly slower than my self-compiled version. I don’t know if this is a GTK+ thing (I’m still using 3.18 here) or it depends on the compilation flags you used, but the difference is visible. It was very noticeable the first time I launched the appimage, at that point I thought this was completely unusable. However, from the 2nd start, it became much less apparent fortunately (though still not as fast as my “native” builds).

BTW, thanks again for all your efforts! :+1:

I wonder if this is a question of GTK using or not using Direct Rendering… does anyone have an idea of how to check this?

@jpg thanks for checking! Is the RT appimage slow in your case as well?

Yes, very slow also and much slower than version 5.3 installed on Linux Mint 18.2.

First thing to clarify: is just the UI which is slower, or the processing as well? Could you try saving the same processing with the two versions? That’s also something’s ng that @agriggio could test…

I didn’t measure exactly, but it seems to be only a GUI problem. Processing times seemed the same as usual…

@agriggio @jpg I have prepared a test AppImage that was built under Ubuntu 16.04 and based solely on system packages (except RT which is compiled from sources). I would be really interested to see if it has the same slow GUI as the one you tested before… The AppImage can be downloaded from here.

Thanks!

1 Like

works just like the self-compiled version :+1:
So it really seems a GTK+ problem then…

2 Likes

Very good news @agriggio !!!

I have now prepared a new AppImage based on my Ubuntu 14.04 docker container, using a cleaned procedure to assemble the application bundle.

I tested it on an Ubuntu 17.04 system and, as far as I can tell, the UI is as responsive as a native build. Could you give it a try as well? The package can be found here.

If this package works correctly, I would then dare to say that I have a solution to propose for the automated creation of an RT AppImage via Travis CI… The only thing I still need to check is wether -O3 is being used in the build process, and wether the LensFun database is correctly updated before copying it into the bundle.

Thanks!

On my Manjaro install, I still feel some lag when switching tabs, but it’s at least twice as fast as before.

1 Like

I confirm that this is reasonably snappy, nice!

There seems to be still some problems with locating the lensfun db… the entries for cameras and lenses are empty.

@agriggio @sguyader Thanks for checking!

Part of the slowness might come from the fact that some UI elements have to be read from the bundle, which is de-compressed on the fly. A way to check this would be to extract the contents of the AppImage to disk, and run it from the extracted folder. Here are the instructions taken from the official documentation:

sudo apt install libarchive-tools # Or any other method to get `bsdtar`
mkdir AppDir
cd AppDir
bsdtar xfp /home/me/Downloads/Some.AppImage
./AppRun

Meanwhile I will have a look at the lensfun db.

2 Likes

I have uploaded a new appimage package which includes a proper support for lens fun corrections. If you could give it a try and confirm it works it would be great!

I just gave it a quick try: everything seems to work! :sparkler::fireworks::+1:
Thanks again!