Bug 454050

Summary: libkexiv2 GIT fails to build
Product: [Frameworks and Libraries] libkexiv2 Reporter: Aaron Nixon <aaron.nixon>
Component: GeneralAssignee: imaging-bugs-null
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Aaron Nixon 2022-05-19 16:30:38 UTC
SUMMARY
Build failures lately based on an error from C++17

/var/tmp/portage/kde-apps/libkexiv2-9999/work/libkexiv2-9999/src/kexiv2_p.cpp:440:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register unsigned char c;
    ^~~~~~~~~
2 warnings and 1 error generated.


STEPS TO REPRODUCE
1. Build from GIT source (-9999 in Gentoo land)

OBSERVED RESULT
Build failure.

EXPECTED RESULT
Not build failure.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo 2.8/5.25.80
(available in About System)
KDE Plasma Version: 5.25.80
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
This may or may not have anything to do with clang++.
Comment 1 Nicolas Fella 2022-05-19 20:39:00 UTC
Git commit d0d6b191ebc1bdd2d1b722ee243b09abac5e5629 by Nicolas Fella.
Committed on 19/05/2022 at 20:38.
Pushed by nicolasfella into branch 'master'.

Remove usage of register keyword

It serves no purpose and is invalid C++17

M  +1    -1    src/kexiv2_p.cpp

https://invent.kde.org/graphics/libkexiv2/commit/d0d6b191ebc1bdd2d1b722ee243b09abac5e5629
Comment 2 Bug Janitor Service 2022-05-19 20:44:53 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/libkexiv2/-/merge_requests/8
Comment 3 Nicolas Fella 2022-05-19 20:46:44 UTC
Git commit 6dce742b86d6f1a42f80017868759a8dca677b1d by Nicolas Fella.
Committed on 19/05/2022 at 20:44.
Pushed by nicolasfella into branch 'master'.

Lower C++ standard from 17 to 14

exiv is not C++17 compatible

It uses e.g. auto_ptr in its headers

M  +3    -0    CMakeLists.txt

https://invent.kde.org/graphics/libkexiv2/commit/6dce742b86d6f1a42f80017868759a8dca677b1d
Comment 4 Nicolas Fella 2022-05-19 20:52:37 UTC
Git commit 54a2c9c974291a42959d5721a3dcb3b5ade80522 by Nicolas Fella.
Committed on 19/05/2022 at 20:39.
Pushed by nicolasfella into branch 'release/22.04'.

Remove usage of register keyword

It serves no purpose and is invalid C++17
(cherry picked from commit d0d6b191ebc1bdd2d1b722ee243b09abac5e5629)

M  +1    -1    src/kexiv2_p.cpp

https://invent.kde.org/graphics/libkexiv2/commit/54a2c9c974291a42959d5721a3dcb3b5ade80522