Compilation errors with exiv2-0.28

Bug #2027823 reported by VinsS
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
py3exiv2
Fix Committed
High
VinsS

Bug Description

Reported by Timo Gurr:

py3exiv2-0.11.0 currently fails to build with exiv2 0.28.0.

Revision history for this message
VinsS (vincent-vandevyvre) wrote :

Seems a change in Exiv2::ErrorCode which is not retrocompatible.

Changed in py3exiv2:
status: New → Confirmed
assignee: nobody → VinsS (vincent-vandevyvre)
importance: Undecided → High
Matěj Cepl (mcepl)
no longer affects: opensuse
Revision history for this message
Matěj Cepl (mcepl) wrote :
Download full text (3.2 KiB)

I have managed to get with the attached patch quite a long, but not all the way. This still remains and I am not sure what to do about it:

[ 11s] gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -fno-semantic-interposition -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -fPIC -I/usr/include/python3.9 -c src/exiv2wrapper.cpp -o build/temp.linux-x86_64-cpython-39/src/exiv2wrapper.o -g -std=c++11
[ 15s] src/exiv2wrapper.cpp: In member function ‘boost::python::list exiv2wrapper::Image::getExifThumbnailData()’:
[ 15s] src/exiv2wrapper.cpp:573:40: error: invalid use of member function ‘size_t Exiv2::DataBuf::size() const’ (did you forget the ‘()’ ?)
[ 15s] 573 | for(unsigned int i = 0; i < buffer.size; ++i)
[ 15s] | ~~~~~~~^~~~
[ 15s] | ()
[ 15s] src/exiv2wrapper.cpp:575:37: error: ‘std::vector<unsigned char> Exiv2::DataBuf::pData_’ is private within this context
[ 15s] 575 | unsigned int datum = buffer.pData_[i];
[ 15s] | ^~~~~~
[ 15s] In file included from /usr/include/exiv2/basicio.hpp:11,
[ 15s] from /usr/include/exiv2/exiv2.hpp:8,
[ 15s] from src/exiv2wrapper.hpp:32,
[ 15s] from src/exiv2wrapper.cpp:27:
[ 15s] /usr/include/exiv2/types.hpp:201:21: note: declared private here
[ 15s] 201 | std::vector<byte> pData_;
[ 15s] | ^~~~~~
[ 15s] src/exiv2wrapper.cpp: In member function ‘const boost::python::list exiv2wrapper::XmpTag::getArrayValue()’:
[ 15s] src/exiv2wrapper.cpp:1142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
[ 15s] 1142 | for(int i = 0; i < xav->count(); ++i)
[ 15s] | ~~^~~~~~~~~~~~~~
[ 15s] src/exiv2wrapper.cpp: In function ‘void exiv2wrapper::translateExiv2Error(const Exiv2::Error&)’:
[ 15s] src/exiv2wrapper.cpp:1276:9: error: duplicate case value
[ 15s] 1276 | case Exiv2::ErrorCode::kerFileOpenFailed:
[ 15s] | ^~~~
[ 15s] src/exiv2wrapper.cpp:1270:9: note: previously used here
[ 15s] 1270 | case Exiv2::ErrorCode::kerFileOpenFailed:
[ 15s] | ^~~~
[ 15s] src/exiv2wrapper.cpp: In function ‘void exiv2wrapper::unregisterXmpNs(const std::string&)’:
[ 15s] src/exiv2wrapper.cpp:1915:37: warning: unused variable ‘info’ [-Wunused-variable]
[ 15s] 1915 | const Exiv2::XmpNsInfo* info = Exiv2::XmpProperties::nsInfo(prefix);
[ 15s] | ^~~~
[ 15s] error: comma...

Read more...

Revision history for this message
VinsS (vincent-vandevyvre) wrote :

There was several errors with libexiv2-0.28 ...

So, I've uploaded py3exiv2-0.12 on the test server of PyPI.

I've tested it with Python-3.9 and 3.10 (not with 3.11) and that's seems OK.

You can test it with:

$ pip install -i https://test.pypi.org/simple/ py3exiv2==0.12.3

If there's no probleme, I'll upload on the regular server of PyPI

Changed in py3exiv2:
status: Confirmed → Fix Committed
Revision history for this message
Matěj Cepl (mcepl) wrote :

yes, I can confirm that with this package I am able to build successfully with exiv 0.28.

Revision history for this message
Timo Gurr (timo-gurr) wrote :

py3exiv2-0.12.0 also built successfully for me with exiv 0.28. Thanks for working on it and uploading a new release on pypi!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.