Source: litecoin Version: 0.21.3-1 Severity: serious Tags: FTBFS, patch User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: debian-ri...@lists.debian.org
Dear litecoin Maintainer, The package litecoin build failed on all arch.The crucial buildd log below: ``` g++ -std=c++14 -DHAVE_CONFIG_H -I. -I../src/config -I. -I./secp256k1-zkp/include -DBOOST_SP_USE_STD_ATOMIC -DBOOST_AC_USE_STD_ATOMIC -pthread -I/usr/include -I./libmw/include -I./libmw/deps/caches/include -I./libmw/deps/ghc/include -I./libmw/deps/mio/include -I./univalue/include -I. -I./libmw/include -I./libmw/deps/crypto/include -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -fstack-reuse=none -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fno-extended-identifiers -c -o libbitcoin_server_a-net_processing.o `test -f 'net_processing.cpp' || echo './'`net_processing.cpp net.cpp: In function ‘void ThreadMapPort()’: net.cpp:1640:25: error: too few arguments to function ‘int UPNP_GetValidIGD(UPNPDev*, UPNPUrls*, IGDdatas*, char*, int, char*, int)’ 1640 | r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from net.cpp:40: /usr/include/miniupnpc/miniupnpc.h:122:1: note: declared here 122 | UPNP_GetValidIGD(struct UPNPDev * devlist, | ^~~~~~~~~~~~~~~~ g++ -std=c++14 -DHAVE_CONFIG_H -I. -I../src/config -I. -I./secp256k1-zkp/include -DBOOST_SP_USE_STD_ATOMIC -DBOOST_AC_USE_STD_ATOMIC -pthread -I/usr/include -I./libmw/include -I./libmw/deps/caches/include -I./libmw/deps/ghc/include -I./libmw/deps/mio/include -I./univalue/include -I. -I./libmw/include -I./libmw/deps/crypto/include -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -fstack-reuse=none -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fno-extended-identifiers -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo './'`noui.cpp make[4]: *** [Makefile:12078: libbitcoin_server_a-net.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory '/<<PKGBUILDDIR>>/src' make[3]: *** [Makefile:20568: all-recursive] Error 1 make[3]: Leaving directory '/<<PKGBUILDDIR>>/src' make[2]: *** [Makefile:815: all-recursive] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_build: error: make -j6 returned exit code 2 make[1]: *** [debian/rules:32: override_dh_auto_build] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:12: build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2 ``` The full buildd log is here: https://buildd.debian.org/status/fetch.php?pkg=litecoin&arch=amd64&ver=0.21.3-1%2Bb2&stamp=1730765178&raw=0 My solution to this issue: According to the error message, the issue lies in the call to the UPNP_GetValidIGD function, indicating an insufficient number of arguments. In newer versions, the function signature of UPNP_GetValidIGD has been updated with additional parameters, such as char *errorMsg and int errorMsgLen. I resolved the issue by adding the required parameters for the new version, while also incorporating conditional checks to ensure compatibility with older versions of miniupnpc.I have tested this solution locally,and it works well.The debpatch is in the attachment.Please let me know whether this solution can be accepted. Gui-Yue Best regards
fix_litecoin_build_failed.patch
Description: Binary data