rawstudio / rawstudio

Rawstudio is an open-source program to read and manipulate RAW images from digital cameras.
http://rawstudio.org/
GNU General Public License v2.0
86 stars 21 forks source link

exiv2 0.28.0 breaks current librawstudio #89

Open raw-thorn opened 1 year ago

raw-thorn commented 1 year ago

new version of exiv2 prevents compiling rawstudio

rs-exif.cc: In function 'RS_EXIF_DATA* rs_exif_load_from_file(const gchar*)':
rs-exif.cc:131:31: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  131 |                 Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
      |                               ^~~~~~~
In file included from rs-exif.cc:24:
rs-exif.cc:132:24: error: 'image' was not declared in this scope; did you mean XImage'?
  132 |                 assert(image.get() != 0);
      |                        ^~~~~
rs-exif.cc:139:23: error: 'AnyError' in namespace 'Exiv2' does not name a type
  139 |         catch (Exiv2::AnyError& e)
      |                       ^~~~~~~~
rs-exif.cc: In function 'RS_EXIF_DATA* rs_exif_load_from_rawfile(RAWFILE*)':
rs-exif.cc:154:31: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  154 |                 Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(
      |                               ^~~~~~~
rs-exif.cc:157:24: error: 'image' was not declared in this scope; did you mean XImage'?
  157 |                 assert(image.get() != 0);
      |                        ^~~~~
rs-exif.cc:164:23: error: 'AnyError' in namespace 'Exiv2' does not name a type
  164 |         catch (Exiv2::AnyError& e)
      |                       ^~~~~~~~
rs-exif.cc: In function 'void rs_exif_add_to_file(RS_EXIF_DATA*, Exiv2::IptcData&, const gchar*, RSExifFileType)':
rs-exif.cc:182:31: error: 'AutoPtr' is not a member of 'Exiv2::Image'
  182 |                 Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
      |                               ^~~~~~~
rs-exif.cc:188:17: error: 'image' was not declared in this scope; did you mean XImage'?
  188 |                 image->setXmpData(xmp);
      |                 ^~~~~
      |                 XImage
rs-exif.cc:203:23: error: 'AnyError' in namespace 'Exiv2' does not name a type
  203 |         catch (Exiv2::AnyError& e)
      |                       ^~~~~~~~
rs-exif.cc: In function 'void rs_add_tags_exif(RS_EXIF_DATA*, const gchar*)':
rs-exif.cc:272:23: error: 'AutoPtr' is not a member of 'Exiv2::Value'
  272 |         Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::unsignedByte);
      |                       ^~~~~~~
rs-exif.cc:273:9: error: 'v' was not declared in this scope
  273 |         v->read((const Exiv2::byte*)w, items_written * sizeof(gunichar2), Exiv2::invalidByteOrder);
      |         ^
sergiomb2 commented 1 year ago

Hi, you may try apply this PR https://github.com/sergiomb2/ufraw/issues/12 , let me know if it works

sergiomb2 commented 1 year ago

I'm starting testing this one https://src.fedoraproject.org/rpms/rawstudio/blob/rawhide/f/0001-Fix-build-with-exiv2-0.28.0.patch

raw-thorn commented 11 months ago

It compiled ok with fedora patch. Also it runs ok so far.