#18208 closed defect (fixed)
gexiv2 FTBFS with exiv2-0.28 on i686
| Reported by: | Douglas R. Reno | Owned by: | Douglas R. Reno |
|---|---|---|---|
| Priority: | normal | Milestone: | 12.0 |
| Component: | BOOK | Version: | git |
| Severity: | normal | Keywords: | |
| Cc: |
Description
It appears that gexiv2 fails to build on i686 with exiv2-0.28, but works fine on x86_64.
The fix is pretty simple, just creating a ticket to document it. I'll add a separate patch in :)
Some of the output:
[5/21] Compiling C++ object gexiv2/libgexiv2.so.2.14.1.p/gexiv2-preview-
properties.cpp.o
[6/21] Compiling C++ object gexiv2/libgexiv2.so.2.14.1.p/gexiv2-
metadata.cpp.o
FAILED: gexiv2/libgexiv2.so.2.14.1.p/gexiv2-metadata.cpp.o
c++ -Igexiv2/libgexiv2.so.2.14.1.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr
/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr
/include/blkid -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall
-Winvalid-pch -std=c++17 -O0 -g -fPIC -pthread -MD -MQ
gexiv2/libgexiv2.so.2.14.1.p/gexiv2-metadata.cpp.o -MF
gexiv2/libgexiv2.so.2.14.1.p/gexiv2-metadata.cpp.o.d -o gexiv2/libgexiv2.so.2.14.1.p/gexiv2-metadata.cpp.o -c ../gexiv2/gexiv2-
metadata.cpp
In file included from ../gexiv2/gexiv2-metadata.cpp:21:
../gexiv2/gexiv2-stream-io.h:49:13: error: ‘int StreamIo::seek(long int,
Exiv2::BasicIo::Position)’ marked ‘override’, but does not override
49 | int seek (long offset, Position pos) override;
| ^~~~
../gexiv2/gexiv2-metadata.cpp:152:9: error: ‘int
{anonymous}::GioIo::seek(seek_offset_t, Exiv2::BasicIo::Position)’ marked
‘override’, but does not override
152 | int seek(seek_offset_t offset, Exiv2::BasicIo::Position position)
override {
| ^~~~
../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean
gexiv2_metadata_open_stream(GExiv2Metadata*, ManagedStreamCallbacks*,
GError**)’:
../gexiv2/gexiv2-metadata.cpp:533:55: error: invalid new-expression of
abstract class type ‘StreamIo’
533 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)};
| ^
../gexiv2/gexiv2-stream-io.h:23:7: note: because the following virtual
functions are pure within ‘StreamIo’:
23 | class StreamIo : public Exiv2::BasicIo {
| ^~~~~~~~
In file included from /usr/include/exiv2/exiv2.hpp:8,
from ../gexiv2/gexiv2-metadata-private.h:14,
from ../gexiv2/gexiv2-metadata.cpp:16:
/usr/include/exiv2/basicio.hpp:165:15: note: ‘virtual int
Exiv2::BasicIo::seek(int64_t, Position)’
165 | virtual int seek(int64_t offset, Position pos) = 0;
| ^~~~
../gexiv2/gexiv2-metadata.cpp:533:56: error: no matching function for call to
‘std::unique_ptr<Exiv2::BasicIo>::unique_ptr(<brace-enclosed initializer
list>)’
533 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)};
|
Change History (4)
comment:1 by , 3 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 3 years ago
| Type: | enhancement → defect |
|---|
comment:3 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

Fixed at 28448a74cfa76cd65af584c0e400733e2608fa40