Build issue: FTBFS osstw / exiv2-0.28.0 #3

Closed
opened 10 months ago by Francois · 6 comments
Collaborator

Basic information

  • TDE version: 14.1.0
  • Distribution: openSuse TW
  • Hardware: amd64

Description

opensuse TW has updated the exiv2 library to 0.28.0.
Now libkexiv2 fails to build.

Steps to reproduce

Build

Screenshots

FTBFS backtrace
[ 33%] Building CXX object libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o
cd /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build/libkexiv2/libkexiv2 && /usr/bin/c++ -DHAVE_CONFIG_H -Dkexiv2_shared_EXPORTS -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build/libkexiv2/libkexiv2 -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2 -I/opt/trinity/include/tde -I/usr/include/tqt3 -I/usr/include/tqt -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fdebug-prefix-map=/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0=. -fmacro-prefix-map=/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0=. -fvisibility=hidden -fvisibility-inlines-hidden  -DTQT_NO_ASCII_CAST -DTQT_NO_STL -DTQT_NO_COMPAT -DTQT_NO_TRANSLATION -DTQT_THREAD_SUPPORT -D_REENTRANT -I/usr/include/tqt3 -I/usr/include/tqt -include tqt.h -DTQT_NO_ASCII_CAST -DTQT_NO_STL -DTQT_NO_COMPAT -DTQT_NO_TRANSLATION -DTQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -DNDEBUG -fPIC -MD -MT libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o -MF CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o.d -o CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o -c /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQByteArray KExiv2Iface::KExiv2::getIptc(bool) const':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:237:33: error: 'struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'?
  237 |             TQByteArray data(c2.size_);
      |                                 ^~~~~
      |                                 size
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:239:40: error: 'std::vector<unsigned char> Exiv2::DataBuf::pData_' is private within this context
  239 |                 memcpy(data.data(), c2.pData_, c2.size_);
      |                                        ^~~~~~
In file included from /usr/include/exiv2/basicio.hpp:11,
                 from /usr/include/exiv2/exiv2.hpp:8,
                 from /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2private.h:62,
                 from /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:49:
/usr/include/exiv2/types.hpp:201:21: note: declared private here
  201 |   std::vector<byte> pData_;
      |                     ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:239:51: error: 'struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'?
  239 |                 memcpy(data.data(), c2.pData_, c2.size_);
      |                                                   ^~~~~
      |                                                   size
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::load(const TQByteArray&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:324:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  324 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((Exiv2::byte*)imgData.data(), imgData.size());
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:326:9: error: 'image' was not declared in this scope; did you mean 'QImage'?
  326 |         image->readMetadata();
      |         ^~~~~
      |         QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'virtual bool KExiv2Iface::KExiv2::load(const TQString&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:362:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  362 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*)
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:365:9: error: 'image' was not declared in this scope; did you mean 'QImage'?
  365 |         image->readMetadata();
      |         ^~~~~
      |         QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::save(const TQString&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:421:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  421 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*)
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:426:9: error: 'image' was not declared in this scope; did you mean 'QImage'?
  426 |         image->readMetadata();
      |         ^~~~~
      |         QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteComment(const TQString&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:535:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  535 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*)
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:538:34: error: 'image' was not declared in this scope; did you mean 'QImage'?
  538 |         Exiv2::AccessMode mode = image->checkMode(Exiv2::mdComment);
      |                                  ^~~~~
      |                                  QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteExif(const TQString&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:554:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  554 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*)
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:557:34: error: 'image' was not declared in this scope; did you mean 'QImage'?
  557 |         Exiv2::AccessMode mode = image->checkMode(Exiv2::mdExif);
      |                                  ^~~~~
      |                                  QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteIptc(const TQString&)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:573:23: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  573 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*)
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:576:34: error: 'image' was not declared in this scope; did you mean 'QImage'?
  576 |         Exiv2::AccessMode mode = image->checkMode(Exiv2::mdIptc);
      |                                  ^~~~~
      |                                  QImage
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQSize KExiv2Iface::KExiv2::getImageDimensions() const':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:648:25: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  648 |             width = it->toLong();
      |                         ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:654:27: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  654 |             height = it2->toLong();
      |                           ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:668:26: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  668 |             width = it3->toLong();
      |                          ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:674:27: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  674 |             height = it4->toLong();
      |                           ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQImage KExiv2Iface::KExiv2::getExifThumbnail(bool) const':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:724:35: error: 'std::vector<unsigned char> Exiv2::DataBuf::pData_' is private within this context
  724 |         thumbnail.loadFromData(c1.pData_, c1.size_);
      |                                   ^~~~~~
/usr/include/exiv2/types.hpp:201:21: note: declared private here
  201 |   std::vector<byte> pData_;
      |                     ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:724:46: error: 'const struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'?
  724 |         thumbnail.loadFromData(c1.pData_, c1.size_);
      |                                              ^~~~~
      |                                              size
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:736:44: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  736 |                     long orientation = it->toLong();
      |                                            ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'KExiv2Iface::KExiv2::ImageOrientation KExiv2Iface::KExiv2::getImageOrientation() const':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:860:35: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  860 |                 orientation = it->toLong();
      |                                   ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:879:35: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  879 |                 orientation = it->toLong();
      |                                   ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:901:31: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
  901 |             orientation = it->toLong();
      |                               ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::getExifTagLong(const char*, long int&) const':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1379:23: error: 'class Exiv2::Exifdatum' has no member named 'toLong'
 1379 |             val = it->toLong();
      |                       ^~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setGPSInfo(double, double, double, bool)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1915:23: error: 'AutoPtr' is not a member of 'Exiv2::Value'
 1915 |         Exiv2::Value::AutoPtr value = Exiv2::Value::create(Exiv2::unsignedByte);
      |                       ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1916:9: error: 'value' was not declared in this scope
 1916 |         value->read("2 0 0 0");
      |         ^~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageKeywords(const TQStringList&, const TQStringList&, bool)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2183:27: error: 'AutoPtr' is not a member of 'Exiv2::Value'
 2183 |             Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string);
      |                           ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2184:13: error: 'val' was not declared in this scope
 2184 |             val->read(key.latin1());
      |             ^~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageSubjects(const TQStringList&, const TQStringList&, bool)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2266:27: error: 'AutoPtr' is not a member of 'Exiv2::Value'
 2266 |             Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string);
      |                           ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2267:13: error: 'val' was not declared in this scope
 2267 |             val->read(key.latin1());
      |             ^~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageSubCategories(const TQStringList&, const TQStringList&, bool)':
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2350:27: error: 'AutoPtr' is not a member of 'Exiv2::Value'
 2350 |             Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string);
      |                           ^~~~~~~
/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2351:13: error: 'val' was not declared in this scope
 2351 |             val->read(key.latin1());
      |             ^~~
make[3]: *** [libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/build.make:79: libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o] Error 1
make[3]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build'
make[2]: *** [CMakeFiles/Makefile2:116: libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/all] Error 2
make[2]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build'
<!-- This is a comment. Please fill in the required fields below. The comments provide instructions on how to do so. Note: You do not need to remove comments. --> ## Basic information - TDE version: 14.1.0 - Distribution: openSuse TW - Hardware: amd64 <!-- Use SL/* labels to set the severity level. Please do not set a milestone. --> ## Description opensuse TW has updated the exiv2 library to 0.28.0. Now libkexiv2 fails to build. ## Steps to reproduce Build ## Screenshots <details> <summary>FTBFS backtrace</summary> ``` [ 33%] Building CXX object libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o cd /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build/libkexiv2/libkexiv2 && /usr/bin/c++ -DHAVE_CONFIG_H -Dkexiv2_shared_EXPORTS -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build/libkexiv2/libkexiv2 -I/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2 -I/opt/trinity/include/tde -I/usr/include/tqt3 -I/usr/include/tqt -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fdebug-prefix-map=/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0=. -fmacro-prefix-map=/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0=. -fvisibility=hidden -fvisibility-inlines-hidden -DTQT_NO_ASCII_CAST -DTQT_NO_STL -DTQT_NO_COMPAT -DTQT_NO_TRANSLATION -DTQT_THREAD_SUPPORT -D_REENTRANT -I/usr/include/tqt3 -I/usr/include/tqt -include tqt.h -DTQT_NO_ASCII_CAST -DTQT_NO_STL -DTQT_NO_COMPAT -DTQT_NO_TRANSLATION -DTQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -DNDEBUG -fPIC -MD -MT libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o -MF CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o.d -o CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o -c /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQByteArray KExiv2Iface::KExiv2::getIptc(bool) const': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:237:33: error: 'struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'? 237 | TQByteArray data(c2.size_); | ^~~~~ | size /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:239:40: error: 'std::vector<unsigned char> Exiv2::DataBuf::pData_' is private within this context 239 | memcpy(data.data(), c2.pData_, c2.size_); | ^~~~~~ In file included from /usr/include/exiv2/basicio.hpp:11, from /usr/include/exiv2/exiv2.hpp:8, from /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2private.h:62, from /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:49: /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector<byte> pData_; | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:239:51: error: 'struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'? 239 | memcpy(data.data(), c2.pData_, c2.size_); | ^~~~~ | size /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::load(const TQByteArray&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:324:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 324 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((Exiv2::byte*)imgData.data(), imgData.size()); | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:326:9: error: 'image' was not declared in this scope; did you mean 'QImage'? 326 | image->readMetadata(); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'virtual bool KExiv2Iface::KExiv2::load(const TQString&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:362:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 362 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*) | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:365:9: error: 'image' was not declared in this scope; did you mean 'QImage'? 365 | image->readMetadata(); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::save(const TQString&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:421:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 421 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*) | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:426:9: error: 'image' was not declared in this scope; did you mean 'QImage'? 426 | image->readMetadata(); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteComment(const TQString&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:535:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 535 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*) | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:538:34: error: 'image' was not declared in this scope; did you mean 'QImage'? 538 | Exiv2::AccessMode mode = image->checkMode(Exiv2::mdComment); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteExif(const TQString&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:554:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 554 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*) | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:557:34: error: 'image' was not declared in this scope; did you mean 'QImage'? 557 | Exiv2::AccessMode mode = image->checkMode(Exiv2::mdExif); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In static member function 'static bool KExiv2Iface::KExiv2::canWriteIptc(const TQString&)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:573:23: error: 'AutoPtr' is not a member of 'Exiv2::Image' 573 | Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((const char*) | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:576:34: error: 'image' was not declared in this scope; did you mean 'QImage'? 576 | Exiv2::AccessMode mode = image->checkMode(Exiv2::mdIptc); | ^~~~~ | QImage /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQSize KExiv2Iface::KExiv2::getImageDimensions() const': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:648:25: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 648 | width = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:654:27: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 654 | height = it2->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:668:26: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 668 | width = it3->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:674:27: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 674 | height = it4->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'TQImage KExiv2Iface::KExiv2::getExifThumbnail(bool) const': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:724:35: error: 'std::vector<unsigned char> Exiv2::DataBuf::pData_' is private within this context 724 | thumbnail.loadFromData(c1.pData_, c1.size_); | ^~~~~~ /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector<byte> pData_; | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:724:46: error: 'const struct Exiv2::DataBuf' has no member named 'size_'; did you mean 'size'? 724 | thumbnail.loadFromData(c1.pData_, c1.size_); | ^~~~~ | size /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:736:44: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 736 | long orientation = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'KExiv2Iface::KExiv2::ImageOrientation KExiv2Iface::KExiv2::getImageOrientation() const': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:860:35: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 860 | orientation = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:879:35: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 879 | orientation = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:901:31: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 901 | orientation = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::getExifTagLong(const char*, long int&) const': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1379:23: error: 'class Exiv2::Exifdatum' has no member named 'toLong' 1379 | val = it->toLong(); | ^~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setGPSInfo(double, double, double, bool)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1915:23: error: 'AutoPtr' is not a member of 'Exiv2::Value' 1915 | Exiv2::Value::AutoPtr value = Exiv2::Value::create(Exiv2::unsignedByte); | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:1916:9: error: 'value' was not declared in this scope 1916 | value->read("2 0 0 0"); | ^~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageKeywords(const TQStringList&, const TQStringList&, bool)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2183:27: error: 'AutoPtr' is not a member of 'Exiv2::Value' 2183 | Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string); | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2184:13: error: 'val' was not declared in this scope 2184 | val->read(key.latin1()); | ^~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageSubjects(const TQStringList&, const TQStringList&, bool)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2266:27: error: 'AutoPtr' is not a member of 'Exiv2::Value' 2266 | Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string); | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2267:13: error: 'val' was not declared in this scope 2267 | val->read(key.latin1()); | ^~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp: In member function 'bool KExiv2Iface::KExiv2::setImageSubCategories(const TQStringList&, const TQStringList&, bool)': /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2350:27: error: 'AutoPtr' is not a member of 'Exiv2::Value' 2350 | Exiv2::Value::AutoPtr val = Exiv2::Value::create(Exiv2::string); | ^~~~~~~ /tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/libkexiv2/libkexiv2/kexiv2.cpp:2351:13: error: 'val' was not declared in this scope 2351 | val->read(key.latin1()); | ^~~ make[3]: *** [libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/build.make:79: libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/kexiv2.cpp.o] Error 1 make[3]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build' make[2]: *** [CMakeFiles/Makefile2:116: libkexiv2/libkexiv2/CMakeFiles/kexiv2-shared.dir/all] Error 2 make[2]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build' make[1]: *** [Makefile:139: all] Error 2 make[1]: Leaving directory '/tmp/BUILD.osstw.x86_64/trinity-libkexiv2-14.1.0/build' ``` </details>
Francois added the SL/major label 10 months ago
Owner

Hi @Francois,
I will need to setup a TW VM or docker image, but I will have a look at some point between now and R14.1.1 release.

Hi @Francois, I will need to setup a TW VM or docker image, but I will have a look at some point between now and R14.1.1 release.
Owner

@Francois
I am able to reproduce the same issue in Debian with libexiv2 0.28 manually installed. Will work on a fix in coming days. Will ask you to test a PR when ready.

@Francois I am able to reproduce the same issue in Debian with libexiv2 0.28 manually installed. Will work on a fix in coming days. Will ask you to test a PR when ready.
Owner

@Francois
can you test PR #4 (two commits) and let me know if you can build in Fedora 38? I am able to successfully build in Debian with libexiv2 0.28.0.

@Francois can you test PR #4 (two commits) and let me know if you can build in Fedora 38? I am able to successfully build in Debian with libexiv2 0.28.0.
MicheleC added this to the R14.1.1 release milestone 8 months ago
Poster
Collaborator

@Francois
can you test PR #4 (two commits) and let me know if you can build in Fedora 38? I am able to successfully build in Debian with libexiv2 0.28.0.

Hello @MicheleC , thanks for the patch.

the initial problem was found in OpenSuse TW, not Fedora 38.
I confirm your patch solves the build issue on OpenSuse TW.
Now it's GwenView that fails to build, but that's another ticket :)

> @Francois > can you test PR #4 (two commits) and let me know if you can build in Fedora 38? I am able to successfully build in Debian with libexiv2 0.28.0. Hello @MicheleC , thanks for the patch. the initial problem was found in OpenSuse TW, not Fedora 38. I confirm your patch solves the build issue on OpenSuse TW. Now it's GwenView that fails to build, but that's another ticket :)
Owner

Hi @Francois, thanks for testing (apologies for mixing OpenSuse and Fedora :-) ). Will merge the patch once @SlavekB approves it, which is likely to be tomorrow. I will also work on the remaining repos needing fixing (like gwenview).

Hi @Francois, thanks for testing (apologies for mixing OpenSuse and Fedora :-) ). Will merge the patch once @SlavekB approves it, which is likely to be tomorrow. I will also work on the remaining repos needing fixing (like gwenview).
Owner

PR #4 merged.

PR #4 merged.
MicheleC closed this issue 8 months ago
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Reference: TDE/libkexiv2#3
Loading…
There is no content yet.