Problems after openexr 2.4->2.5 update

Issue #233 resolved
FUNMORPH UA created an issue

Dear Ben,

I am running a source-build of XMALab.

It seems there was an update of openexr recently (from 2.4 to 2.5). As far as I can see, openexr is used by opencv2. And probably this is an issue for opencv2.

The update leads to a failure to start xmalab, with the error message

./XMALab: error while loading shared libraries: libIlmImf-2_4.so.24: cannot open shared object file: No such file or directory

Or, when recompiling, I get

/usr/bin/ld: warning: libIlmImf-2_4.so.24, needed by /opt/opencv2/lib/libopencv_highgui.so.2.4.13, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libHalf-2_4.so.24, needed by /opt/opencv2/lib/libopencv_highgui.so.2.4.13, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /opt/opencv2/lib/libopencv_highgui.so.2.4.13: undefined reference to `Imf_2_4::'
/usr/bin/ld: /opt/opencv2/lib/libopencv_highgui.so.2.4.13: undefined reference to `half::' 

I tried to softlink the *2_5.so.25 to *2_4.so.24 but that did not work. After a bit of research, I fond that the libraries are part of openexr and highgui is connected to that.

A non-optimal workaround is to keep an old version of openexr. On arch linux, this is done by:

pacman -U /var/cache/pacman/pkg/openexr-2.4.1-2-x86_64.pkg.tar.zst

I wanted to post this here in case others face the same issue. I read the errors above as an early warning that the ancient opencv2 is failing, and it would be good to update dependencies for XMAlab.

I also wanted to point out that it would be outstanding if XMALab could be integrated with up-to-date third party libraries, such as opencv4. The situation is probably similar for qt4 (and maybe quazip), there is always a danger of failure due to these complex, outdated upstream libraries. Besides potential failure, it is frustrating and potentially insecure to maintain outdated versions of these huge libraries, parallel to the up-to-date ones required on my system. I know, this can mean considerable workload coming with upstream updates for you as a maintainer. Still, it might be worth updating from time to time.

Best,

Falk

Update (2020/07/16): Among the programs that depend on the latest openexr is opencv (latest) and all software that depends on it. That is quite a show stopper. I’ve set this to “critical”, since it effectively prohibits using XMALab on my computer.

Comments (6)

  1. Benjamin Knorlein

    Hi Falk,

    I am actually in the process of updating all the libraries. Once i commited it to Bitbucket I will let you know and you can test with the newer libraries.

    Best,

    Ben

  2. Benjamin Knorlein

    The versions of the libraries are:

    qt 5.15

    opencv 4.0.0

    glew 2.1.0

    Quazip 1.0.0

    levmar 2.6

  3. FUNMORPH UA reporter

    I managed to install the beta branch and use the new version.

    Thank you for the update! We’re looking forward to the new release.

  4. Log in to comment