Skip to content

Build failure when building against zxing-cpp 3.0.0+ #288

@hosiet

Description

@hosiet

Previously building feather would trigger the following warning:

[ 94%] Building CXX object src/CMakeFiles/feather.dir/qrcode/utils/QrCodeUtils.cpp.o
cd /build/reproducible-path/feather-wallet-2.8.1+dfsg/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DFEATHER_TARGET_TRIPLET=\"\" -DFEATHER_VERSION=\"2.8.1\" -DHAS_WEBSOCKET=1 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG=1 -DQT_SVGWIDGETS_LIB -DQT_SVG_LIB -DQT_WAYLANDCLIENT_LIB -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -DTOR_VERSION=\"\" -DWITH_SCANNER=1 -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/obj-x86_64-linux-gnu/src/feather_autogen/include -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/include -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/src -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/external -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/external/easylogging++ -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/contrib/epee/include -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/src -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/libwalletqt -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/model -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/utils -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode -I/build/reproducible-path/feather-wallet-2.8.1+dfsg/monero/contrib/epee/src/../include -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt6/QtSvg -isystem /usr/include/x86_64-linux-gnu/qt6/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt6/QtSvgWidgets -isystem /usr/include/x86_64-linux-gnu/qt6/QtMultimedia -isystem /usr/include/x86_64-linux-gnu/qt6/QtMultimediaWidgets -isystem /usr/include/x86_64-linux-gnu/qt6/QtWaylandClient -g -O2 -ffile-prefix-map=/build/reproducible-path/feather-wallet-2.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2   -Wformat -Wformat-security -fstack-protector -fstack-protector-strong -fcf-protection=full -fstack-clash-protection -fPIC -Dcryptonote=MWYSUTPAXIBT -std=gnu++17 -MD -MT src/CMakeFiles/feather.dir/qrcode/utils/QrCodeUtils.cpp.o -MF CMakeFiles/feather.dir/qrcode/utils/QrCodeUtils.cpp.o.d -o CMakeFiles/feather.dir/qrcode/utils/QrCodeUtils.cpp.o -c /build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp
In file included from /build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp:4:
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.h:30:87: warning: ‘using ZXing::DecodeHints = class ZXing::ReaderOptions’ is deprecated [-Wdeprecated-declarations]
   30 |     static Result ReadBarcode(const QImage& img, const ZXing::DecodeHints& hints = { });
      |                                                                                       ^
In file included from /usr/include/ZXing/ReadBarcode.h:8,
                 from /build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.h:10:
/usr/include/ZXing/ReaderOptions.h:176:7: note: declared here
  176 | using DecodeHints [[deprecated]] = ReaderOptions;
      |       ^~~~~~~~~~~
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp:6:83: warning: ‘using ZXing::DecodeHints = class ZXing::ReaderOptions’ is deprecated [-Wdeprecated-declarations]
    6 | Result QrCodeUtils::ReadBarcode(const QImage& img, const ZXing::DecodeHints& hints)
      |                                                                                   ^
/usr/include/ZXing/ReaderOptions.h:176:7: note: declared here
  176 | using DecodeHints [[deprecated]] = ReaderOptions;
      |       ^~~~~~~~~~~
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp: In lambda function:
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp:13:44: warning: ‘ZXing::ImageFormat::BGRX’ is deprecated: use BGRA [-Wdeprecated-declarations]
   13 |                 return ZXing::ImageFormat::BGRX;
      |                                            ^~~~
In file included from /usr/include/ZXing/ReadBarcode.h:9:
/usr/include/ZXing/ImageView.h:29:9: note: declared here
   29 |         BGRX [[deprecated("use BGRA")]] = BGRA,
      |         ^~~~
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.cpp:24:44: warning: ‘ZXing::ImageFormat::RGBX’ is deprecated: use RGBA [-Wdeprecated-declarations]
   24 |                 return ZXing::ImageFormat::RGBX;
      |                                            ^~~~
/usr/include/ZXing/ImageView.h:27:9: note: declared here
   27 |         RGBX [[deprecated("use RGBA")]] = RGBA,

The usage of DecodeHints is deprecated, see:

static Result ReadBarcode(const QImage& img, const ZXing::DecodeHints& hints = { });

This interface has been removed in zxing-cpp/zxing-cpp@a9a2b20 .

With zxing-cpp 3.0.0+, the software building would result in errors due to its removal of deprecated interface:

In file included from /build/reproducible-path/feather-wallet-2.8.1+dfsg/src/widgets/PayToEdit.cpp:16:
/build/reproducible-path/feather-wallet-2.8.1+dfsg/src/qrcode/utils/QrCodeUtils.h:30:63: error: ‘DecodeHints’ in namespace ‘ZXing’ does not name a type
   30 |     static Result ReadBarcode(const QImage& img, const ZXing::DecodeHints& hints = { });
      |                                                               ^~~~~~~~~~~
make[3]: *** [src/CMakeFiles/feather.dir/build.make:2221: src/CMakeFiles/feather.dir/widgets/PayToEdit.cpp.o] Error 1

Please consider replacing the usage of deprecated apis and make your software compatible with zxing-cpp 3.0.0+. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions