Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'], chrootPath='/var/lib/mock/openeuler-24.03_LTS-aarch64-1722914811.546362/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead Building target platforms: aarch64 Building for target aarch64 Wrote: /builddir/build/SRPMS/libgexiv2-0.12.3-1.src.rpm Child return code was: 0 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'], chrootPath='/var/lib/mock/openeuler-24.03_LTS-aarch64-1722914811.546362/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead Building target platforms: aarch64 Building for target aarch64 Wrote: /builddir/build/SRPMS/libgexiv2-0.12.3-1.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'], chrootPath='/var/lib/mock/openeuler-24.03_LTS-aarch64-1722914811.546362/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: aarch64 Building for target aarch64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.LNg5gE + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf gexiv2-0.12.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/gexiv2-0.12.3.tar.xz + STATUS=0 + '[' 0 -ne 0 ']' + cd gexiv2-0.12.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.0hcN2I + umask 022 + cd /builddir/build/BUILD + cd gexiv2-0.12.3 + CFLAGS='-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions' + export CXXFLAGS + FFLAGS='-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld' + export LDFLAGS + /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . aarch64-openEuler-linux-gnu -Dgtk_doc=true -Dpython3_girdir=/usr/lib64/python3.11/site-packages/gi/overrides The Meson build system Version: 1.3.1 Source dir: /builddir/build/BUILD/gexiv2-0.12.3 Build dir: /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu Build type: native build Project name: gexiv2 Project version: 0.12.3 C compiler for the host machine: cc (gcc 12.3.1 "cc (GCC) 12.3.1 (openEuler 12.3.1-30.oe2403)") C linker for the host machine: cc ld.bfd 2.41 C++ compiler for the host machine: c++ (gcc 12.3.1 "c++ (GCC) 12.3.1 (openEuler 12.3.1-30.oe2403)") C++ linker for the host machine: c++ ld.bfd 2.41 Host machine cpu family: aarch64 Host machine cpu: aarch64 Found pkg-config: YES (/usr/bin/pkg-config) 1.9.5 Run-time dependency exiv2 found: YES 0.28.2 Run-time dependency gobject-2.0 found: YES 2.78.3 Run-time dependency gio-2.0 found: YES 2.78.3 Library m found: YES Checking if "BMFF support in exiv2" with dependency exiv2 compiles: NO Program g-ir-scanner found: YES (/usr/bin/g-ir-scanner) Vala compiler for the host machine: valac (valac 0.56.14) Configuring gexiv2-version.h using configuration Build-time dependency glib-2.0 found: YES 2.78.3 Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Run-time dependency gobject-introspection-1.0 found: YES 1.76.1 Dependency gobject-introspection-1.0 found: YES 1.76.1 (cached) Program /usr/bin/g-ir-scanner found: YES (/usr/bin/g-ir-scanner) Dependency gobject-introspection-1.0 found: YES 1.76.1 (cached) Program /usr/bin/g-ir-compiler found: YES (/usr/bin/g-ir-compiler) Program vapigen found: YES (/usr/bin/vapigen) Configuring gtkdocentities.ent using configuration Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan) Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj) Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb) Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml) Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref) Program python2 found: NO Program python3 found: YES (/usr/bin/python3) WARNING: You should add the boolean check kwarg to the run_command call. It currently defaults to false, but it will default to true in future releases of meson. See also: https://github.com/mesonbuild/meson/issues/9300 Configuring python3-test using configuration Program python3-test found: YES (/builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/test/python3-test) Build targets in project: 10 NOTICE: Future-deprecated features used: * 0.55.0: {'ExternalProgram.path'} gexiv2 0.12.3 User defined options auto_features : enabled bindir : /usr/bin buildtype : plain datadir : /usr/share includedir : /usr/include infodir : /usr/share/info libdir : /usr/lib64 libexecdir : /usr/libexec localedir : /usr/share/locale localstatedir : /var mandir : /usr/share/man prefix : /usr sbindir : /usr/sbin sharedstatedir: /var/lib sysconfdir : /etc wrap_mode : nodownload gtk_doc : true python3_girdir: /usr/lib64/python3.11/site-packages/gi/overrides Found ninja-1.11.1 at /usr/bin/ninja + /usr/bin/meson compile -C aarch64-openEuler-linux-gnu -j 4 --verbose ninja: Entering directory `/builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu' [1/23] /usr/bin/meson --internal exe --capture gexiv2/gexiv2-enums.h -- /usr/bin/glib-mkenums --identifier-prefix gexiv2 --symbol-prefix GExiv2 --template /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-enums.h.template /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-metadata.h /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-log.h [2/23] /usr/bin/meson --internal exe --capture gexiv2/gexiv2-enums.cpp -- /usr/bin/glib-mkenums --identifier-prefix gexiv2 --symbol-prefix GExiv2 --template /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-enums.cpp.template /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-metadata.h /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu/../gexiv2/gexiv2-log.h [3/23] cc -Itest/gexiv2-regression.p -Itest -I../test -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -pthread '-DSAMPLE_PATH="/builddir/build/BUILD/gexiv2-0.12.3/test/data"' -Wno-deprecated-declarations -MD -MQ test/gexiv2-regression.p/gexiv2-regression.c.o -MF test/gexiv2-regression.p/gexiv2-regression.c.o.d -o test/gexiv2-regression.p/gexiv2-regression.c.o -c ../test/gexiv2-regression.c [4/23] c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/meson-generated_.._gexiv2-enums.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/meson-generated_.._gexiv2-enums.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/meson-generated_.._gexiv2-enums.cpp.o -c gexiv2/gexiv2-enums.cpp [5/23] c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o -c ../gexiv2/gexiv2-metadata-exif.cpp FAILED: gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-exif.cpp.o -c ../gexiv2/gexiv2-metadata-exif.cpp ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gchar* gexiv2_metadata_get_exif_tag_string(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:118:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 118 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode In file included from /usr/include/glib-2.0/glib/gthread.h:35, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:24, from ../gexiv2/gexiv2-metadata.h:14, from ../gexiv2/gexiv2-metadata-exif.cpp:11: /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gchar** gexiv2_metadata_get_exif_tag_multiple(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:148:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 148 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gboolean gexiv2_metadata_set_exif_tag_multiple(GExiv2Metadata*, const gchar*, const gchar**, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:189:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 189 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gchar* gexiv2_metadata_get_exif_tag_interpreted_string(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:215:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 215 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gboolean gexiv2_metadata_set_exif_tag_string(GExiv2Metadata*, const gchar*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:233:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 233 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘glong gexiv2_metadata_get_exif_tag_long(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:253:24: error: ‘class Exiv2::Exifdatum’ has no member named ‘toLong’ 253 | return it->toLong (); | ^~~~~~ ../gexiv2/gexiv2-metadata-exif.cpp:255:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 255 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gboolean gexiv2_metadata_set_exif_tag_long(GExiv2Metadata*, const gchar*, glong, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:272:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 272 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gboolean gexiv2_metadata_try_get_exif_tag_rational(GExiv2Metadata*, const gchar*, gint*, gint*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:302:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 302 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘gboolean gexiv2_metadata_try_set_exif_tag_rational(GExiv2Metadata*, const gchar*, gint, gint, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:323:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 323 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘const gchar* gexiv2_metadata_get_exif_tag_label(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:401:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 401 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘const gchar* gexiv2_metadata_get_exif_tag_description(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:415:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 415 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘const gchar* gexiv2_metadata_get_exif_tag_type(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:429:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 429 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘GBytes* gexiv2_metadata_get_exif_tag_raw(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:457:74: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 457 | g_set_error_literal(error, g_quark_from_string ("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-exif.cpp: In function ‘GBytes* gexiv2_metadata_get_exif_data(GExiv2Metadata*, GExiv2ByteOrder, GError**)’: ../gexiv2/gexiv2-metadata-exif.cpp:494:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 494 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ [6/23] c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o -c ../gexiv2/gexiv2-metadata.cpp FAILED: gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata.cpp.o -c ../gexiv2/gexiv2-metadata.cpp In file included from ../gexiv2/gexiv2-metadata.cpp:13: ../gexiv2/gexiv2-stream-io.h:38:19: error: ‘StreamIo::size_type StreamIo::write(const Exiv2::byte*, size_type)’ marked ‘override’, but does not override 38 | size_type write (const Exiv2::byte* data, size_type wcount) override; | ^~~~~ ../gexiv2/gexiv2-stream-io.h:39:19: error: conflicting return type specified for ‘virtual StreamIo::size_type StreamIo::write(Exiv2::BasicIo&)’ 39 | size_type write (Exiv2::BasicIo& src) override; | ^~~~~ In file included from /usr/include/exiv2/exiv2.hpp:8, from ../gexiv2/gexiv2-metadata-private.h:14, from ../gexiv2/gexiv2-metadata.cpp:12: /usr/include/exiv2/basicio.hpp:92:18: note: overridden function is ‘virtual size_t Exiv2::BasicIo::write(Exiv2::BasicIo&)’ 92 | virtual size_t write(BasicIo& src) = 0; | ^~~~~ ../gexiv2/gexiv2-stream-io.h:41:20: error: ‘Exiv2::DataBuf StreamIo::read(size_type)’ marked ‘override’, but does not override 41 | Exiv2::DataBuf read (size_type rcount) override; | ^~~~ ../gexiv2/gexiv2-stream-io.h:42:15: error: ‘StreamIo::size_type StreamIo::read(Exiv2::byte*, size_type)’ marked ‘override’, but does not override 42 | size_type read (Exiv2::byte* buf, size_type rcount) override; | ^~~~ ../gexiv2/gexiv2-stream-io.h:48:14: error: conflicting return type specified for ‘virtual long int StreamIo::tell() const’ 48 | long tell () const override; | ^~~~ /usr/include/exiv2/basicio.hpp:203:32: note: overridden function is ‘virtual size_t Exiv2::BasicIo::tell() const’ 203 | [[nodiscard]] virtual size_t tell() const = 0; | ^~~~ ../gexiv2/gexiv2-stream-io.h:53:21: error: conflicting return type specified for ‘virtual std::string StreamIo::path() const’ 53 | std::string path () const override; | ^~~~ /usr/include/exiv2/basicio.hpp:221:44: note: overridden function is ‘virtual const std::string& Exiv2::BasicIo::path() const’ 221 | [[nodiscard]] virtual const std::string& path() const noexcept = 0; | ^~~~ ../gexiv2/gexiv2-metadata.cpp:87:15: error: ‘{anonymous}::GioIo::size_type {anonymous}::GioIo::write(const Exiv2::byte*, size_type)’ marked ‘override’, but does not override 87 | size_type write(const Exiv2::byte* /*data*/, size_type /*wcount*/) override { return 0; } | ^~~~~ ../gexiv2/gexiv2-metadata.cpp:88:15: error: conflicting return type specified for ‘virtual {anonymous}::GioIo::size_type {anonymous}::GioIo::write(Exiv2::BasicIo&)’ 88 | size_type write(BasicIo& /*src*/) override { return 0; } | ^~~~~ /usr/include/exiv2/basicio.hpp:92:18: note: overridden function is ‘virtual size_t Exiv2::BasicIo::write(Exiv2::BasicIo&)’ 92 | virtual size_t write(BasicIo& src) = 0; | ^~~~~ ../gexiv2/gexiv2-metadata.cpp:91:20: error: ‘Exiv2::DataBuf {anonymous}::GioIo::read(size_type)’ marked ‘override’, but does not override 91 | Exiv2::DataBuf read(size_type rcount) override { | ^~~~ ../gexiv2/gexiv2-metadata.cpp:102:15: error: ‘{anonymous}::GioIo::size_type {anonymous}::GioIo::read(Exiv2::byte*, size_type)’ marked ‘override’, but does not override 102 | size_type read(Exiv2::byte* buf, size_type rcount) override { | ^~~~ ../gexiv2/gexiv2-metadata.cpp:191:10: error: conflicting return type specified for ‘virtual long int {anonymous}::GioIo::tell() const’ 191 | long tell() const override { | ^~~~ /usr/include/exiv2/basicio.hpp:203:32: note: overridden function is ‘virtual size_t Exiv2::BasicIo::tell() const’ 203 | [[nodiscard]] virtual size_t tell() const = 0; | ^~~~ ../gexiv2/gexiv2-metadata.cpp:207:17: error: conflicting return type specified for ‘virtual std::string {anonymous}::GioIo::path() const’ 207 | std::string path() const override { return "GIO Wrapper"; } | ^~~~ /usr/include/exiv2/basicio.hpp:221:44: note: overridden function is ‘virtual const std::string& Exiv2::BasicIo::path() const’ 221 | [[nodiscard]] virtual const std::string& path() const noexcept = 0; | ^~~~ ../gexiv2/gexiv2-metadata.cpp: In member function ‘Exiv2::DataBuf {anonymous}::GioIo::read(size_type)’: ../gexiv2/gexiv2-metadata.cpp:92:26: warning: narrowing conversion of ‘rcount’ from ‘{anonymous}::GioIo::size_type’ {aka ‘long int’} to ‘size_t’ {aka ‘long unsigned int’} [-Wnarrowing] 92 | Exiv2::DataBuf b{rcount}; | ^~~~~~ ../gexiv2/gexiv2-metadata.cpp:94:40: error: ‘std::vector Exiv2::DataBuf::pData_’ is private within this context 94 | auto bytes_read = this->read(b.pData_, rcount); | ^~~~~~ In file included from /usr/include/exiv2/basicio.hpp:11: /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector pData_; | ^~~~~~ ../gexiv2/gexiv2-metadata.cpp:94:37: error: no matching function for call to ‘{anonymous}::GioIo::read(std::vector&, {anonymous}::GioIo::size_type&)’ 94 | auto bytes_read = this->read(b.pData_, rcount); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../gexiv2/gexiv2-metadata.cpp:91:20: note: candidate: ‘Exiv2::DataBuf {anonymous}::GioIo::read(size_type)’ 91 | Exiv2::DataBuf read(size_type rcount) override { | ^~~~ ../gexiv2/gexiv2-metadata.cpp:91:20: note: candidate expects 1 argument, 2 provided ../gexiv2/gexiv2-metadata.cpp:102:15: note: candidate: ‘{anonymous}::GioIo::size_type {anonymous}::GioIo::read(Exiv2::byte*, size_type)’ 102 | size_type read(Exiv2::byte* buf, size_type rcount) override { | ^~~~ ../gexiv2/gexiv2-metadata.cpp:102:33: note: no known conversion for argument 1 from ‘std::vector’ to ‘Exiv2::byte*’ {aka ‘unsigned char*’} 102 | size_type read(Exiv2::byte* buf, size_type rcount) override { | ~~~~~~~~~~~~~^~~ ../gexiv2/gexiv2-metadata.cpp:96:24: error: ‘std::vector Exiv2::DataBuf::pData_’ is private within this context 96 | b.reset({b.pData_, bytes_read}); | ^~~~~~ /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector pData_; | ^~~~~~ ../gexiv2/gexiv2-metadata.cpp:96:20: error: no matching function for call to ‘Exiv2::DataBuf::reset()’ 96 | b.reset({b.pData_, bytes_read}); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/exiv2/types.hpp:149:8: note: candidate: ‘void Exiv2::DataBuf::reset()’ 149 | void reset(); | ^~~~~ /usr/include/exiv2/types.hpp:149:8: note: candidate expects 0 arguments, 1 provided ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_open_path(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:456:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 456 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode In file included from /usr/include/glib-2.0/glib/gthread.h:35, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:24, from ../gexiv2/gexiv2-metadata.h:14, from ../gexiv2/gexiv2-metadata.cpp:11: /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_open_stream(GExiv2Metadata*, ManagedStreamCallbacks*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:486:55: error: invalid new-expression of abstract class type ‘StreamIo’ 486 | 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 { | ^~~~~~~~ /usr/include/exiv2/basicio.hpp:82:18: note: ‘virtual size_t Exiv2::BasicIo::write(const Exiv2::byte*, size_t)’ 82 | virtual size_t write(const byte* data, size_t wcount) = 0; | ^~~~~ /usr/include/exiv2/basicio.hpp:111:19: note: ‘virtual Exiv2::DataBuf Exiv2::BasicIo::read(size_t)’ 111 | virtual DataBuf read(size_t rcount) = 0; | ^~~~ /usr/include/exiv2/basicio.hpp:124:18: note: ‘virtual size_t Exiv2::BasicIo::read(Exiv2::byte*, size_t)’ 124 | virtual size_t read(byte* buf, size_t rcount) = 0; | ^~~~ /usr/include/exiv2/basicio.hpp:230:16: note: ‘virtual void Exiv2::BasicIo::populateFakeData()’ 230 | virtual void populateFakeData() = 0; | ^~~~~~~~~~~~~~~~ ../gexiv2/gexiv2-metadata.cpp:486:56: error: no matching function for call to ‘std::unique_ptr::unique_ptr()’ 486 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)}; | ^ In file included from /usr/include/c++/12/memory:75, from /usr/include/exiv2/basicio.hpp:14: /usr/include/c++/12/bits/unique_ptr.h:382:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::auto_ptr<_Up>&&) [with = _Up; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 382 | unique_ptr(auto_ptr<_Up>&& __u) noexcept; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:382:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:372:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Up, _Ep>&&) [with _Ep = _Up; = _Ep; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 372 | unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:372:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:351:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr(std::nullptr_t) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 351 | constexpr unique_ptr(nullptr_t) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:351:19: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:345:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t::value, _DelUnref&&>) [with _DelUnref = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ (deleted) 345 | unique_ptr(pointer, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:345:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:336:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t<(! std::is_lvalue_reference<_Del>::value), _Del&&>) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 336 | unique_ptr(pointer __p, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:336:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:323:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, const deleter_type&) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 323 | unique_ptr(pointer __p, const deleter_type& __d) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:323:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:309:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 309 | unique_ptr(pointer __p) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:309:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:296:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 296 | constexpr unique_ptr() noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:296:19: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:486:56: note: candidate expects 0 arguments, 1 provided 486 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)}; | ^ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 358 | unique_ptr(unique_ptr&&) = default; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: conversion of argument 1 would be ill-formed: ../gexiv2/gexiv2-metadata.cpp:495:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 495 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_from_stream(GExiv2Metadata*, GInputStream*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:505:50: error: invalid new-expression of abstract class type ‘{anonymous}::GioIo’ 505 | GioIo::ptr_type gio_ptr{new GioIo (stream)}; | ^ ../gexiv2/gexiv2-metadata.cpp:39:7: note: because the following virtual functions are pure within ‘{anonymous}::GioIo’: 39 | class GioIo : public Exiv2::BasicIo { | ^~~~~ /usr/include/exiv2/basicio.hpp:82:18: note: ‘virtual size_t Exiv2::BasicIo::write(const Exiv2::byte*, size_t)’ 82 | virtual size_t write(const byte* data, size_t wcount) = 0; | ^~~~~ /usr/include/exiv2/basicio.hpp:111:19: note: ‘virtual Exiv2::DataBuf Exiv2::BasicIo::read(size_t)’ 111 | virtual DataBuf read(size_t rcount) = 0; | ^~~~ /usr/include/exiv2/basicio.hpp:124:18: note: ‘virtual size_t Exiv2::BasicIo::read(Exiv2::byte*, size_t)’ 124 | virtual size_t read(byte* buf, size_t rcount) = 0; | ^~~~ /usr/include/exiv2/basicio.hpp:230:16: note: ‘virtual void Exiv2::BasicIo::populateFakeData()’ 230 | virtual void populateFakeData() = 0; | ^~~~~~~~~~~~~~~~ ../gexiv2/gexiv2-metadata.cpp:505:51: error: no matching function for call to ‘std::unique_ptr::unique_ptr()’ 505 | GioIo::ptr_type gio_ptr{new GioIo (stream)}; | ^ /usr/include/c++/12/bits/unique_ptr.h:382:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::auto_ptr<_Up>&&) [with = _Up; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 382 | unique_ptr(auto_ptr<_Up>&& __u) noexcept; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:382:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:372:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Up, _Ep>&&) [with _Ep = _Up; = _Ep; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 372 | unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:372:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:351:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr(std::nullptr_t) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 351 | constexpr unique_ptr(nullptr_t) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:351:19: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:345:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t::value, _DelUnref&&>) [with _DelUnref = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ (deleted) 345 | unique_ptr(pointer, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:345:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:336:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t<(! std::is_lvalue_reference<_Del>::value), _Del&&>) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 336 | unique_ptr(pointer __p, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:336:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:323:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, const deleter_type&) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 323 | unique_ptr(pointer __p, const deleter_type& __d) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:323:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:309:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 309 | unique_ptr(pointer __p) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:309:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:296:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 296 | constexpr unique_ptr() noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:296:19: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:505:51: note: candidate expects 0 arguments, 1 provided 505 | GioIo::ptr_type gio_ptr{new GioIo (stream)}; | ^ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 358 | unique_ptr(unique_ptr&&) = default; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: conversion of argument 1 would be ill-formed: ../gexiv2/gexiv2-metadata.cpp:514:75: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 514 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_from_app1_segment(GExiv2Metadata*, const guint8*, glong, GError**)’: ../gexiv2/gexiv2-metadata.cpp:560:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 560 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_save_external(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:642:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 642 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_save_file(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:668:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 668 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_save_stream(GExiv2Metadata*, ManagedStreamCallbacks*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:683:55: error: invalid new-expression of abstract class type ‘StreamIo’ 683 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)}; | ^ ../gexiv2/gexiv2-metadata.cpp:683:56: error: no matching function for call to ‘std::unique_ptr::unique_ptr()’ 683 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)}; | ^ /usr/include/c++/12/bits/unique_ptr.h:382:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::auto_ptr<_Up>&&) [with = _Up; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 382 | unique_ptr(auto_ptr<_Up>&& __u) noexcept; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:382:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:372:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Up, _Ep>&&) [with _Ep = _Up; = _Ep; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 372 | unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:372:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:351:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr(std::nullptr_t) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 351 | constexpr unique_ptr(nullptr_t) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:351:19: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:345:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t::value, _DelUnref&&>) [with _DelUnref = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ (deleted) 345 | unique_ptr(pointer, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:345:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:336:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, std::__enable_if_t<(! std::is_lvalue_reference<_Del>::value), _Del&&>) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 336 | unique_ptr(pointer __p, | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:336:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:323:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer, const deleter_type&) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 323 | unique_ptr(pointer __p, const deleter_type& __d) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:323:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:309:9: note: candidate: ‘template std::unique_ptr<_Tp, _Dp>::unique_ptr(pointer) [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 309 | unique_ptr(pointer __p) noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:309:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/unique_ptr.h:296:19: note: candidate: ‘template constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with = _Del; _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 296 | constexpr unique_ptr() noexcept | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:296:19: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:683:56: note: candidate expects 0 arguments, 1 provided 683 | StreamIo::ptr_type stream_ptr{new StreamIo (cb)}; | ^ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = Exiv2::BasicIo; _Dp = std::default_delete]’ 358 | unique_ptr(unique_ptr&&) = default; | ^~~~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:358:7: note: conversion of argument 1 would be ill-formed: ../gexiv2/gexiv2-metadata.cpp:691:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 691 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_get_exif_thumbnail(GExiv2Metadata*, guint8**, gint*)’: ../gexiv2/gexiv2-metadata.cpp:1316:14: error: ‘std::vector Exiv2::DataBuf::pData_’ is private within this context 1316 | if (data.pData_ == NULL) | ^~~~~~ /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector pData_; | ^~~~~~ ../gexiv2/gexiv2-metadata.cpp:1316:21: error: no match for ‘operator==’ (operand types are ‘std::vector’ and ‘long int’) 1316 | if (data.pData_ == NULL) | ^ In file included from /usr/include/c++/12/aarch64-openEuler-linux/bits/c++allocator.h:33, from /usr/include/c++/12/bits/allocator.h:46, from /usr/include/c++/12/string:41, from /usr/include/c++/12/bits/locale_classes.h:40, from /usr/include/c++/12/bits/ios_base.h:41, from /usr/include/c++/12/ios:42, from /usr/include/c++/12/istream:38, from /usr/include/c++/12/sstream:38, from /usr/include/exiv2/error.hpp:20, from /usr/include/exiv2/basicio.hpp:10: /usr/include/c++/12/bits/new_allocator.h:196:9: note: candidate: ‘template bool std::operator==(const __new_allocator&, const __new_allocator<_Tp>&)’ 196 | operator==(const __new_allocator&, const __new_allocator<_Up>&) | ^~~~~~~~ /usr/include/c++/12/bits/new_allocator.h:196:9: note: template argument deduction/substitution failed: In file included from /usr/include/stdio.h:33, from /usr/include/c++/12/cstdio:42, from /usr/include/c++/12/ext/string_conversions.h:43, from /usr/include/c++/12/bits/basic_string.h:3968, from /usr/include/c++/12/string:53: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::__new_allocator<_Tp>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/regex:66, from /usr/include/exiv2/version.hpp:12, from /usr/include/exiv2/exiv2.hpp:48: /usr/include/c++/12/bits/regex.h:1077:5: note: candidate: ‘template bool std::__cxx11::operator==(const sub_match<_BiIter>&, const sub_match<_BiIter>&)’ 1077 | operator==(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs) | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1077:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::sub_match<_BiIter>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1173:5: note: candidate: ‘template bool std::__cxx11::operator==(__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const sub_match<_BiIter>&)’ 1173 | operator==(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1173:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1248:5: note: candidate: ‘template bool std::__cxx11::operator==(const sub_match<_BiIter>&, __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)’ 1248 | operator==(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1248:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::sub_match<_BiIter>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1340:5: note: candidate: ‘template bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type*, const sub_match<_BiIter>&)’ 1340 | operator==(typename iterator_traits<_Bi_iter>::value_type const* __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1340:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::__cxx11::sub_match<_BiIter>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1415:5: note: candidate: ‘template bool std::__cxx11::operator==(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)’ 1415 | operator==(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1415:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::sub_match<_BiIter>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1508:5: note: candidate: ‘template bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type&, const sub_match<_BiIter>&)’ 1508 | operator==(typename iterator_traits<_Bi_iter>::value_type const& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1508:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::__cxx11::sub_match<_BiIter>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:1587:5: note: candidate: ‘template bool std::__cxx11::operator==(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)’ 1587 | operator==(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:1587:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::sub_match<_BiIter>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/regex.h:2145:5: note: candidate: ‘template bool std::__cxx11::operator==(const match_results<_BiIter, _Alloc>&, const match_results<_BiIter, _Alloc>&)’ 2145 | operator==(const match_results<_Bi_iter, _Alloc>& __m1, | ^~~~~~~~ /usr/include/c++/12/bits/regex.h:2145:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::match_results<_BiIter, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/bits/stl_algobase.h:64, from /usr/include/c++/12/algorithm:60, from ../gexiv2/gexiv2-metadata-private.h:13: /usr/include/c++/12/bits/stl_pair.h:640:5: note: candidate: ‘template constexpr bool std::operator==(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’ 640 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/12/bits/stl_pair.h:640:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::pair<_T1, _T2>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/bits/stl_algobase.h:67: /usr/include/c++/12/bits/stl_iterator.h:444:5: note: candidate: ‘template bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)’ 444 | operator==(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_iterator.h:444:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/stl_iterator.h:489:5: note: candidate: ‘template bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)’ 489 | operator==(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_iterator.h:489:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/stl_iterator.h:1674:5: note: candidate: ‘template bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’ 1674 | operator==(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_iterator.h:1674:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::move_iterator<_IteratorL>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/stl_iterator.h:1744:5: note: candidate: ‘template bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’ 1744 | operator==(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_iterator.h:1744:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::move_iterator<_IteratorL>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/iosfwd:40, from /usr/include/c++/12/ios:38: /usr/include/c++/12/bits/postypes.h:192:5: note: candidate: ‘template bool std::operator==(const fpos<_StateT>&, const fpos<_StateT>&)’ 192 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/12/bits/postypes.h:192:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::fpos<_StateT>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/allocator.h:219:5: note: candidate: ‘template bool std::operator==(const allocator<_CharT>&, const allocator<_T2>&)’ 219 | operator==(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/12/bits/allocator.h:219:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::allocator<_CharT>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/basic_string.h:3583:5: note: candidate: ‘template bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3583 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/basic_string.h:3583:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/basic_string.h:3592:5: note: candidate: ‘template typename __gnu_cxx::__enable_if::__value, bool>::__type std::operator==(const __cxx11::basic_string<_CharT>&, const __cxx11::basic_string<_CharT>&)’ 3592 | operator==(const basic_string<_CharT>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/basic_string.h:3592:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::basic_string<_CharT>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/basic_string.h:3607:5: note: candidate: ‘template bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’ 3607 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/basic_string.h:3607:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/basic_string.h:3648:5: note: candidate: ‘template bool std::operator==(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3648 | operator==(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/12/bits/basic_string.h:3648:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const _CharT*’ and ‘std::vector’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/bits/locale_facets.h:48, from /usr/include/c++/12/bits/basic_ios.h:37, from /usr/include/c++/12/ios:44: /usr/include/c++/12/bits/streambuf_iterator.h:233:5: note: candidate: ‘template bool std::operator==(const istreambuf_iterator<_CharT, _Traits>&, const istreambuf_iterator<_CharT, _Traits>&)’ 233 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a, | ^~~~~~~~ /usr/include/c++/12/bits/streambuf_iterator.h:233:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/vector:64, from /usr/include/exiv2/types.hpp:17: /usr/include/c++/12/bits/stl_vector.h:2035:5: note: candidate: ‘template bool std::operator==(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&)’ 2035 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/12/bits/stl_vector.h:2035:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::vector<_Tp, _Alloc>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/bits/unique_ptr.h:36: /usr/include/c++/12/tuple:1496:5: note: candidate: ‘template constexpr bool std::operator==(const tuple<_Elements ...>&, const tuple<_Types ...>&)’ 1496 | operator==(const tuple<_TElements...>& __t, | ^~~~~~~~ /usr/include/c++/12/tuple:1496:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::tuple<_Elements ...>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/unique_ptr.h:824:5: note: candidate: ‘template bool std::operator==(const unique_ptr<_Tp, _Dp>&, const unique_ptr<_Up, _Ep>&)’ 824 | operator==(const unique_ptr<_Tp, _Dp>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:824:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/unique_ptr.h:832:5: note: candidate: ‘template bool std::operator==(const unique_ptr<_Tp, _Dp>&, nullptr_t)’ 832 | operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:832:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/unique_ptr.h:840:5: note: candidate: ‘template bool std::operator==(nullptr_t, const unique_ptr<_Tp, _Dp>&)’ 840 | operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/unique_ptr.h:840:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::unique_ptr<_Tp, _Dp>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/bits/shared_ptr.h:53, from /usr/include/c++/12/memory:76: /usr/include/c++/12/bits/shared_ptr_base.h:1793:5: note: candidate: ‘template bool std::operator==(const __shared_ptr<_Tp1, _Lp>&, const __shared_ptr<_Tp2, _Lp>&)’ 1793 | operator==(const __shared_ptr<_Tp1, _Lp>& __a, | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr_base.h:1793:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/shared_ptr_base.h:1799:5: note: candidate: ‘template bool std::operator==(const __shared_ptr<_Tp, _Lp>&, nullptr_t)’ 1799 | operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr_base.h:1799:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/shared_ptr_base.h:1819:5: note: candidate: ‘template bool std::operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>&)’ 1819 | operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr_base.h:1819:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::__shared_ptr<_Tp, _Lp>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/shared_ptr.h:555:5: note: candidate: ‘template bool std::operator==(const shared_ptr<_Tp>&, const shared_ptr<_Tp>&)’ 555 | operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr.h:555:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::shared_ptr<_Tp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/shared_ptr.h:561:5: note: candidate: ‘template bool std::operator==(const shared_ptr<_Tp>&, nullptr_t)’ 561 | operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr.h:561:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::shared_ptr<_Tp>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/shared_ptr.h:582:5: note: candidate: ‘template bool std::operator==(nullptr_t, const shared_ptr<_Tp>&)’ 582 | operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/shared_ptr.h:582:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::shared_ptr<_Tp>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/map:61, from /usr/include/exiv2/value.hpp:16, from /usr/include/exiv2/metadatum.hpp:10, from /usr/include/exiv2/exif.hpp:17, from /usr/include/exiv2/image.hpp:11, from /usr/include/exiv2/bmffimage.hpp:9, from /usr/include/exiv2/exiv2.hpp:9: /usr/include/c++/12/bits/stl_map.h:1511:5: note: candidate: ‘template bool std::operator==(const map<_Key, _Tp, _Compare, _Alloc>&, const map<_Key, _Tp, _Compare, _Alloc>&)’ 1511 | operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_map.h:1511:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/map:62: /usr/include/c++/12/bits/stl_multimap.h:1132:5: note: candidate: ‘template bool std::operator==(const multimap<_Key, _Tp, _Compare, _Alloc>&, const multimap<_Key, _Tp, _Compare, _Alloc>&)’ 1132 | operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_multimap.h:1132:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/list:63, from /usr/include/exiv2/exif.hpp:21: /usr/include/c++/12/bits/stl_list.h:2124:5: note: candidate: ‘template bool std::operator==(const __cxx11::list<_Tp, _Alloc>&, const __cxx11::list<_Tp, _Alloc>&)’ 2124 | operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/12/bits/stl_list.h:2124:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/set:61, from /usr/include/exiv2/bmffimage.hpp:11: /usr/include/c++/12/bits/stl_set.h:985:5: note: candidate: ‘template bool std::operator==(const set<_Key, _Compare, _Alloc>&, const set<_Key, _Compare, _Alloc>&)’ 985 | operator==(const set<_Key, _Compare, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_set.h:985:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/set:62: /usr/include/c++/12/bits/stl_multiset.h:972:5: note: candidate: ‘template bool std::operator==(const multiset<_Key, _Compare, _Alloc>&, const multiset<_Key, _Compare, _Alloc>&)’ 972 | operator==(const multiset<_Key, _Compare, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/12/bits/stl_multiset.h:972:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/exiv2/photoshop.hpp:10, from /usr/include/exiv2/exiv2.hpp:31: /usr/include/c++/12/array:304:5: note: candidate: ‘template bool std::operator==(const array<_Tp, _Nm>&, const array<_Tp, _Nm>&)’ 304 | operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) | ^~~~~~~~ /usr/include/c++/12/array:304:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::array<_Tp, _Nm>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/deque:64, from /usr/include/c++/12/stack:60, from /usr/include/c++/12/regex:41: /usr/include/c++/12/bits/stl_deque.h:2290:5: note: candidate: ‘template bool std::operator==(const deque<_Tp, _Alloc>&, const deque<_Tp, _Alloc>&)’ 2290 | operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/12/bits/stl_deque.h:2290:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::deque<_Tp, _Alloc>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/stack:61: /usr/include/c++/12/bits/stl_stack.h:356:5: note: candidate: ‘template bool std::operator==(const stack<_Tp, _Seq>&, const stack<_Tp, _Seq>&)’ 356 | operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y) | ^~~~~~~~ /usr/include/c++/12/bits/stl_stack.h:356:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::stack<_Tp, _Seq>’ 1316 | if (data.pData_ == NULL) | ^~~~ In file included from /usr/include/c++/12/regex:48: /usr/include/c++/12/bits/std_function.h:718:5: note: candidate: ‘template bool std::operator==(const function<_Res(_ArgTypes ...)>&, nullptr_t)’ 718 | operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/std_function.h:718:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: ‘std::vector’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/std_function.h:725:5: note: candidate: ‘template bool std::operator==(nullptr_t, const function<_Res(_ArgTypes ...)>&)’ 725 | operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept | ^~~~~~~~ /usr/include/c++/12/bits/std_function.h:725:5: note: template argument deduction/substitution failed: ../gexiv2/gexiv2-metadata.cpp:1316:24: note: mismatched types ‘const std::function<_Res(_ArgTypes ...)>’ and ‘long int’ 1316 | if (data.pData_ == NULL) | ^~~~ /usr/include/c++/12/bits/allocator.h:205:7: note: candidate: ‘bool std::operator==(const allocator&, const allocator&)’ 205 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~ /usr/include/c++/12/bits/allocator.h:205:18: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::allocator&’ 205 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/12/bits/ios_base.h:46: /usr/include/c++/12/system_error:444:3: note: candidate: ‘bool std::operator==(const error_code&, const error_code&)’ 444 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/12/system_error:444:32: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::error_code&’ 444 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/system_error:460:3: note: candidate: ‘bool std::operator==(const error_code&, const error_condition&)’ 460 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/12/system_error:460:32: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::error_code&’ 460 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/system_error:475:3: note: candidate: ‘bool std::operator==(const error_condition&, const error_condition&)’ 475 | operator==(const error_condition& __lhs, | ^~~~~~~~ /usr/include/c++/12/system_error:475:37: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::error_condition&’ 475 | operator==(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/system_error:512:3: note: candidate: ‘bool std::operator==(const error_condition&, const error_code&)’ 512 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/12/system_error:512:37: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::error_condition&’ 512 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ ../gexiv2/gexiv2-metadata.cpp:1319:39: error: ‘struct Exiv2::DataBuf’ has no member named ‘size_’; did you mean ‘size’? 1319 | *buffer = (guint8*) g_malloc(data.size_); | ^~~~~ | size ../gexiv2/gexiv2-metadata.cpp:1320:26: error: ‘std::vector Exiv2::DataBuf::pData_’ is private within this context 1320 | memcpy(*buffer, data.pData_, data.size_); | ^~~~~~ /usr/include/exiv2/types.hpp:201:21: note: declared private here 201 | std::vector pData_; | ^~~~~~ ../gexiv2/gexiv2-metadata.cpp:1320:39: error: ‘struct Exiv2::DataBuf’ has no member named ‘size_’; did you mean ‘size’? 1320 | memcpy(*buffer, data.pData_, data.size_); | ^~~~~ | size ../gexiv2/gexiv2-metadata.cpp:1321:18: error: ‘struct Exiv2::DataBuf’ has no member named ‘size_’; did you mean ‘size’? 1321 | *size = data.size_; | ^~~~~ | size ../gexiv2/gexiv2-metadata.cpp: In function ‘gboolean gexiv2_metadata_set_exif_thumbnail_from_file(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata.cpp:1338:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 1338 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ [7/23] c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o -c ../gexiv2/gexiv2-metadata-gps.cpp FAILED: gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-gps.cpp.o -c ../gexiv2/gexiv2-metadata-gps.cpp ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘gboolean gexiv2_metadata_try_get_gps_longitude(GExiv2Metadata*, gdouble*, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:93:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 93 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode In file included from /usr/include/glib-2.0/glib/gthread.h:35, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:24, from ../gexiv2/gexiv2-metadata.h:14, from ../gexiv2/gexiv2-metadata-gps.cpp:11: /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘gboolean gexiv2_metadata_try_get_gps_latitude(GExiv2Metadata*, gdouble*, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:144:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 144 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘gboolean gexiv2_metadata_try_get_gps_altitude(GExiv2Metadata*, gdouble*, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:184:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 184 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘gboolean gexiv2_metadata_try_set_gps_info(GExiv2Metadata*, gdouble, gdouble, gdouble, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:300:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 300 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘gboolean gexiv2_metadata_try_update_gps_info(GExiv2Metadata*, gdouble, gdouble, gdouble, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:393:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 393 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp: In function ‘void gexiv2_metadata_try_delete_gps_info(GExiv2Metadata*, GError**)’: ../gexiv2/gexiv2-metadata-gps.cpp:434:73: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 434 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-gps.cpp:454:77: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 454 | g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); | ~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ [8/23] c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o -c ../gexiv2/gexiv2-metadata-iptc.cpp FAILED: gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o c++ -Igexiv2/libgexiv2.so.2.0.0.p -Igexiv2 -I../gexiv2 -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/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++11 -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fexceptions -fPIC -pthread -MD -MQ gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o -MF gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o.d -o gexiv2/libgexiv2.so.2.0.0.p/gexiv2-metadata-iptc.cpp.o -c ../gexiv2/gexiv2-metadata-iptc.cpp ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘gchar* gexiv2_metadata_get_iptc_tag_string(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:119:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 119 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode In file included from /usr/include/glib-2.0/glib/gthread.h:35, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:24, from ../gexiv2/gexiv2-metadata.h:14, from ../gexiv2/gexiv2-metadata-iptc.cpp:11: /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘gchar* gexiv2_metadata_get_iptc_tag_interpreted_string(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:145:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 145 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘gboolean gexiv2_metadata_set_iptc_tag_string(GExiv2Metadata*, const gchar*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:164:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 164 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘gchar** gexiv2_metadata_get_iptc_tag_multiple(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:201:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 201 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘gboolean gexiv2_metadata_set_iptc_tag_multiple(GExiv2Metadata*, const gchar*, const gchar**, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:243:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 243 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘const gchar* gexiv2_metadata_get_iptc_tag_label(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:257:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 257 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘const gchar* gexiv2_metadata_get_iptc_tag_description(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:271:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 271 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘const gchar* gexiv2_metadata_get_iptc_tag_type(const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:285:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 285 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ../gexiv2/gexiv2-metadata-iptc.cpp: In function ‘GBytes* gexiv2_metadata_get_iptc_tag_raw(GExiv2Metadata*, const gchar*, GError**)’: ../gexiv2/gexiv2-metadata-iptc.cpp:313:76: error: cannot convert ‘Exiv2::ErrorCode’ to ‘gint’ {aka ‘int’} 313 | g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); | ~~~~~~~^~ | | | Exiv2::ErrorCode /usr/include/glib-2.0/glib/gerror.h:230:48: note: initializing argument 3 of ‘void g_set_error_literal(GError**, GQuark, gint, const gchar*)’ 230 | gint code, | ~~~~~~~~~~~~~~~^~~~ ninja: build stopped: subcommand failed. INFO: autodetecting backend as ninja INFO: calculating backend command to run: /usr/bin/ninja -C /builddir/build/BUILD/gexiv2-0.12.3/aarch64-openEuler-linux-gnu -j 4 -v error: Bad exit status from /var/tmp/rpm-tmp.0hcN2I (%build) Bad exit status from /var/tmp/rpm-tmp.0hcN2I (%build) RPM build errors: Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.9/site-packages/mockbuild/util.py", line 598, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/libgexiv2.spec