zerotier: fix system include path#26730
Conversation
|
Cc maintainer @mwarning |
|
This patch also fixes the issue with running ZeroTier on x86_64 firmware compiled with gcc14. Kudos to the author for providing the patch. |
|
This method is proven to be effective istoreos/istoreos#2358 (comment) |
Yeah, it is being discussed in zerotier/ZeroTierOne#2453 and I see that @mwarning created this PR and it was merged: #26088 and it was also backported to OpenWrt 24.10 (#26323). |
#26088 does not completly fix the issue openwrt/openwrt#18019, that's why it was reopened. Because zerotier still use it's own miniupnpc header, so |
Yes, this patch should also work, but it changes more .c .h source, this could easily lead to conflicts in the future. |
|
@BKPepe I move CFLAGS to OpenWRT Makefile, is it better? If it's better, I will squash two commits. |
|
@jjm2473: Thanks for your PR! |
d67aac7 to
e8de6d4
Compare
|
The latter implementation looks better to me. |
|
btw please bump PKG_RELEASE |
e8de6d4 to
c87f6f0
Compare
Yeah, I agree this is much better. 💯 But the issue still lies within zerotier. They need to handle it. |
`-isystem ext` makes `#include <miniupnpc/miniupnpc.h>` actually include `ext/miniupnpc/miniupnpc.h`. we should use `$(STAGING_DIR)/usr/include` as a higher priority system include path. Fix openwrt/openwrt#18019 Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
c87f6f0 to
f4a35ed
Compare
The main problem is that zerotier does not officially support the use of external libminiupnpc when cross-compiling. |
-isystem extmakes#include <miniupnpc/miniupnpc.h>actually includeext/miniupnpc/miniupnpc.h.we should use
$(STAGING_DIR)/usr/includeas a higher priority system include path.Fix openwrt/openwrt#18019
📦 Package Details
Maintainer: @
(You can find this by checking the history of the package
Makefile.)Description:
Fix openwrt/openwrt#18019
🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git amcannot be upstram, this is a part of openwrt cross compiling path hack.