exiv2 0.27 breaking API?

search for error: on https://build.opensuse.org/public/build/graphics/openSUSE_Leap_15.0/x86_64/darktable/_log

is this expected @clanmills?

ok the build error was from darktable 2.4.4. we updated the package now to 2.6.0 which has the following patch:

was the API change, which the patch wraps with ERROR_CODE really intentional? do we have documentation about other API changes to help packagers?

I’m happy to help you. I not sure I have understood what is being discussed. When I search the log, I don’t see anything that I recognise or understand.

There could be an API change concerning errors, however I honestly don’t remember.

Exiv2 0.27.0.1 is Release Candidate 1 for Exiv2 0.27.0
The GM release is available from: http://www.exiv2.org/download.html

563 rmills@rmillsmbp:~/temp $ grep -i error: _log  
[ 1192s] error: incorrect format: array iterator used with different sized arrays
[ 1192s] error: incorrect format: array iterator used with different sized arrays
[ 1192s] error: incorrect format: array iterator used with different sized arrays
564 rmills@rmillsmbp:~/temp $ 

as I said … the build errors happened with darktable 2.4.4. I recreated the 2.4.4 build log here: https://files.nordisch.org/darktable/exiv-0.27.txt

was 0.27 supposed to be drop in? or are there known API breakages? where are those API changes documented?

There are changes to some APIs in Exiv2 v0.27. I don’t believe we have a list of these changes. The change log documents the issues and code changes and does not focus on the API.

When you build/link darktable with the exiv2 v0.27 header files, I would expect darktable to build/link/execute without issue.

We are planning a series of ā€œdotā€ releases to Exiv2 v0.27 for the next couple of years. Exiv2 v0.27.1 is scheduled for release on 31 March 2019. If you have a ā€œshow-stopperā€ issue with the Exiv2 v0.27 API, I will investigate restoring anything missing. I expect the Release Candidate of Exiv2 v0.27.1 to available in early March for testing.

1 Like

as you see above darktable 2.4.4 didnt work. 2.6.0 has the required changes. see the github link in the first post.

you can see other issues we saw in opensuse here:

@darix I haven’t understood what’s being discussed here. However, there’s an issue with symbol visibility on Exiv2::BasicError reported this morning exiv2 0.27+ on darwin fails with Exiv2::BasicError<char> error Ā· Issue #644 Ā· Exiv2/exiv2 Ā· GitHub

We believe it’s fixed in ā€˜master’, however we’ll do more investigation to understand both the issue and the fix.

The fix will be in Exiv2 0.27.1 on 2019-03-31 I intend to publish Exiv2 0.27.1 RC1 in early March. Feedback concerning this (and any other matter) is always welcome.

we will retest all the packages that broke with the original 0.27 without the patches.

I might be ā€œon the same pageā€ now. I see an error:

/home/abuild/rpmbuild/BUILD/darktable-2.4.4/src/common/exif.cc:2658:71: error: no matching function for call to 'Exiv2::BasicError<char>::BasicError(int, const char [41])'
       throw Exiv2::Error(1, "[xmp_write] failed to serialize xmp data");

And that’s what’s being reported today in exiv2 0.27+ on darwin fails with Exiv2::BasicError<char> error Ā· Issue #644 Ā· Exiv2/exiv2 Ā· GitHub For which the proposed fix is: https://gitlab.gnome.org/samm-git/gtk-osx/blob/fork-test/patches/exiv2-symbols.patch

The fix is only ā€œproposedā€ at the moment. We hope to resolved this in the next few days.

I’m rather lost here. For sure I looked in the wrong log last week. Although you’re discussing patches, I don’t know to which patches you are referring and you appear to be dealing with RC1 and RC2 which were release candidates.

There is a ā€œhard faultā€ on Exiv2 v0.27.0 GM in regard of Exiv2::BasicError. I expect the fix for this to be in Exiv2 v0.27.1 scheduled for 2019-03-31. The issue is being tracked: exiv2 0.27+ on darwin fails with Exiv2::BasicError<char> error Ā· Issue #644 Ā· Exiv2/exiv2 Ā· GitHub

2 Likes