AppImage needs testing

(Jean-Paul) #21

Thanks for the link, but I don’t get it?

(Morgan Hardwood) #22

@jpg for inline code, surround it in single backticks. For multi-line code, surround it by three backticks before and three backticks after, each backtick being on its own line.

Just edit your previous post to see what I did.

(Jean-Paul) #23

Okay, thanks, I’ll try the next time I have some code to put on the forum.

(Carmelo Dr Raw) #24

@agriggio @jpg I have just prepared a new version of the AppImage, which should solve the relocation errors that you observed with the previous one.

This involved compiling gcc 6.4.0 from sources and updating the Docker container used for building RT, that’s why it took a while… anyway, the new package is here.
I would really appreciate if you could give me some feedback, as the solution I found might be applied more generally to other project that require recent compiler versions.


(Sebastien Guyader) #25

@Carmelo_DrRaw thanks for the new appimage. Works fine on my Manjaro Linux:

[sguyader@sg-lenovo Downloads]$ ./RawTherapee-git-dev-20171121_2110-f8d414b23ba27b98ecd7a68989b1d0b292a2389b.glibc2.14.glibc2.14-x86_64.AppImage 
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_gmbbOr/usr/bin//rawtherapee.wrapper.
System stdc++ library: "/usr/lib/"
System stdc++ library version: "ZSt15future"
Bundled stdc++ library version: "3.4.24"
Newest stdc++ library version: "ZSt15future"
Using system stdc++ library (0x00007ffd2a3af000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0399215000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0399005000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03986fa000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0398439000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03981e5000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0397ed1000) => /usr/lib/ (0x00007f0397c9f000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f039789a000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03974ed000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0397271000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f039706b000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03968f9000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03966ac000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f039645a000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f039622d000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0396006000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0395dfa000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0395bc0000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f0395967000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0395741000) => /usr/lib/ (0x00007f039552a000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03952c2000) => /tmp/.mount_gmbbOr/usr/bin/../lib/ (0x00007f03950a3000) => /usr/lib/ (0x00007f0394d1c000) => /usr/lib/ (0x00007f03949d0000) => /usr/lib/ (0x00007f03947a2000) => /usr/lib/ (0x00007f039458b000) => /usr/lib/ (0x00007f039436d000) => /usr/lib/ (0x00007f0393fb5000) => ././/lib/ (0x00007f0393d8f000) => ././/lib/ (0x00007f03939e8000) => ././/lib/ (0x00007f03937e7000) => ././/lib/ (0x00007f03935da000) => ././/lib/ (0x00007f03933b7000) => ././/lib/ (0x00007f03931af000) => ././/lib/ (0x00007f0392f62000) => ././/lib/ (0x00007f0392c33000) => /usr/lib/ (0x00007f03928f4000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f03926ec000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f03924bf000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f03922b6000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f03920ac000) => /usr/lib/ (0x00007f0391ea8000) => ././/lib/ (0x00007f0391ca5000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0391a95000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0391892000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f039168c000) => ././/lib/ (0x00007f039145e000) => ././/lib/ (0x00007f0391169000) => ././/lib/ (0x00007f0390f54000) => ././/lib/ (0x00007f0390d11000) => ././/lib/ (0x00007f0390a70000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f039085e000) => /usr/lib/ (0x00007f0390656000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f039044e000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0390210000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0390006000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038fde4000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038fbd6000)
	/lib64/ => /usr/lib64/ (0x00007f0399419000) => /usr/lib/ (0x00007f038f9bf000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038f717000) => /usr/lib/ (0x00007f038f504000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038f301000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038f0f8000) => /usr/lib/ (0x00007f038eecf000) => /usr/lib/ (0x00007f038ec44000) => ././/lib/ (0x00007f038ea14000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038e7cf000) => ././/lib/ (0x00007f038e535000) => /usr/lib/ (0x00007f038e27f000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038e07b000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038de75000) => /usr/lib/ (0x00007f038dc43000) => /tmp/.mount_gmbbOr/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f038da3d000)
GLib-GIO-Message: 20:15:02.289: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

Maybe a little bit slow, but it’s a new laptop and it may not be well configured yet.

(Ingo Weyrich) #26

My two cents: speed of RT should not depend on configuration of a machine…

(Mica) #27

Slow in start up or slow in execution?

In my experience, appimages are a little slow to start, since it has to mount a filesystem and all.

(Alberto) #28

thanks! I’ll test asap

(Alberto) #29

hi @Carmelo_DrRaw, unfortunately it still doesn’t work :frowning:

[alb@allblack Downloads]$ ./RawTherapee-git-dev-20171121_2110-f8d414b23ba27b98ecd7a68989b1d0b292a2389b.glibc2.14.glibc2.14-x86_64.AppImage 
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_3fYhUy/usr/bin//rawtherapee.wrapper.
System stdc++ library: "/usr/lib/x86_64-linux-gnu/"
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 =>  (0x00007ffd4e5b6000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fcadc6000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fcabb6000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fca2ab000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc9fe9000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc9d95000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc9a81000) => /lib/x86_64-linux-gnu/ (0x00007f0fc9834000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc942f000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc9082000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc8e05000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc8bff000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc848d000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc823f000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc7fed000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc7dc0000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc7b98000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc798c000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc7752000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc74f8000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc72d2000) => /lib/x86_64-linux-gnu/ (0x00007f0fc70b8000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc6e4f000) => /tmp/.mount_3fYhUy/usr/bin/../lib/ (0x00007f0fc6c30000) => /tmp/.mount_3fYhUy/usr/bin/../optional/libstdc++/ (0x00007f0fc691d000) => /lib/x86_64-linux-gnu/ (0x00007f0fc6613000) => /tmp/.mount_3fYhUy/usr/bin/../optional/libstdc++/ (0x00007f0fc63e4000) => /lib/x86_64-linux-gnu/ (0x00007f0fc61ce000) => /lib/x86_64-linux-gnu/ (0x00007f0fc5fb0000) => /lib/x86_64-linux-gnu/ (0x00007f0fc5be6000) => ././/lib/ (0x00007f0fc59c0000) => ././/lib/ (0x00007f0fc5618000) => ././/lib/ (0x00007f0fc5417000) => ././/lib/ (0x00007f0fc5209000) => ././/lib/ (0x00007f0fc4fe6000) => ././/lib/ (0x00007f0fc4dde000) => ././/lib/ (0x00007f0fc4b90000) => ././/lib/ (0x00007f0fc4861000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fc4527000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc431e000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc40f1000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc3ee8000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc3cdd000) => /lib/x86_64-linux-gnu/ (0x00007f0fc3ad9000) => ././/lib/ (0x00007f0fc38d5000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc36c5000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc34c2000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc32bb000) => ././/lib/ (0x00007f0fc308d000) => ././/lib/ (0x00007f0fc2d98000) => ././/lib/ (0x00007f0fc2b82000) => ././/lib/ (0x00007f0fc293f000) => ././/lib/ (0x00007f0fc269d000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc248b000) => /lib/x86_64-linux-gnu/ (0x00007f0fc2283000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc207a000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc1e3c000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc1c31000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc1a0f000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc1800000)
	/lib64/ (0x000055f400533000) => /lib/x86_64-linux-gnu/ (0x00007f0fc15e5000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc133c000) => /usr/lib/x86_64-linux-gnu/mesa-egl/ (0x00007f0fc1103000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc0f00000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc0cf6000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fc0ad4000) => /usr/lib/x86_64-linux-gnu/mesa/ (0x00007f0fc0862000) => ././/lib/ (0x00007f0fc0631000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fc03eb000) => ././/lib/ (0x00007f0fc0151000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbff4f000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbfd49000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbfb46000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbf943000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbf73b000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbf535000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbf333000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbf125000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbef14000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbed0c000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbea64000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbe853000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbe64e000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbe448000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbe221000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbe009000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbde03000) => /tmp/.mount_3fYhUy/usr/bin/../lib/x86_64-linux-gnu/ (0x00007f0fbdbfc000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbd9bd000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbd775000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbd503000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbd27b000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbd071000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbce6d000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbcc3c000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbca23000) => /usr/lib/x86_64-linux-gnu/ (0x00007f0fbc7fa000)
./bin/rawtherapee.real: relocation error: /usr/lib/x86_64-linux-gnu/ symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file with link time reference

FWIW, I think you need an older compiler, not a newer one…

(Sebastien Guyader) #30

This libboost error, it reminds a problem I had when I updated libboost to new version, a program compiled against the previous libboost failed with a similar error.

(Carmelo Dr Raw) #31

What puzzles me is that the missing symbol seems to be provided by the newer libstdc++ that is bundled in the AppImage, and which is being used in @agriggio case:

root@2f74571c0bf8:/work/inst/lib64# readelf -s --wide | grep _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev       
  2870: 000000000011cb80    26 FUNC    WEAK   DEFAULT   12 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
  4060: 000000000011cb80    26 FUNC    WEAK   DEFAULT   12 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev

@agriggio, could you do me a favour an post the output of the following command on your system:

readelf -s --wide /usr/lib/x86_64-linux-gnu/ | grep _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev       


Unfortunately I really need a newer one… I am building the AppImage on Ubuntu 14.04 in order to have an old version of libc that is compatible with most distributions. However, RT needs gcc 4.9 or newer.

(Alberto) #32

well, there are lots of GCC versions between 4.9 and 6.2… my comment was about something older than 6.2 :slight_smile:

(Sebastien Guyader) #33

@paperdigits and @heckflosse the AppImage is maybe a little bit slower in start up, but that much.

Regarding execution, I said it maybe a problem with the configuration of my new laptop, because these days I see something I didn’t see before: with the AppImage and the also the dev build, there is some lag when I switch between tabs (I’m in METM). This lag is not constant, it increases when I load a new image in editor, but if I keep switching tabs at some point the lag disappears. This lag seems a little bit longer in the AppImage, but I’m not sure, I can’t measure it because it’s a fraction of a second, but it’s still somewhat annoying.

(Sebastien Guyader) #34

I recorded my screen while using the AppImage, and comparing it to the dev version (compiled today).
For both cases, I opened RT in METM, switched between the 2 tabs (File browser and Queue), opened a raw file, switched tabs to reveal the lag.

From the AppImage:
Screen cast AppImage

Initally, switching tabs is snappy. But after loading the first raw file, switching tabs is laggy (I hope you can see that in the screen cast). For some reason, at 1:25 the lag is gone, and swtching tabs is snappy again. At 1:40 I open a raw file again, and the lag comes back. Opening a second raw file makes it even laggier (more than 1 second I think). When I close the raw files towards the end, the lag goes away.

From the dev build:
Screen cast dev build

Pretty much the same behaviour, though the lag is much shorter (but still perceivable). Again, after a while the lag goes away (around 1:00 and 2:00 in the screen cast).

I observed the same important lags for the AppImage in SETM.

(Carmelo Dr Raw) #35

Interesting… I am probably in a similar situation, since the executable in the AppImage is linked against the libboost provided by Ubuntu 14.04. I will try to compile a newer libboost from sources and see what happens.

(Morgan Hardwood) #36

@sguyader can you rule out swapping to disk being the cause? I suppose the AppImage will have a considerable RAM overhead…

(Sebastien Guyader) #37

@Morgan_Hardwood I think swapping can be ruled out. I have 8GB of RAM and at most when I ran this test, about 1/3 of the RAM was used. If you play the video, you can monitor the RAM usage at the right of the RT window on the conky graph.

(Morgan Hardwood) #38

The video wouldn’t play for me, “error with playback”. I’ll try downloading it after work.

(Sebastien Guyader) #39

I uploaded the video to my google drive, is there a better place for sharing videos on the forum?

(Jean-Paul) #40

I just tested it, I don’t have an execution:
jpg@jpg-HP-ProBook-4535s ~/Téléchargements $ ./RawTherapee-git-dev-20171121_2110-f8d414b23ba27b98ecd7a68989b1d0b292a2389b.glibc2.14.glibc2.14-x86_64.AppImage
bash: ./RawTherapee-git-dev-20171121_2110-f8d414b23ba27b98ecd7a68989b1d0b292a2389b.glibc2.14.glibc2.14-x86_64.AppImage: Permission non accordée