I'm getting the following error rebuilding net-p2p/transmission-components after updating net/miniupnpc to 2.2.8 (a270dbfaa9ce47608d63a201c786e5d4695447ca). [ 49% 40/81] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-cli/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc FAILED: libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-cli/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc:278:13: error: no matching function for call to 'UPNP_GetValidIGD' 278 | if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) == | ^~~~~~~~~~~~~~~~ /usr/local/include/miniupnpc/miniupnpc.h:122:1: note: candidate function not viable: requires 7 arguments, but 5 were provided 122 | UPNP_GetValidIGD(struct UPNPDev * devlist, | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | struct UPNPUrls * urls, | ~~~~~~~~~~~~~~~~~~~~~~~ 124 | struct IGDdatas * data, | ~~~~~~~~~~~~~~~~~~~~~~~ 125 | char * lanaddr, int lanaddrlen, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | char * wanaddr, int wanaddrlen); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ninja: build stopped: subcommand failed. *** Error code 1
Note: VERSION 2.2.8 : released 2024/06/09 <...> 2024/05/08: <...> UPNP_GetValidIGD(): distinguish between not connected and connected to a "private" network (with a reserved IP address).
Fix for this: https://github.com/transmission/transmission/commit/febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8
Created attachment 252077 [details] v0 (completely untested, apply via `git am`) I can't try building it right now, but something like this may work.
Created attachment 252080 [details] v1 (apply via `git am`) Unfortunately, PATCH_SITES + PATCHFILES won't work -- mentioned commit changes bundled miniupnpc which we don't use, thus patching fails. I've manually edited patch to include only relevant changes here.
Created attachment 252081 [details] poudriere build success log (w/ patch applied) Tested with daemon flavor -- builds fine.
Created attachment 252082 [details] v2 (apply via `git am`) Actually PORTREVISION bump isn't necessary because: 1. It has been bumped in a270dbfaa9ce47608d63a201c786e5d4695447ca already. 2. We do not require bump on 'just make it build' things. I believe this is the final patch version (if method itself is acceptable).
Smaller patch: --- libtransmission/port-forwarding-upnp.cc.orig 2024-05-29 01:38:35 UTC +++ libtransmission/port-forwarding-upnp.cc @@ -275,8 +275,11 @@ tr_port_forwarding_state tr_upnpPulse(tr_upnp* handle, FreeUPNPUrls(&handle->urls); auto lanaddr = std::array<char, TR_ADDRSTRLEN>{}; - if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) == - UPNP_IGD_VALID_CONNECTED) + if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1 +#if (MINIUPNPC_API_VERSION >= 18) + , nullptr, 0 +#endif + ) == UPNP_IGD_VALID_CONNECTED) { tr_logAddInfo(fmt::format(_("Found Internet Gateway Device '{url}'"), fmt::arg("url", handle->urls.controlURL))); tr_logAddInfo(fmt::format(_("Local Address is '{address}'"), fmt::arg("address", lanaddr.data())));
games/0ad seems to fail with the same error. Should we open a new bug or fix everything here? ../../../source/network/NetServer.cpp:305:9: error: no matching function for call to 'UPNP_GetValidIGD' 305 | ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress)); | ^~~~~~~~~~~~~~~~ /usr/local/include/miniupnpc/miniupnpc.h:122:1: note: candidate function not viable: requires 7 arguments, but 5 were provided 122 | UPNP_GetValidIGD(struct UPNPDev * devlist, | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | struct UPNPUrls * urls, | ~~~~~~~~~~~~~~~~~~~~~~~ 124 | struct IGDdatas * data, | ~~~~~~~~~~~~~~~~~~~~~~~ 125 | char * lanaddr, int lanaddrlen, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | char * wanaddr, int wanaddrlen); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.
(In reply to Stefan Ehmann from comment #8) Can you create, test and attach patch? And also report upstream about this issue. I think we need exp-run for net/miniupnpc 2.2.8 and find all broken ports. $ grep miniupnpc /usr/ports/INDEX-14 | wc -l 31
(In reply to Vladimir Druzenko from comment #9) Can't you do the test yourself?
(In reply to Antoine Brodin from comment #10) 30 ports? Can't. I tested net-p2p/transmission-* only.
(In reply to Vladimir Druzenko from comment #11) You only have to test around 22 ports
(In reply to Vladimir Druzenko from comment #7) I suppose we don't need 'smaller' patches. What proposed by me is literally patch from upstream, just with irrelevant files cut. IMHO sticking to upstream code as much as possible is more important than 20 saved bytes.
Need testing: emulators/dolphin-emu emulators/libretro-ppsspp emulators/ppsspp emulators/ppsspp-qt5 games/DDNet games/libretro games/megaglest games/openclonk games/simutrans games/warzone2100 irc/iroffer-dinoex mail/aerc net/dante net/py-miniupnpc net-p2p/bitcoin net-p2p/bitcoin-daemon net-p2p/litecoin net-p2p/litecoin-daemon net-p2p/monero-cli net-p2p/namecoin net-p2p/namecoin-daemon net-p2p/retroshare Fails, no patch: games/0ad Fails, patch tested, but not committed: net-p2p/transmission-components net-p2p/transmission-components net-p2p/transmission-components net-p2p/transmission-components net-p2p/transmission-components net-p2p/transmission-components Build without errors: net-p2p/transmission
(In reply to Anton Saietskii from comment #13) You're probably right, but in any case we're waiting for the maintainer's decision.
(In reply to Stefan Ehmann from comment #8) Obviously, maintainer of net-p2p/transmission components can't approve patch for games/0ad, so the first guess would be separate PRs for each broken port (with 'See Also' here as earliest PR). However, some time ago there was a similar breakage with net-p2p/tremotesf which is maintained by me. The committer (and change author) reported issue to upstream and did other required stuff to make my port (and probably others affected) build again. But current breakage requires change not in miniupnpc, but rather all or at least some of ports depend on it. Perhaps dinoex@ as a committer whose change caused this can be politely asked to check dependent ports (and fix them?), however I'm unaware of policies to process such situations, and unsure if my guess of asking that is correct.
Created attachment 252089 [details] patch to fix build of games/0ad https://bugs.gentoo.org/934315 contains additional changes. They are not required for building. I'm not sure if the changes just affect logging or fix actual runtime problems.
(In reply to Stefan Ehmann from comment #17) That's great you had some free time to make a patch. But I'd like to note couple of things here: 1. According to Committer's Guide [0], first letter after prefix should be capitalized, e.g. 'category/portname: Fix ...', not 'fix'. 2. Unfortunately, this PR isn't associated with games/0ad in a way Bugzilla understands, thus its maintainer have not been notified.
(In reply to Anton Saietskii from comment #18) I'm sorry, forgot to put the link: [0]: https://docs.freebsd.org/en/articles/committers-guide/#_capitalize_the_first_letter_of_the_subject
Tested build all ports from list. Added all maintainers to CC. Fails, no patch: no maintainer: emulators/libretro-ppsspp emulators/ppsspp emulators/ppsspp-qt5 games/libretro (depends on failed emulators/libretro-ppsspp) net-p2p/monero-cli with maintainer: games/DDNet amdmi3@FreeBSD.org games/openclonk kevinz5000@gmail.com games/simutrans amdmi3@FreeBSD.org mail/aerc (depends on failed net/dante) iamsleepy@ryuki.me net/dante danfe@FreeBSD.org net-p2p/bitcoin kbowling@FreeBSD.org net-p2p/bitcoin-daemon kbowling@FreeBSD.org net-p2p/litecoin hsw@bitmark.com net-p2p/litecoin-daemon hsw@bitmark.com net-p2p/namecoin milios@ccsys.com net-p2p/namecoin-daemon milios@ccsys.com net-p2p/retroshare peter@netkey.at Fails, patch tested, but not committed: games/0ad madpilot@FreeBSD.org net-p2p/transmission-components mondo.debater_0q@icloud.com Build without errors: emulators/dolphin-emu games/megaglest games/warzone2100 irc/iroffer-dinoex net/py-miniupnpc net-p2p/transmission
(In reply to Anton Saietskii from comment #16) > Obviously, maintainer of net-p2p/transmission components can't approve patch for games/0ad I said about approve patch for net-p2p/transmission only. Later I'll try to find time to create patches at least for ports without maintainers.
(In reply to Stefan Ehmann from comment #17) Look like better to get this part too. Also check upstream - issues, pool requests, commits or even new fixed version.
Thanks for bringing our attention to this issue. I was wondering why my port suddenly started getting pkg-fallout mail :) When we have patches available, would you prefer that we create new PR's or attach patches to this PR?
(In reply to Kevin Zheng from comment #23) If there is nothing to discuss in the patch, then I see no point in creating a separate PR. But if suddenly there is something more complex, then it is better to put it in a separate PR.
Created attachment 252090 [details] Patch for games/openclonk Patch for games/openclonk. I'm the maintainer (so implicit approval).
(In reply to Kevin Zheng from comment #25) > Patch for games/openclonk To make it more easily upstreamable, perhaps it's better to depend on the MINIUPNPC_API_VERSION as shown e.g. in comment #7 (that's also what most other projects do, albeit they normally don't put #if...#endif inside the function, but spell out two calls with different arguments instead).
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=5a73a52238fef2d144f2a4eeeea16a3d09f5cad9 commit 5a73a52238fef2d144f2a4eeeea16a3d09f5cad9 Author: Alexey Dokuchaev <danfe@FreeBSD.org> AuthorDate: 2024-07-16 08:11:22 +0000 Commit: Alexey Dokuchaev <danfe@FreeBSD.org> CommitDate: 2024-07-16 08:11:22 +0000 net/dante: unbreak the port's build (chase commit a270dbfaa9ce) PR: 280298, 280304 Reported by: Mark McBride, pkg-fallout net/dante/files/patch-lib_upnp.c (new) | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
(In reply to Stefan Ehmann from comment #17) Hi! Thanks for the patch and the link. The patch itself looks right, but I think we need to get the full patch from gentoo. Upstream did change the return codes: https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-5a0d7cff00628c2c64a617edb347c0f283e3a75e7df910e7e8438fc6db23f610 I have still not tested the patch, I'll test it and commit ASAP.
(In reply to commit-hook from comment #27) Alexey Dokuchaev, net/dante need patch for include/common.h too: /* return codes from UPNP_GetValidIGD(). */ #define UPNP_NO_IGD (0) #define UPNP_CONNECTED_IGD (1) #define UPNP_DISCONNECTED_IGD (2) #define UPNP_UNKNOWN_DEVICE (3) Upstream changed returned error codes too: https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-955f89395e8ce2fe4774d4e89f4237cf3d4a2f441a899b4259f1bb82e4e2d6a9L730 And they didn't use difines for error codes!!!
I still do not believe this was fixed. Using a freshly updated ports tree: I have updated miniupnpc to 2.2.8 [root@meatwad 11:22 transmission-components]$ pkg info | grep mini miniupnpc-2.2.8 UPnP IGD client lightweight library when I run: [root@meatwad 11:22 transmission-components]$ make FLAVOR=daemon reinstall clean I get an error around the area it is calling miniupnpc usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc:278:13: error: no matching function for call to 'UPNP_GetValidIGD' 278 | if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) == | ^~~~~~~~~~~~~~~~ /usr/local/include/miniupnpc/miniupnpc.h:122:1: note: candidate function not viable: requires 7 arguments, but 5 were provided 122 | UPNP_GetValidIGD(struct UPNPDev * devlist, | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | struct UPNPUrls * urls, | ~~~~~~~~~~~~~~~~~~~~~~~ 124 | struct IGDdatas * data, | ~~~~~~~~~~~~~~~~~~~~~~~ 125 | char * lanaddr, int lanaddrlen, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | char * wanaddr, int wanaddrlen); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. [ 6% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-metainfo.cc [ 10% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-files.cc [ 13% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-magnet.cc ninja: build stopped: subcommand failed. ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[2]: stopped in /usr/ports/net-p2p/transmission-components *** Error code 1 Stop. make[1]: stopped in /usr/ports/net-p2p/transmission-components *** Error code 1 Stop. make: stopped in /usr/ports/net-p2p/transmission-components
(In reply to Alex from comment #30) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280298#c20 Fails, patch tested, but NOT COMMITTED: games/0ad madpilot@FreeBSD.org net-p2p/transmission-components mondo.debater_0q@icloud.com
(In reply to Alex from comment #30) Obviously, you didn't apply the patch or did that incorrectly.
Apologies, I sort of am familiar with the ports system but definitely do not yet have enough expertise to manually apply patches. Will wait for them to be committed. Thank you! Alex
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=012e8794d732dfc026e160bede5e78862dd65fae commit 012e8794d732dfc026e160bede5e78862dd65fae Author: Guido Falsi <madpilot@FreeBSD.org> AuthorDate: 2024-07-16 20:56:18 +0000 Commit: Guido Falsi <madpilot@FreeBSD.org> CommitDate: 2024-07-16 20:56:18 +0000 games/0ad: Fix build with miniupnpc 2.2.8 PR: 280298 Suggested by: Stefan Ehmann <shoesoft@gmx.net> Obtained from: https://bugs.gentoo.org/934315 .../files/patch-source_network_NetServer.cpp (new) | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0d4b8e3eb1ce5e440142354d41b39814f632af15 commit 0d4b8e3eb1ce5e440142354d41b39814f632af15 Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2024-07-17 04:20:19 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2024-07-17 04:20:19 +0000 net-p2p/bitcoin: Fix build with miniupnpc 2.2.8 PR: 280298 Reported by: pkg-fallout net-p2p/bitcoin/Makefile | 3 +++ net-p2p/bitcoin/distinfo | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-)
(In reply to Vladimir Druzenko from comment #31) I’ve approved the patch, but I’m not a committer. I would appreciate it if you could commit. Thanks!
(In reply to Rafe from comment #36) Patch from Anton Saietskii (https://bugs.freebsd.org/bugzilla/attachment.cgi?id=252082&action=diff)?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=263d5293fc66e3f9f48a8cc3217235fb933d1f08 commit 263d5293fc66e3f9f48a8cc3217235fb933d1f08 Author: Anton Saietskii <vsasjason@gmail.com> AuthorDate: 2024-07-17 09:03:29 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-07-17 09:09:29 +0000 net-p2p/transmission-components: Fix build with miniupnpc-2.2.8 /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc:278:13: error: no matching function for call to 'UPNP_GetValidIGD' 278 | if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) == | ^~~~~~~~~~~~~~~~ /usr/local/include/miniupnpc/miniupnpc.h:122:1: note: candidate function not viable: requires 7 arguments, but 5 were provided 122 | UPNP_GetValidIGD(struct UPNPDev * devlist, | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | struct UPNPUrls * urls, | ~~~~~~~~~~~~~~~~~~~~~~~ 124 | struct IGDdatas * data, | ~~~~~~~~~~~~~~~~~~~~~~~ 125 | char * lanaddr, int lanaddrlen, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | char * wanaddr, int wanaddrlen); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ninja: build stopped: subcommand failed. *** Error code 1 PR: 280298 Approved by: Rafe <mondo.debater_0q@icloud.com> (maintainer) Obtained from: https://github.com/transmission/transmission/commit/febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8 .../patch-libtransmission_port-forwarding-upnp.cc (new) | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
Not fixed yet: Fails, no patch: no maintainer: emulators/libretro-ppsspp emulators/ppsspp emulators/ppsspp-qt5 games/libretro (depends on failed emulators/libretro-ppsspp) net-p2p/monero-cli with maintainer: games/DDNet amdmi3@FreeBSD.org games/openclonk kevinz5000@gmail.com games/simutrans amdmi3@FreeBSD.org net-p2p/litecoin hsw@bitmark.com net-p2p/litecoin-daemon hsw@bitmark.com net-p2p/namecoin milios@ccsys.com net-p2p/namecoin-daemon milios@ccsys.com net-p2p/retroshare peter@netkey.at
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=57569e0b98a87e08032fe64c106958b8e439ebd7 commit 57569e0b98a87e08032fe64c106958b8e439ebd7 Author: Vladimir Druzenko <vvd@FreeBSD.org> AuthorDate: 2024-07-17 13:31:55 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-07-17 13:31:55 +0000 emulators/{,libretro-}ppsspp{,-qt5}: Fix build with miniupnpc-2.2.8 Upstream bug report: https://github.com/hrydgard/ppsspp/issues/19333 While here fix plist error in libretro-ppsspp and pet portclippy. PR: 280298 emulators/libretro-ppsspp/Makefile | 6 +- emulators/ppsspp-qt5/Makefile | 6 +- emulators/ppsspp/Makefile | 78 +++++++++++----------- .../files/patch-Core_Util_PortManager.cpp (new) | 25 +++++++ 4 files changed, 69 insertions(+), 46 deletions(-)
(In reply to Anton Saietskii from comment #16) Thanks, I will fix the unmaintained ports.
games/simutrans: https://cgit.freebsd.org/ports/commit/?id=d86e9f39581e4e5cc1fa972b05ddb5d04c20a43e Current status about those ports that have not yet been fixed: no maintainer: net-p2p/monero-cli with maintainer: games/DDNet amdmi3@FreeBSD.org games/openclonk kevinz5000@gmail.com - the patch needs to be improved net-p2p/litecoin hsw@bitmark.com net-p2p/litecoin-daemon hsw@bitmark.com net-p2p/namecoin milios@ccsys.com net-p2p/namecoin-daemon milios@ccsys.com net-p2p/retroshare peter@netkey.at
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=e71086573796589c56d292163011005ec354b94e commit e71086573796589c56d292163011005ec354b94e Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 14:35:47 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 14:35:47 +0000 dns/kadnode: fix build with miniupnpc 2.2.8 PR: 280298 dns/kadnode/files/patch-src_upnp.c (new) | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=49c08288dee302df00202b879cfd77b09c83b781 commit 49c08288dee302df00202b879cfd77b09c83b781 Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 15:08:14 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 15:08:14 +0000 net-p2p/monero-cli: fix build with miniupnpc 2.2.8 PR: 280298 .../monero-cli/files/patch-src_p2p_net__node.inl | 32 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=bb1eec01459cd3ecf428e643288cdba3d4cbf5bc commit bb1eec01459cd3ecf428e643288cdba3d4cbf5bc Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 15:33:31 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 15:33:31 +0000 net-p2p/litecoin: fix build with miniupnpc 2.2.8 PR: 280298 net-p2p/litecoin/files/patch-src_net.cpp (new) | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=658883b83bbeaa49b6f937b3acdf2a26a0a41145 commit 658883b83bbeaa49b6f937b3acdf2a26a0a41145 Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 15:46:04 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 15:46:04 +0000 net-p2p/namecoin: fix build with miniupnpc 2.2.8 PR: 280298 net-p2p/namecoin/files/patch-src_mapport.cpp (new) | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8752173ea61388bdfe12b38b300ff14569603634 commit 8752173ea61388bdfe12b38b300ff14569603634 Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 15:58:06 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 15:58:06 +0000 net-p2p/retroshare: fix build with miniupnpc 2.2.8 PR: 280298 ...ibretroshare_src_upnp_upnphandler_miniupnp.cc (new) | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d3319c96b939b0c7e0c7548a34d24a3c5030e274 commit d3319c96b939b0c7e0c7548a34d24a3c5030e274 Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-07-19 16:05:38 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-07-19 16:05:38 +0000 net-p2p/retroshare: fix build with miniupnpc 2.2.8 PR: 280298 .../files/patch-src_network_C4Network2UPnPLinux.cpp (new) | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
(In reply to commit-hook from comment #48) Some of ports same return code and use it before and upstream broke return codes too. Did you check this in your patches?
For example net-p2p/monero-cli use it: result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress); freeUPNPDevlist(deviceList); if (result > 0) { if (result == 1) { std::ostringstream portString; portString << port; // Delete the port mapping before we create it, just in case we have dangling port mapping from the daemon not being shu t down correctly UPNP_DeletePortMapping(urls.controlURL, igdData.first.servicetype, portString.str().c_str(), "TCP", 0); int portMappingResult; portMappingResult = UPNP_AddPortMapping(urls.controlURL, igdData.first.servicetype, portString.str().c_str(), portString .str().c_str(), lanAddress, CRYPTONOTE_NAME, "TCP", 0, "0"); if (portMappingResult != 0) { LOG_ERROR("UPNP_AddPortMapping failed, error: " << strupnperror(portMappingResult)); } else { MLOG_GREEN(el::Level::Info, "Added IGD port mapping."); } } else if (result == 2) { MWARNING("IGD was found but reported as not connected."); } else if (result == 3) { MWARNING("UPnP device was found but not recognized as IGD."); } else { MWARNING("UPNP_GetValidIGD returned an unknown result code."); } But this was changed: https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-5a0d7cff00628c2c64a617edb347c0f283e3a75e7df910e7e8438fc6db23f610L108 Also better to check upstream patches/issues and get or post patch.
I'm chiming in about the suggested improvement for the patch for games/openclonk. I'm happy with this version of the patch for committing to the ports tree. I will separately upstream an improved patch with the #ifdef for upstream.
security/i2pd is broken either
(In reply to Igor Pavlov from comment #52) > security/i2pd is broken either With non-default option - can't find via grep INDEX. Added maintainer driesm@FreeBSD.org to CC.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=12a18174c4f6dbfd63e4902723a12d32a9552e8c commit 12a18174c4f6dbfd63e4902723a12d32a9552e8c Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2024-08-16 15:02:16 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2024-08-16 15:02:16 +0000 net-p2p/monero-cli: fix returcode with miniupnpc 2.2.8 PR: 280298 net-p2p/monero-cli/Makefile | 2 +- .../monero-cli/files/patch-src_p2p_net__node.inl | 27 +++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-)
Looks like we fixed all ports. Reopen this PR if I'm wrong.