Bug #1123

libexiv2 should hide XMP-SDK symbols

Added by Robin Mills over 1 year ago. Updated over 1 year ago.

Status:ClosedStart date:03 Oct 2015
Priority:NormalDue date:
Assignee:Robin Mills% Done:

100%

Category:buildEstimated time:3.00 hours
Target version:0.26


Related issues

Related to Exiv2 - Feature #1041: CMake toolchain for windows Closed 15 Mar 2015

Associated revisions

Revision 3975
Added by Robin Mills over 1 year ago

#1123. Hide xmpsdk symbols when building with CMake.

History

#1 Updated by Robin Mills over 1 year ago

Gilles

Is there a separate copy of xmpsdk linked to your application? Could Exiv2 be calling your copy of XMPsdk instead of the statically linked version?

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff78b984b in DngXmpSdk::WXMPMeta_RegisterNamespace_1 (namespaceURI=0x7fffe63ba6d8 "http://ns.adobe.com/lightroom/1.0/", suggestedPrefix=0x7fffe63ba6ce "lr", registeredPrefix=0x7fffffffcf70, prefixSize=0x7fffe63ba6ce, wResult=0xffffffff)
at /home/gilles/Devel/5.x/core/libs/3rdparty/dngwriter/extra/xmp_sdk/XMPCore/WXMPMeta.cpp:224
224 XMP_ENTER_WRAPPER ( "WXMPMeta_RegisterNamespace_1" )
(gdb) bt
#0 0x00007ffff78b984b in DngXmpSdk::WXMPMeta_RegisterNamespace_1(DngXmpSdk::XMP_StringPtr, DngXmpSdk::XMP_StringPtr, DngXmpSdk::XMP_StringPtr*, DngXmpSdk::XMP_StringLen*, DngXmpSdk::WXMP_Result*) (namespaceURI=0x7fffe63ba6d8 "http://ns.adobe.com/lightroom/1.0/", suggestedPrefix=0x7fffe63ba6ce "lr", registeredPrefix=0x7fffffffcf70, prefixSize=0x7fffe63ba6ce, wResult=0xffffffff) at /home/gilles/Devel/5.x/core/libs/3rdparty/dngwriter/extra/xmp_sdk/XMPCore/WXMPMeta.cpp:224
#1 0x00007fffe6300a9a in TXMPMeta<std::string>::RegisterNamespace(char const*, char const*) () at /lib/libexiv2.so.14
#2 0x00007fffe62fccac in Exiv2::XmpParser::initialize(void ()(void, bool), void*) () at /lib/libexiv2.so.14
#3 0x00007ffff4eacc9f in KExiv2Iface::KExiv2::initializeExiv2() () at /home/gilles/Devel/5.x/extra/libkexiv2/src/kexiv2.cpp:80
#4 0x0000000000406b98 in main(int, char**) (argc=1, argv=0x7fffffffda68) at /home/gilles/Devel/5.x/core/app/main/main.cpp:99
(gdb)

The reason for my suspicion is the source files:

/home/gilles/Devel/5.x/core/libs/3rdparty/dngwriter/extra/xmp_sdk/XMPCore/WXMPMeta.cpp:224
Exiv2::XmpParser::initialize(void ()(void, bool), void*) () at /lib/libexiv2.so.14

For sure Exiv2 is making a call to XMPsdk RegisterNamespace from src/xmp.cpp#397
    bool XmpParser::initialize(XmpParser::XmpLockFct xmpLockFct, void* pLockData)
    {
        if (!initialized_) {
#ifdef EXV_HAVE_XMP_TOOLKIT
            xmpLockFct_ = xmpLockFct;
            pLockData_ = pLockData;
            initialized_ = SXMPMeta::Initialize();
            SXMPMeta::RegisterNamespace("http://ns.adobe.com/lightroom/1.0/", "lr");
....
}

I don't know what the argument prefixSize is about. Maybe we're calling a different version of XMPsdk that has additional arguments for RegisterNamespace.

#2 Updated by Gilles Caulier over 1 year ago

yes, we have XMPSDK code compiled in digiKam as well, to be able to compile DNGSDK from Adobe.

So the digiKam XMP SDK is internal. We don't use an external XMP Sdk library.

There is no reason to see Exiv2 symbols call XMPS sdk from digiKam core, where Exiv2 has been compiled and linked with a dedicated one.

Note that this happen since 0.25. We have already this kind of code in digiKam, without to see a crash.

Gilles

#3 Updated by Robin Mills over 1 year ago

Did this arrive with v0.25 or more recently on the trunk? I changed something recently concerning namespaces (#640) and may have caused you trouble. I don't believe I changed any Adobe code.

Can you try with a 'vanilla' v0.25 and let me know.

#4 Updated by Andreas Huggel over 1 year ago

Robin, this is only a Cmake build env issue. All is fine if Exiv2 is compiled with the default configure scripts.

#5 Updated by Gilles Caulier over 1 year ago

Andreas,

As you said previously in forum entry; the visibility compiler options must be passed to compilation rules.

With CMake settings env. var VERBOSE to 1 permit to see all compilation details :

[gilles@localhost build.cmake]$ make
/usr/bin/cmake -H/home/gilles/Devel/exiv2 -B/home/gilles/Devel/exiv2/build.cmake --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/gilles/Devel/exiv2/build.cmake/CMakeFiles /home/gilles/Devel/exiv2/build.cmake/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make1: Entering directory '/home/gilles/Devel/exiv2/build.cmake'
make -f xmpsdk/CMakeFiles/xmp.dir/build.make xmpsdk/CMakeFiles/xmp.dir/depend
make2: Entering directory '/home/gilles/Devel/exiv2/build.cmake'
cd /home/gilles/Devel/exiv2/build.cmake && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/gilles/Devel/exiv2 /home/gilles/Devel/exiv2/xmpsdk /home/gilles/Devel/exiv2/build.cmake /home/gilles/Devel/exiv2/build.cmake/xmpsdk /home/gilles/Devel/exiv2/build.cmake/xmpsdk/CMakeFiles/xmp.dir/DependInfo.cmake --color=
make2: Leaving directory '/home/gilles/Devel/exiv2/build.cmake'
make -f xmpsdk/CMakeFiles/xmp.dir/build.make xmpsdk/CMakeFiles/xmp.dir/build
make2: Entering directory '/home/gilles/Devel/exiv2/build.cmake'
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 88
[ 1%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/ExpatAdapter.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/ExpatAdapter.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/ExpatAdapter.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 89
[ 2%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/MD5.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/MD5.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/MD5.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 2%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/ParseRDF.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/ParseRDF.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/ParseRDF.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 90
[ 3%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/UnicodeConversions.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/UnicodeConversions.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/UnicodeConversions.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 3%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/WXMPIterator.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/WXMPIterator.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/WXMPIterator.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 91
[ 4%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/WXMPMeta.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/WXMPMeta.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/WXMPMeta.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 92
[ 5%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/WXMPUtils.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/WXMPUtils.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/WXMPUtils.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 5%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XML_Node.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XML_Node.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XML_Node.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 93
[ 6%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPCore_Impl.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPCore_Impl.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPCore_Impl.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 94
[ 7%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPIterator.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPIterator.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPIterator.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 7%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPMeta-GetSet.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPMeta-GetSet.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPMeta-GetSet.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 95
[ 8%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPMeta-Parse.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPMeta-Parse.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPMeta-Parse.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 96
[ 9%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPMeta-Serialize.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPMeta-Serialize.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPMeta-Serialize.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 9%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPMeta.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPMeta.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPMeta.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 97
[ 10%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPUtils-FileInfo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPUtils-FileInfo.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPUtils-FileInfo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 98
[ 11%] Building CXX object xmpsdk/CMakeFiles/xmp.dir/src/XMPUtils.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/c++ -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -fPIC -o CMakeFiles/xmp.dir/src/XMPUtils.cpp.o -c /home/gilles/Devel/exiv2/xmpsdk/src/XMPUtils.cpp
Linking CXX static library libxmp.a
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/cmake -P CMakeFiles/xmp.dir/cmake_clean_target.cmake
cd /home/gilles/Devel/exiv2/build.cmake/xmpsdk && /usr/bin/cmake -E cmake_link_script CMakeFiles/xmp.dir/link.txt --verbose=1
/usr/bin/ar cr libxmp.a CMakeFiles/xmp.dir/src/ExpatAdapter.cpp.o CMakeFiles/xmp.dir/src/MD5.cpp.o CMakeFiles/xmp.dir/src/ParseRDF.cpp.o CMakeFiles/xmp.dir/src/UnicodeConversions.cpp.o CMakeFiles/xmp.dir/src/WXMPIterator.cpp.o CMakeFiles/xmp.dir/src/WXMPMeta.cpp.o CMakeFiles/xmp.dir/src/WXMPUtils.cpp.o CMakeFiles/xmp.dir/src/XML_Node.cpp.o CMakeFiles/xmp.dir/src/XMPCore_Impl.cpp.o CMakeFiles/xmp.dir/src/XMPIterator.cpp.o CMakeFiles/xmp.dir/src/XMPMeta-GetSet.cpp.o CMakeFiles/xmp.dir/src/XMPMeta-Parse.cpp.o CMakeFiles/xmp.dir/src/XMPMeta-Serialize.cpp.o CMakeFiles/xmp.dir/src/XMPMeta.cpp.o CMakeFiles/xmp.dir/src/XMPUtils-FileInfo.cpp.o CMakeFiles/xmp.dir/src/XMPUtils.cpp.o
/usr/bin/ranlib libxmp.a
make2: Leaving directory '/home/gilles/Devel/exiv2/build.cmake'
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 88 89 90 91 92 93 94 95 96 97 98
[ 11%] Built target xmp
make -f src/CMakeFiles/exiv2lib.dir/build.make src/CMakeFiles/exiv2lib.dir/depend
make2: Entering directory '/home/gilles/Devel/exiv2/build.cmake'
cd /home/gilles/Devel/exiv2/build.cmake && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/gilles/Devel/exiv2 /home/gilles/Devel/exiv2/src /home/gilles/Devel/exiv2/build.cmake /home/gilles/Devel/exiv2/build.cmake/src /home/gilles/Devel/exiv2/build.cmake/src/CMakeFiles/exiv2lib.dir/DependInfo.cmake --color=
make2: Leaving directory '/home/gilles/Devel/exiv2/build.cmake'
make -f src/CMakeFiles/exiv2lib.dir/build.make src/CMakeFiles/exiv2lib.dir/build
make2: Entering directory '/home/gilles/Devel/exiv2/build.cmake'
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 11%] Building CXX object src/CMakeFiles/exiv2lib.dir/asfvideo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/asfvideo.cpp.o -c /home/gilles/Devel/exiv2/src/asfvideo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 10
[ 12%] Building CXX object src/CMakeFiles/exiv2lib.dir/basicio.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/basicio.cpp.o -c /home/gilles/Devel/exiv2/src/basicio.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 12%] Building CXX object src/CMakeFiles/exiv2lib.dir/bmpimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/bmpimage.cpp.o -c /home/gilles/Devel/exiv2/src/bmpimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 11
[ 13%] Building CXX object src/CMakeFiles/exiv2lib.dir/canonmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/canonmn.cpp.o -c /home/gilles/Devel/exiv2/src/canonmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 12
[ 14%] Building CXX object src/CMakeFiles/exiv2lib.dir/casiomn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/casiomn.cpp.o -c /home/gilles/Devel/exiv2/src/casiomn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 14%] Building CXX object src/CMakeFiles/exiv2lib.dir/convert.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/convert.cpp.o -c /home/gilles/Devel/exiv2/src/convert.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 13
[ 15%] Building CXX object src/CMakeFiles/exiv2lib.dir/cr2image.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/cr2image.cpp.o -c /home/gilles/Devel/exiv2/src/cr2image.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 14
[ 16%] Building CXX object src/CMakeFiles/exiv2lib.dir/crwedit.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/crwedit.cpp.o -c /home/gilles/Devel/exiv2/src/crwedit.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 16%] Building CXX object src/CMakeFiles/exiv2lib.dir/crwimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/crwimage.cpp.o -c /home/gilles/Devel/exiv2/src/crwimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 15
[ 17%] Building CXX object src/CMakeFiles/exiv2lib.dir/datasets.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/datasets.cpp.o -c /home/gilles/Devel/exiv2/src/datasets.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 16
[ 18%] Building CXX object src/CMakeFiles/exiv2lib.dir/easyaccess.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/easyaccess.cpp.o -c /home/gilles/Devel/exiv2/src/easyaccess.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 18%] Building CXX object src/CMakeFiles/exiv2lib.dir/epsimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/epsimage.cpp.o -c /home/gilles/Devel/exiv2/src/epsimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 17
[ 19%] Building CXX object src/CMakeFiles/exiv2lib.dir/error.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/error.cpp.o -c /home/gilles/Devel/exiv2/src/error.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 18
[ 20%] Building CXX object src/CMakeFiles/exiv2lib.dir/exif.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/exif.cpp.o -c /home/gilles/Devel/exiv2/src/exif.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 20%] Building CXX object src/CMakeFiles/exiv2lib.dir/futils.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/futils.cpp.o -c /home/gilles/Devel/exiv2/src/futils.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 19
[ 21%] Building CXX object src/CMakeFiles/exiv2lib.dir/fujimn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/fujimn.cpp.o -c /home/gilles/Devel/exiv2/src/fujimn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 20
[ 22%] Building CXX object src/CMakeFiles/exiv2lib.dir/gifimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/gifimage.cpp.o -c /home/gilles/Devel/exiv2/src/gifimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 22%] Building CXX object src/CMakeFiles/exiv2lib.dir/http.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/http.cpp.o -c /home/gilles/Devel/exiv2/src/http.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 21
[ 23%] Building CXX object src/CMakeFiles/exiv2lib.dir/image.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/image.cpp.o -c /home/gilles/Devel/exiv2/src/image.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 23%] Building CXX object src/CMakeFiles/exiv2lib.dir/iptc.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/iptc.cpp.o -c /home/gilles/Devel/exiv2/src/iptc.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 22
[ 24%] Building CXX object src/CMakeFiles/exiv2lib.dir/jp2image.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/jp2image.cpp.o -c /home/gilles/Devel/exiv2/src/jp2image.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 23
[ 25%] Building CXX object src/CMakeFiles/exiv2lib.dir/jpgimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/jpgimage.cpp.o -c /home/gilles/Devel/exiv2/src/jpgimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 25%] Building CXX object src/CMakeFiles/exiv2lib.dir/makernote.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/makernote.cpp.o -c /home/gilles/Devel/exiv2/src/makernote.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 24
[ 26%] Building CXX object src/CMakeFiles/exiv2lib.dir/matroskavideo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/matroskavideo.cpp.o -c /home/gilles/Devel/exiv2/src/matroskavideo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 25
[ 27%] Building CXX object src/CMakeFiles/exiv2lib.dir/metadatum.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/metadatum.cpp.o -c /home/gilles/Devel/exiv2/src/metadatum.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 27%] Building CXX object src/CMakeFiles/exiv2lib.dir/minoltamn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/minoltamn.cpp.o -c /home/gilles/Devel/exiv2/src/minoltamn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 26
[ 28%] Building CXX object src/CMakeFiles/exiv2lib.dir/mrwimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/mrwimage.cpp.o -c /home/gilles/Devel/exiv2/src/mrwimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 27
[ 29%] Building CXX object src/CMakeFiles/exiv2lib.dir/nikonmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/nikonmn.cpp.o -c /home/gilles/Devel/exiv2/src/nikonmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 29%] Building CXX object src/CMakeFiles/exiv2lib.dir/olympusmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/olympusmn.cpp.o -c /home/gilles/Devel/exiv2/src/olympusmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 28
[ 30%] Building CXX object src/CMakeFiles/exiv2lib.dir/orfimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/orfimage.cpp.o -c /home/gilles/Devel/exiv2/src/orfimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 29
[ 31%] Building CXX object src/CMakeFiles/exiv2lib.dir/panasonicmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/panasonicmn.cpp.o -c /home/gilles/Devel/exiv2/src/panasonicmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 31%] Building CXX object src/CMakeFiles/exiv2lib.dir/pentaxmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/pentaxmn.cpp.o -c /home/gilles/Devel/exiv2/src/pentaxmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 30
[ 32%] Building CXX object src/CMakeFiles/exiv2lib.dir/pgfimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/pgfimage.cpp.o -c /home/gilles/Devel/exiv2/src/pgfimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 32%] Building CXX object src/CMakeFiles/exiv2lib.dir/preview.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/preview.cpp.o -c /home/gilles/Devel/exiv2/src/preview.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 31
[ 33%] Building CXX object src/CMakeFiles/exiv2lib.dir/properties.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/properties.cpp.o -c /home/gilles/Devel/exiv2/src/properties.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 32
[ 34%] Building CXX object src/CMakeFiles/exiv2lib.dir/psdimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/psdimage.cpp.o -c /home/gilles/Devel/exiv2/src/psdimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 34%] Building CXX object src/CMakeFiles/exiv2lib.dir/quicktimevideo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/quicktimevideo.cpp.o -c /home/gilles/Devel/exiv2/src/quicktimevideo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 33
[ 35%] Building CXX object src/CMakeFiles/exiv2lib.dir/rafimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/rafimage.cpp.o -c /home/gilles/Devel/exiv2/src/rafimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 34
[ 36%] Building CXX object src/CMakeFiles/exiv2lib.dir/riffvideo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/riffvideo.cpp.o -c /home/gilles/Devel/exiv2/src/riffvideo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 36%] Building CXX object src/CMakeFiles/exiv2lib.dir/rw2image.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/rw2image.cpp.o -c /home/gilles/Devel/exiv2/src/rw2image.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 35
[ 37%] Building CXX object src/CMakeFiles/exiv2lib.dir/samsungmn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/samsungmn.cpp.o -c /home/gilles/Devel/exiv2/src/samsungmn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 36
[ 38%] Building CXX object src/CMakeFiles/exiv2lib.dir/sigmamn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/sigmamn.cpp.o -c /home/gilles/Devel/exiv2/src/sigmamn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 38%] Building CXX object src/CMakeFiles/exiv2lib.dir/sonymn.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/sonymn.cpp.o -c /home/gilles/Devel/exiv2/src/sonymn.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 37
[ 39%] Building CXX object src/CMakeFiles/exiv2lib.dir/tags.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/tags.cpp.o -c /home/gilles/Devel/exiv2/src/tags.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 38
[ 40%] Building CXX object src/CMakeFiles/exiv2lib.dir/tgaimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/tgaimage.cpp.o -c /home/gilles/Devel/exiv2/src/tgaimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 40%] Building CXX object src/CMakeFiles/exiv2lib.dir/tiffcomposite.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/tiffcomposite.cpp.o -c /home/gilles/Devel/exiv2/src/tiffcomposite.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 39
[ 41%] Building CXX object src/CMakeFiles/exiv2lib.dir/tiffimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/tiffimage.cpp.o -c /home/gilles/Devel/exiv2/src/tiffimage.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 40
[ 42%] Building CXX object src/CMakeFiles/exiv2lib.dir/tiffvisitor.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/tiffvisitor.cpp.o -c /home/gilles/Devel/exiv2/src/tiffvisitor.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 42%] Building CXX object src/CMakeFiles/exiv2lib.dir/types.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/types.cpp.o -c /home/gilles/Devel/exiv2/src/types.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 41
[ 43%] Building CXX object src/CMakeFiles/exiv2lib.dir/utilsvideo.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/utilsvideo.cpp.o -c /home/gilles/Devel/exiv2/src/utilsvideo.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 43%] Building CXX object src/CMakeFiles/exiv2lib.dir/value.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/value.cpp.o -c /home/gilles/Devel/exiv2/src/value.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 42
[ 44%] Building CXX object src/CMakeFiles/exiv2lib.dir/version.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/version.cpp.o -c /home/gilles/Devel/exiv2/src/version.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 43
[ 45%] Building CXX object src/CMakeFiles/exiv2lib.dir/xmp.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/xmp.cpp.o -c /home/gilles/Devel/exiv2/src/xmp.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 45%] Building CXX object src/CMakeFiles/exiv2lib.dir/xmpsidecar.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/xmpsidecar.cpp.o -c /home/gilles/Devel/exiv2/src/xmpsidecar.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 44
[ 46%] Building CXX object src/CMakeFiles/exiv2lib.dir/ssh.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/ssh.cpp.o -c /home/gilles/Devel/exiv2/src/ssh.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles 45
[ 47%] Building CXX object src/CMakeFiles/exiv2lib.dir/pngchunk.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/pngchunk.cpp.o -c /home/gilles/Devel/exiv2/src/pngchunk.cpp
/usr/bin/cmake -E cmake_progress_report /home/gilles/Devel/exiv2/build.cmake/CMakeFiles
[ 47%] Building CXX object src/CMakeFiles/exiv2lib.dir/pngimage.cpp.o
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/c++ -DEXV_BUILDING_LIB -DEXV_HAVE_DLL -DEXV_HAVE_STDINT_H -DEXV_LOCALEDIR=\"/usr/share/locale\" -fPIC -I/home/gilles/Devel/exiv2/src -I/home/gilles/Devel/exiv2/include -I/home/gilles/Devel/exiv2/include/exiv2 -I/home/gilles/Devel/exiv2/build.cmake -I/home/gilles/Devel/exiv2/xmpsdk/include -I/home/gilles/Devel/exiv2/build.cmake/src -o CMakeFiles/exiv2lib.dir/pngimage.cpp.o -c /home/gilles/Devel/exiv2/src/pngimage.cpp
Linking CXX shared library libexiv2.so

==> as i can see, there is no visibility option passed to compiler...

Gilles

#6 Updated by Gilles Caulier over 1 year ago

A quick hack to add visibility compiler options can be done as below :

Index: config/CMakeChecks.txt ===================================================================
--- config/CMakeChecks.txt (revision 3973)
+++ config/CMakeChecks.txt (working copy)
@ -36,7 +36,16 @
INCLUDE
INCLUDE
INCLUDE
+INCLUDE

IF

+ IF ( NOT WIN32 )
+ add_definitions( -fvisibility=hidden -fvisibility-inlines-hidden )
+ ENDIF

+ENDIF

INCLUDE

SET( STDC_HEADERS ON )

This introduce severe problems about exported symbols from library (which compile fine) with CLI tools...

Linking CXX executable ../bin/conntest
cd /home/gilles/Devel/exiv2/build.cmake/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/conntest.dir/link.txt --verbose=0
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `httpcon(std::string const&, bool)':
conntest.cpp:(.text+0x5c): undefined reference to `Exiv2::Uri::Parse(std::string const&)'
conntest.cpp:(.text+0x6b): undefined reference to `Exiv2::Uri::Decode(Exiv2::Uri&)'
conntest.cpp:(.text+0x22a): undefined reference to `Exiv2::http(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >&, std::string&)'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `curlcon(std::string const&, bool)':
conntest.cpp:(.text+0x439): undefined reference to `Exiv2::getEnv(Exiv2::EnVar)'
conntest.cpp:(.text+0x4c3): undefined reference to `Exiv2::curlWriter(char*, unsigned long, unsigned long, std::string*)'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `sshcon(std::string const&)':
conntest.cpp:(.text+0x708): undefined reference to `Exiv2::Uri::Parse(std::string const&)'
conntest.cpp:(.text+0x717): undefined reference to `Exiv2::Uri::Decode(Exiv2::Uri&)'
conntest.cpp:(.text+0x7da): undefined reference to `Exiv2::SSH::SSH'
conntest.cpp:(.text+0x866): undefined reference to `Exiv2::SSH::runCommand(std::string const&, std::string*)'
conntest.cpp:(.text+0x917): undefined reference to `Exiv2::SSH::~SSH'
conntest.cpp:(.text+0x971): undefined reference to `Exiv2::SSH::~SSH'
conntest.cpp:(.text+0x9fd): undefined reference to `Exiv2::SSH::~SSH'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `sftpcon(std::string const&)':
conntest.cpp:(.text+0xa64): undefined reference to `Exiv2::Uri::Parse(std::string const&)'
conntest.cpp:(.text+0xa70): undefined reference to `Exiv2::Uri::Decode(Exiv2::Uri&)'
conntest.cpp:(.text+0xb24): undefined reference to `Exiv2::SSH::SSH'
conntest.cpp:(.text+0xb4a): undefined reference to `Exiv2::SSH::getFileSftp(std::string const&, sftp_file_struct*&)'
conntest.cpp:(.text+0xb9f): undefined reference to `Exiv2::SSH::~SSH'
conntest.cpp:(.text+0xbf0): undefined reference to `Exiv2::SSH::~SSH'
conntest.cpp:(.text+0xc14): undefined reference to `Exiv2::SSH::~SSH'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `main':
conntest.cpp:(.text+0xcea): undefined reference to `Exiv2::fileProtocol(std::string const&)'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o:(.gcc_except_table+0x200): undefined reference to `typeinfo for Exiv2::AnyError'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::AnyError::AnyError()':
conntest.cpp:(.text._ZN5Exiv28AnyErrorC2Ev[_ZN5Exiv28AnyErrorC5Ev]+0x1f): undefined reference to `vtable for Exiv2::AnyError'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [7], int>(int, char const (&) [7], int const&)':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA7_ciEEiRKT_RKT0_[_ZN5Exiv210BasicErrorIcEC5IA7_ciEEiRKT_RKT0_]+0x9a): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA7_ciEEiRKT_RKT0_[_ZN5Exiv210BasicErrorIcEC5IA7_ciEEiRKT_RKT0_]+0xff): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::~BasicError()':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcED2Ev[_ZN5Exiv210BasicErrorIcED5Ev]+0x62): undefined reference to `Exiv2::AnyError::~AnyError()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcED2Ev[_ZN5Exiv210BasicErrorIcED5Ev]+0xd7): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [23]>(int, char const (&) [23])':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA23_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA23_cEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA23_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA23_cEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [59]>(int, char const (&) [59])':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA59_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA59_cEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA59_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA59_cEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char const*>(int, char const* const&)':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IPKcEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IPKcEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IPKcEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IPKcEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [7], long>(int, char const (&) [7], long const&)':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA7_clEEiRKT_RKT0_[_ZN5Exiv210BasicErrorIcEC5IA7_clEEiRKT_RKT0_]+0x9a): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA7_clEEiRKT_RKT0_[_ZN5Exiv210BasicErrorIcEC5IA7_clEEiRKT_RKT0_]+0xff): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [27]>(int, char const (&) [27])':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA27_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA27_cEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA27_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA27_cEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [28]>(int, char const (&) [28])':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA28_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA28_cEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA28_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA28_cEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o: In function `Exiv2::BasicError<char>::BasicError<char [24]>(int, char const (&) [24])':
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA24_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA24_cEEiRKT_]+0x8f): undefined reference to `Exiv2::BasicError<char>::setMsg()'
conntest.cpp:(.text._ZN5Exiv210BasicErrorIcEC2IA24_cEEiRKT_[_ZN5Exiv210BasicErrorIcEC5IA24_cEEiRKT_]+0xf4): undefined reference to `Exiv2::AnyError::~AnyError()'
CMakeFiles/conntest.dir/__/samples/conntest.cpp.o:(.rodata._ZTIN5Exiv210BasicErrorIcEE[_ZTIN5Exiv210BasicErrorIcEE]+0x10): undefined reference to `typeinfo for Exiv2::AnyError'
collect2: error: ld returned 1 exit status
src/CMakeFiles/conntest.dir/build.make:88: recipe for target 'bin/conntest' failed
make2: * [bin/conntest] Error 1
make2: Leaving directory '/home/gilles/Devel/exiv2/build.cmake'
CMakeFiles/Makefile2:348: recipe for target 'src/CMakeFiles/conntest.dir/all' failed
make1:
[src/CMakeFiles/conntest.dir/all] Error 2
make1: Leaving directory '/home/gilles/Devel/exiv2/build.cmake'
Makefile:117: recipe for target 'all' failed
make: *
* [all] Error 2

After to see in-deep into the library source code, i see that cmake become a mess...

Also configurations about visibility is dispatched into 3 files. Serious !!!

config.h.in // automake file that it will set at configure time
config.h.cmake // cmake file that it will set at configure time
exv_conf.h // ???

How it can be maintained as well...

I'm sure that i don't do it few years ago when i port Exiv2 to Cmake. I'm sure that visibility work fine with Cmake.

My recommendation is : if Cmake will not be maintained well in parallel than automake/autoconf, and i can understand this as i maintain a lots of opensource code since a while, included shared libs, well drop it. Do not lets the library in this situation.

Also Cmake is not adapted to port Exiv2 under Windows as i can see. A lots of VC++ projects exists, where typically Cmake can replace it as well in all situations. I do it with all my projects for Unix, OSX and Windows, and it's not small libs/implementations as Exiv2.

I prefer to see a library well maintained using a single compilation frameworks as automake instead an unstable stage.

But it's just my poor viewpoint/experience. I let's you to decide. In all case, my time to maintain the CMake code is not enough...

#7 Updated by Robin Mills over 1 year ago

Gilles:
Can you try your add_definitions( -fvisibility=hidden -fvisibility-inlines-hidden ) code in exiv2/xmpsdk/CMakeLists.txt please?

#8 Updated by Gilles Caulier over 1 year ago

Patching config/CMakeChecks.txt add visibility to whole project... No need to patch XMP stuff.

#9 Updated by Robin Mills over 1 year ago

Well, I tried this and it links and passes the test suite on the Mac.

777 rmills@rmillsmbp:~/gnu/exiv2/trunk $ svn diff
Index: xmpsdk/CMakeLists.txt
===================================================================
--- xmpsdk/CMakeLists.txt    (revision 3974)
+++ xmpsdk/CMakeLists.txt    (working copy)
@@ -28,5 +28,9 @@
     INSTALL(TARGETS xmp ${INSTALL_TARGET_STANDARD_ARGS} )
 ENDIF()

+if(NOT MSVC)
+    add_definitions( -fvisibility=hidden -fvisibility-inlines-hidden )
+endif()
+
 # That's all Folks!
 ##
778 rmills@rmillsmbp:~/gnu/exiv2/trunk $ 
The Clang linker produced 400 warnings like this:
ld: warning: direct access in XMPUtils::DuplicateSubtree(XMPMeta const&, XMPMeta*, char const*, char const*, char const*, char const*, unsigned long) to global weak symbol typeinfo for XMP_Error means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
I suspect there's a switch to calm his fears.

#10 Updated by Robin Mills over 1 year ago

Gilles

I share your concerns about our build environment. I have put effort into trying to get CMake/Visual Studio to work. For the moment, I consider our build environments to be:

1 autotools/autoconf for *nix systems (Mac, Linux, Cygwin, MinGW)
2 msvc2005 for Visual Studio 2005/8/10/12/13/15

Our build server uses these to build and run the test suite on every submission to trunk and selected branches.

We should have one build environment that works for everybody. However, I have been unable to achieve this. I wish somebody would take on the challenge of CMake/Visual Studio. I will help them, encourage them and CHEER when they succeed.

#11 Updated by Gilles Caulier over 1 year ago

Well, you must to be clear everywhere.

Annotate that CMake still experimental/incomplete/bugous and that only automake/autoconf must be used under Unix for production purpose...

#12 Updated by Robin Mills over 1 year ago

The File README-CMAKE is quite explicit:

-------------------------------------------------------------------------------
NOTE: 

* CMake scripts are "work in progress".
  Use them only if you're prepared to fix them.
  See TODO-CMAKE for known pending tasks. 

* The existing automake (./configure), msvc2003 and msvc2005 build files will continue
  to be supported by exiv2 until at least v0.26.
  We will flag them as "deprecated" for at least one release cycle (about 12 months).
  Our plan is to only support CMake when our scripts are feature-complete, stable and documented.

  All help is appreciated.  If you know and understand CMake (especially with Visual Studio)
  please consider contributing your time and skill to help Exiv2 and CMake work well together.

Robin Mills
robin@clanmills.com
2015-02-23
Now here are the issues with CMake/Visual Studio:

1 It cannot build curl
2 It cannot build openssl
3 It cannot build expat (without a change to expat's CMakeLists.txt)
4 There are many things about the generated project files which are not "the windows way". For example, CMake cannot generate a project file in which x86/x64 are build options. I don't think Visual Studio users will like the project files.

Our msvc2005 build environment works well on all versions of Visual Studio 2005 and up. We have a distinct environment for msvc2003.

If Andreas agrees, we can announce with v0.26 that autotools (and msvc2003) will no longer be supported from v0.27 forward. I'll be happy to adopt CMake as our default build environment on the build server (for Mac/Linux/Cygwin/MinGW with GCC or Clang). However msvc2005 will remain our supported build environment for Visual Studio.

If a volunteer arrives to fix and support CMake/Visual Studio, we can consider deprecating msvc2005. However while CMake appears unable to build dependent libraries, we must keep msvc2005 for Visual Studio.

I had a very nice conversation last week on #1041 with Emmanuel d'Angelo and T Modes. They are both optimistic of success. I have added them (and Daniel) as watchers to this thread.

Please understand that I support the aim that CMake will be our primary build environment. I have been unable to find a reliable working solution.

#13 Updated by Robin Mills over 1 year ago

I've just discovered that CMake cannot build libssh either.

C:\cygwin64\home\rmills\gnu\libssh\build>cm 2005 64 ..\libssh-0.5.5
cmake CMakeLists.txt -G "Visual Studio 8 2005 Win64"  ..\libssh-0.5.5
-- The C compiler identification is MSVC 14.0.50727
-- Check for working C compiler using: Visual Studio 8 2005 Win64
-- Check for working C compiler using: Visual Studio 8 2005 Win64 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY)
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindZLIB.cmake:111 (find_package_handle_standard_args)
  CMakeLists.txt:48 (find_package)
-- Configuring incomplete, errors occurred!
See also "C:/cygwin64/home/rmills/gnu/libssh/build/CMakeFiles/CMakeOutput.log".
Ah, well of course, we don't have zlib. But we have. I generated the projects with zlib-1.2.8 and they build OK and installed correctly:
 Directory of C:\Program Files\zlib\lib

10/03/2015  07:36 PM    <DIR>          .
10/03/2015  07:36 PM    <DIR>          ..
09/26/2015  07:19 PM            14,392 zlib.lib
10/03/2015  07:36 PM            14,886 zlibd.lib
09/26/2015  07:19 PM           170,636 zlibstatic.lib
10/03/2015  07:36 PM           273,878 zlibstaticd.lib
Presumably, FindZLIB.cmake doesn't know where Visual Studio installed zlib. And please notice that 32 bit libraries would overwrite 64 bit libraries. And probably static/shared debug/release.

Is this an unfixable issue? Of course not. We have to wait for CMake/Visual Studio to get to "production strength" before we can adopt this as our primary build platform.

#14 Updated by Robin Mills over 1 year ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100
  • Estimated time set to 3.00

Fix submitted r3975 to set the compiler flags -fvisibility=hidden -fvisibility-inlines-hidden for CMake using GCC or Clang. Not set for Clang on Mac as this causes linker warnings.

Successfully built and passed the test suite on the build server: http://exiv2.dyndns.org:8080/job/Exiv2-trunk/2174/ I've also successfully built/tested manually with CMake on Mac (AppleClang) /Linux (GCC and Clang) /Cygwin (GCC)

If we wish to continue the discussion about CMake/Visual Studio, lets continue in #1041.

#15 Updated by Gilles Caulier over 1 year ago

Just to confirm : Exiv2 0.25, compiled with automake => digiKam do not crash. So it's really a problem with cmake, not automake from Exiv2 side.

I can check with current implementation from svn/trunk if somebody can explain how to create configure script with autoconf. It's not explained in Exiv2 readme.

#16 Updated by Robin Mills over 1 year ago

Gilles

Can you try CMake/trunk please? I submitted a change r3975 which might fix things.

If CMake/trunk is still not right, you can use:

  $ cd <exiv2dir>  
  $ make config             # generate the configure script with autoconf
  $ ./configure             # configure for your system
  $ make -j                 # make
  $ sudo make install 
  $ make -j samples         # make the sample applications
  $ make tests              # run the test suite

The build procedure is documented in README:

Building and Installing
=======================

You can build the libraries in the following ways:

1 UNIX-like systems (including GNU/Linux, Mac OS X, Cygwin, MinGW)
  - general notes follow
  - FAQ concerning Cygwin/MSYS and Mac OS X:
    http://dev.exiv2.org/projects/exiv2/wiki/FAQ

2 Microsoft Visual C++
  - see msvc2003/ReadMe.txt      (32bit build           Visual Studio/2003,2005,2008)
  - see msvc2005/ReadMe.txt      (32bit and 64bit build Visual Studio/     2005,2008,2010,2012,2013,2015)

3 CMake (experimental support for cmake on all platforms)
  - see README-CMAKE for more information

To build a commercial version of the Exiv2 library, see also section
"Commercial version" at the end of this file.

On UNIX-like systems, use the GNU configure script. Run the following
commands from the top directory (containing this file) to configure,
build and install the library and utility:

    $ ./configure
    $ make
    $ sudo make install

If you downloaded the source code from the subversion repository, you
won't have a configure script. Run 'make config' to generate it and see
the section "Hacking" below.

The default install locations are /usr/local/lib for the library,
/usr/local/bin for the exiv2 utility and /usr/local/include/exiv2 for the
header files. Use the --prefix=directory option of the configure script to
change the default. Run './configure --help' to see a list of all options.

To uninstall Exiv2 from a UNIX-like system, run:

    $ make uninstall
And there are notes on the Wiki: http://dev.exiv2.org/projects/exiv2/wiki/How_do_I_build_Exiv2_on_the_XYZ_platform

#17 Updated by Gilles Caulier over 1 year ago

Bad new...

Exiv2 from svn trunk, compiled with automake/autoconf crash digiKam at startup, with exactly the same backtrace than before.

Note that Exiv2 0.25 offcial tarball, compiled in same condition do not crash digiKam.

So, something weird have been introduced in current implementation...

#18 Updated by Robin Mills over 1 year ago

Gilles

Thanks for the update. There are only 61 submissions since v0.25 and that 24 concerning #1111 which is the makeover for exiv2.org

So only 37 builds to be dissected. 2**6 = 64. We should be able to divide/conquer in 6 builds. I can easily do the builds, however I don't have all the stuff you're using. I can build every version of the library since v0.25 and put them in a big ZIP for you to test. Or you can build them individually. Let me know.

#19 Updated by Gilles Caulier over 1 year ago

I can process to build Exiv2 for specific subversion version and try.

Ideally, as usual, dichotomy will be the best.

Can you indicate me which lead revisions to start regression tests ?

#20 Updated by Robin Mills over 1 year ago

Thanks, Gilles. I was hoping you'd take this on. v0.25 was tagged at r3871 and we're now at r3976. Not every submission is to the trunk of course, and there are quite a lot of website changes that can't be involved. However, the usual binary-search (start in the middle and dissect) is the quickest way to find this mysterious miserable monster.

#21 Updated by Gilles Caulier over 1 year ago

False error...

After investigating, i seen that i mixed install of libexiv2 from /usr/lib and /usr/local/lib.

The current implementation, compiled through automake/autoconf do not crash digiKam as expected.

#22 Updated by Robin Mills over 1 year ago

Thanks for the update. I'm glad this has been dealt with.

We've covered some interesting ground here. I think we should adopt CMake as our "preferred" build platform for *nix systems when we ship v0.26. And I think I'll switch the buildServer to build by default using CMake for *nix. Visual Studio/msvc2005 stays until somebody convinces me that Visual Studio/CMake works.

#23 Updated by Robin Mills over 1 year ago

Gilles:

You've been successful with the autotools (./configure). Can you confirm that CMake is also working correctly?

#24 Updated by Gilles Caulier over 1 year ago

I just tested with current implementation and cmake. Work perfectly now with digiKam. No crash

Gilles

#25 Updated by Robin Mills over 1 year ago

Very pleased to hear this, Gilles. Thanks for the update.

I've been speaking today to Daniel and he's reporting great success with CMake/Visual Studio. Maybe we'll get this resolved for you.

#26 Updated by Robin Mills over 1 year ago

  • Status changed from Resolved to Closed

I'm going to close this issue.

Very pleased to let you know that CMake/Visual Studio is now working well (#1041).

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux