Hugin not configurable with vigra 1.10

359 views
Skip to first unread message

Kornel Benko

unread,
Oct 1, 2014, 12:43:32 PM10/1/14
to hugi...@googlegroups.com
This is what I get with the cmake call:

...
-- Found VIGRA: /usr/lib/libvigraimpex.so
CMake Error at CMakeModules/FindVIGRA.cmake:49 (FILE):
file STRINGS file "/usr/include/vigra/configVersion.hxx" cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:228 (FIND_PACKAGE)


CMake Error at CMakeModules/FindVIGRA.cmake:51 (IF):
if given arguments:

"VERSION_EQUAL" "VIGRA_FIND_VERSION" "OR" "VERSION_GREATER" "VIGRA_FIND_VERSION"

Unknown arguments specified
Call Stack (most recent call first):
CMakeLists.txt:228 (FIND_PACKAGE)
...

As it turns out, there is no such file as configVersion.hxx. Instead only config_version.hxx looks
like it would be OK.

After replacing it, there is new error:
...

-- Found VIGRA: /usr/lib/libvigraimpex.so
-- VIGRA version: 1.10.0
CMake Error at CMakeModules/FindVIGRA.cmake:72 (MESSAGE):
Libvigraimpex found. But vigraimpex seems to compiled without OpenEXR
support. OpenEXR support is required for Hugin.
Call Stack (most recent call first):
CMakeLists.txt:228 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/usr/BUILD/BuildHugin_hg/CMakeFiles/CMakeOutput.log".
See also "/usr/BUILD/BuildHugin_hg/CMakeFiles/CMakeError.log".
...

Since vigra and vigraimpex are both supplied by system (ubuntu 12.10), at least the last log
in the hg-repository is misleading.

Use external vigra library and update code to work with Vigra 1.9 and above

Patch is based on work of Lukas Jirkovsky (branch system_vigra)

Kornel

signature.asc

T. Modes

unread,
Oct 1, 2014, 3:25:53 PM10/1/14
to hugi...@googlegroups.com


Am Mittwoch, 1. Oktober 2014 18:43:32 UTC+2 schrieb kornel:
As it turns out, there is no such file as configVersion.hxx. Instead only config_version.hxx looks
like it would be OK.

In the latest released version it is called configVersion.hxx. Only in the repository it was renamed to config_version.hxx, but no version was released yet.
So in the official released versions it is configVersion.hxx
Should be fixed in repository.

 

After replacing it, there is new error:
..

Since vigra and vigraimpex are both supplied by system (ubuntu 12.10), at least the last log
in the hg-repository is misleading.

        Use external vigra library and update code to work with Vigra 1.9 and above

        Patch is based on work of Lukas Jirkovsky (branch system_vigra)

No. Vigraimpex can be build with different options. OpenEXR support can be disabled. But Hugin needs OpenEXR support in libvigraimpex. There is no way to test this at run-time and the user would get error messages.
So CMake checks if libvigraimpex is linked against the OpenEXR libs.

As far as I checked all libvigraimpex libs from Ubuntu with version >=1.9 are linked against OpenEXR.
CMakes runs ldd to check this.

The output of ldd looks like for me:
$ ldd /usr/lib/libvigraimpex.so
    linux-gate.so.1 =>  (0xb76f2000)
    libjpeg.so.8 => /usr/lib/i386-linux-gnu/libjpeg.so.8 (0xb7612000)
    libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb75ea000)
    libtiff.so.5 => /usr/lib/i386-linux-gnu/libtiff.so.5 (0xb7576000)
    libIlmImf.so.6 => /usr/lib/i386-linux-gnu/libIlmImf.so.6 (0xb74c5000)  --> OpenEXR
    libHalf.so.6 => /usr/lib/i386-linux-gnu/libHalf.so.6 (0xb7481000)       --> OpenEXR
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7398000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7352000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7334000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7184000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb716a000)
    liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xb7144000)
    libjbig.so.0 => /usr/lib/i386-linux-gnu/libjbig.so.0 (0xb7135000)
    libIex.so.6 => /usr/lib/i386-linux-gnu/libIex.so.6 (0xb711b000)     --> OpenEXR
    libIlmThread.so.6 => /usr/lib/i386-linux-gnu/libIlmThread.so.6 (0xb7114000)    --> OpenEXR
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb70f8000)
    /lib/ld-linux.so.2 (0xb76f3000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb70f3000)

Could you post your output, so we could check what's different on your side?

Or have you a better way to test if libvigraimpex is linked against the OpenEXR libs?

If would be easier if the file vigra-targets-release.cmake would be installed (CMakes install target for vigra does install this file, but it is missing in the Ubuntu packages)

Thomas

Kornel Benko

unread,
Oct 1, 2014, 3:36:15 PM10/1/14
to hugi...@googlegroups.com
Am Mittwoch, 1. Oktober 2014 um 12:25:53, schrieb T. Modes <Thomas...@gmx.de>
Sure.
# ldd /usr/lib/libvigraimpex.so
linux-vdso.so.1 => (0x00007fff476d8000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f2024f40000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f2024d18000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2024b00000)
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f2024888000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2024580000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2024280000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2024068000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2023ca8000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f2023a80000)
libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f2023870000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2025450000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2023668000)

> Or have you a better way to test if libvigraimpex is linked against the
> OpenEXR libs?

Apparently not. It simply is not linked neither to /usr/lib/libIlmImf.*
nor to /usr/lib/libHalf.so.6.0.0
# dpkg -S /usr/lib/libHalf.so.6.0.0
libilmbase6: /usr/lib/libHalf.so.6.0.0


>
> If would be easier if the file vigra-targets-release.cmake would be
> installed (CMakes install target for vigra does install this file, but it
> is missing in the Ubuntu packages)
>
> Thomas
>

Kornel
signature.asc

T. Modes

unread,
Oct 1, 2014, 4:03:01 PM10/1/14
to hugi...@googlegroups.com


Am Mittwoch, 1. Oktober 2014 21:36:15 UTC+2 schrieb kornel:
Sure.
        # ldd /usr/lib/libvigraimpex.so


Apparently not. It simply is not linked neither to /usr/lib/libIlmImf.*
nor to /usr/lib/libHalf.so.6.0.0
        # dpkg -S /usr/lib/libHalf.so.6.0.0
                libilmbase6: /usr/lib/libHalf.so.6.0.0

So it means that the test was successful.

The easiest solution would be to recompile libvigraimpex with OpenEXR support activated.

Disabling HDR support on Hugin side would require a lot of #ifdef to disable all HDR related functionality.
Furthermore there would be 2 different versions of Hugin in the wild and we would get many questions like "why is HDR missing on my side?".
So currently I'm against this solution.

Thomas

Kornel Benko

unread,
Oct 2, 2014, 3:55:22 AM10/2/14
to hugi...@googlegroups.com
Am Mittwoch, 1. Oktober 2014 um 13:03:01, schrieb T. Modes <Thomas...@gmx.de>
My error. I forgot that I compiled vigra myself. Reconfiguring vigra with ' -DWITH_OPENEXR=ON' now.
Configuration and compilation of hugin went OK.

Kornel
signature.asc

Kornel Benko

unread,
Oct 2, 2014, 4:30:29 AM10/2/14
to hugi...@googlegroups.com
Am Donnerstag, 2. Oktober 2014 um 09:52:55, schrieb Kornel Benko <Kornel...@berlin.de>
Hmmm, I was too optimistic. Now I get this error while compiling NonaFileStitcher.cpp:

In file included from /usr/src/hugin/hugin_hg/src/hugin_base/nona/RemappedPanoImage.h:199:0,
from /usr/src/hugin/hugin_hg/src/hugin_base/nona/Stitcher.h:54,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp:33:
/usr/src/hugin/hugin_hg/src/hugin_base/photometric/ResponseTransform.h: In member function ‘double HuginBase::Photometric::ResponseTransform<VTIn>::calcVigFactor(hugin_utils::FDiff2D) const’:
/usr/src/hugin/hugin_hg/src/hugin_base/photometric/ResponseTransform.h:347:90: error: no matching function for call to ‘min(const int&, std::ptrdiff_t&)’
/usr/src/hugin/hugin_hg/src/hugin_base/photometric/ResponseTransform.h:347:90: note: candidates are:
In file included from /usr/include/c++/4.7/bits/char_traits.h:41:0,
from /usr/include/c++/4.7/ios:41,
from /usr/include/c++/4.7/ostream:40,
from /usr/include/c++/4.7/iostream:40,
from /usr/src/hugin/hugin_hg/src/hugin_base/appbase/ProgressDisplay.h:29,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/PanoramaAlgorithm.h:35,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/StitcherAlgorithm.h:36,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/nona/NonaFileStitcher.h:35,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp:31:
/usr/include/c++/4.7/bits/stl_algobase.h:187:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
/usr/include/c++/4.7/bits/stl_algobase.h:187:5: note: template argument deduction/substitution failed:
In file included from /usr/src/hugin/hugin_hg/src/hugin_base/nona/RemappedPanoImage.h:199:0,
from /usr/src/hugin/hugin_hg/src/hugin_base/nona/Stitcher.h:54,
from /usr/src/hugin/hugin_hg/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp:33:
/usr/src/hugin/hugin_hg/src/hugin_base/photometric/ResponseTransform.h:347:90: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘std::ptrdiff_t {aka long int}’)
...

Kornel


signature.asc

Kevin E

unread,
Oct 2, 2014, 2:45:11 PM10/2/14
to hugi...@googlegroups.com
I get this same error when compiling NonaFileStitcher.cpp also.

rev.txt says it's ca2de5071885

T. Modes

unread,
Oct 3, 2014, 4:22:10 AM10/3/14
to hugi...@googlegroups.com


Am Donnerstag, 2. Oktober 2014 20:45:11 UTC+2 schrieb Kevin E:
I get this same error when compiling NonaFileStitcher.cpp also.

Such "me too" messages are not helpful. I need to know the common point to find the bug.
Before committing I tested with 3 compilers and 2 vigra versions (1.9 and 1.10, these are the released ones and with them it compiled fine).

The errors stem probably from using a vigra development version, where some things were changed.
So when using development version this should at least mentioned, or even better, when you use a development version, you could also provide a patch.

Trying to fix in repository, please test current tip.

Kornel Benko

unread,
Oct 3, 2014, 6:07:49 AM10/3/14
to hugi...@googlegroups.com
Am Freitag, 3. Oktober 2014 um 01:22:10, schrieb T. Modes <Thomas...@gmx.de>
If one were aware of that connection, certainly. I use the devel version of vigra
automatically on each recompile of that package, but thought that my (old) OS is to blame.

> Trying to fix in repository, please test current tip.
>

This one compiles. Thanks

Kornel
signature.asc
Reply all
Reply to author
Forward
0 new messages