mwarning / zerotier-openwrt

A OpenWrt package for ZeroTier One - Pull requests are welcome!
697 stars 146 forks source link

Updates to 1.14.1 #130

Closed ogarcia closed 2 months ago

ogarcia commented 2 months ago

I have tried to update the package to 1.14.1 but unfortunately it does not compile. It seems to have some problem with AES:

mipsel-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -msoft-float -fmacro-prefix-map=/data/build_dir/target-mipsel_24kc_musl/ZeroTierOne-1.14.1=ZeroTierOne-1.14.1 -mips16 -minterlink-mips16 -ffunction-sections -fdata-sections -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -mips16 -minterlink-mips16 -ffunction-sections -fdata-sections  -I/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/usr/include -I/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/include -I/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/include/fortify  -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -DNDEBUG -DZT_USE_MINIUPNPC -DZT_USE_SYSTEM_MINIUPNPC -DZT_USE_SYSTEM_NATPMP -DZT_NO_TYPE_PUNNING -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=5 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -L/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/usr/lib -L/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib -fuse-ld=bfd -Wl,--gc-sections -znow -zrelro -Wl,--as-needed -Wl,-z,noexecstack  -Wl,-z -o zerotier-one node/AES.o node/AES_aesni.o node/AES_armcrypto.o node/C25519.o node/Capability.o node/CertificateOfMembership.o node/CertificateOfOwnership.o node/Identity.o node/IncomingPacket.o node/InetAddress.o node/Membership.o node/Metrics.o node/Multicaster.o node/Network.o node/NetworkConfig.o node/Node.o node/OutboundMulticast.o node/Packet.o node/Path.o node/Peer.o node/Poly1305.o node/Revocation.o node/Salsa20.o node/SelfAwareness.o node/SHA512.o node/Switch.o node/Tag.o node/Topology.o node/Trace.o node/Utils.o node/Bond.o node/PacketMultiplexer.o controller/EmbeddedNetworkController.o controller/DBMirrorSet.o controller/DB.o controller/FileDB.o controller/LFDB.o controller/PostgreSQL.o osdep/EthernetTap.o osdep/ManagedRoute.o osdep/Http.o osdep/OSUtils.o service/SoftwareUpdater.o service/OneService.o osdep/LinuxEthernetTap.o osdep/LinuxNetLink.o osdep/PortMapper.o ext/http-parser/http_parser.o one.o -latomic -lminiupnpc -lnatpmp
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: warning: -z node/AES.o ignored
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: node/Packet.o: in function `ZeroTier::Packet::armor(void const*, bool, ZeroTier::AES const*)':
Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0x5e): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0x68): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0x72): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0x7a): undefined reference to `ZeroTier::AES::GMAC::finish(unsigned char*)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0x94): undefined reference to `ZeroTier::AES::p_encryptSW(unsigned char const*, unsigned char*) const'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0xe6): undefined reference to `ZeroTier::AES::CTR::crypt(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet5armorEPKvbPKNS_3AESE+0xec): undefined reference to `ZeroTier::AES::CTR::finish()'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: node/Packet.o: in function `ZeroTier::Packet::dearmor(void const*, ZeroTier::AES const*)':
Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0xb6): undefined reference to `ZeroTier::AES::p_decryptSW(unsigned char const*, unsigned char*) const'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0xf2): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0xfc): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0x10a): undefined reference to `ZeroTier::AES::CTR::crypt(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0x118): undefined reference to `ZeroTier::AES::CTR::finish()'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0x122): undefined reference to `ZeroTier::AES::GMAC::update(void const*, unsigned int)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Packet.cpp:(.text._ZN8ZeroTier6Packet7dearmorEPKvPKNS_3AESE+0x12a): undefined reference to `ZeroTier::AES::GMAC::finish(unsigned char*)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: node/Peer.o: in function `ZeroTier::Peer::Peer(ZeroTier::RuntimeEnvironment const*, ZeroTier::Identity const&, ZeroTier::Identity const&)':
Peer.cpp:(.text._ZN8ZeroTier4PeerC2EPKNS_18RuntimeEnvironmentERKNS_8IdentityES6_+0x4f2): undefined reference to `ZeroTier::AES::p_initSW(unsigned char const*)'
/data/staging_dir/toolchain-mipsel_24kc_gcc-13.3.0_musl/lib/gcc/mipsel-openwrt-linux-musl/13.3.0/../../../../mipsel-openwrt-linux-musl/bin/ld.bfd: Peer.cpp:(.text._ZN8ZeroTier4PeerC2EPKNS_18RuntimeEnvironmentERKNS_8IdentityES6_+0x50e): undefined reference to `ZeroTier::AES::p_initSW(unsigned char const*)'
collect2: error: ld returned 1 exit status
make[3]: *** [make-linux.mk:380: zerotier-one] Error 1

It is possible that the problem is in the upstream code, but it was just in case you could think of something @mwarning

mwarning commented 2 months ago

I refreshed the patches and it compiles. I will continue tomorrow.

mwarning commented 2 months ago

Let's see: https://github.com/openwrt/packages/pull/24990

ogarcia commented 2 months ago

@mwarning If you want to send the changes you made in https://github.com/openwrt/packages/pull/24990 here so we have everything updated :-)

mwarning commented 2 months ago

@mwarning If you want to send the changes you made in openwrt/packages#24990 here so we have everything updated :-)

next time :-)