openwrt / packages

Community maintained packages for OpenWrt. Documentation for submitting pull requests is in CONTRIBUTING.md
GNU General Public License v2.0
3.88k stars 3.4k forks source link

openconnect - build failing on aarch64_cortex-a53 #20976

Open greem opened 1 year ago

greem commented 1 year ago

Maintainer: @rsalvaterra (last specific committer!) Environment: aarch64_cortex-a53, Dynalink DL-WRX36, SNAPSHOT

Description:

openconnect package is not in the available packages list. Checking build logs reveals:


Applying ./patches/001-Use-OpenSSL_version-not-deprecated-SSLeay_version.patch using plaintext: 
patching file openssl.c
configure: loading site script /builder/shared-workdir/build/sdk/include/site/aarch64
checking pkg-config is at least version 0.9.0... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-openwrt-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for a BSD-compatible install... /builder/shared-workdir/build/sdk/staging_dir/host/bin/install -c
checking whether build environment is sane... yes
checking for aarch64-openwrt-linux-strip... aarch64-openwrt-linux-musl-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for aarch64-openwrt-linux-gcc... aarch64-openwrt-linux-musl-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether aarch64-openwrt-linux-musl-gcc accepts -g... yes
checking for aarch64-openwrt-linux-musl-gcc option to accept ISO C89... none needed
checking whether aarch64-openwrt-linux-musl-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-openwrt-linux-musl-gcc... none
checking for aarch64-openwrt-linux-musl-gcc option to accept ISO C99... none needed
configure: Applying feature macros for GNU build
checking for xdg-open... checking for xdg-open... no
checking for fdevname_r... no
checking for statfs... yes
checking for getline... yes
checking for strcasestr... yes
checking for strndup... yes
checking for strchrnul... yes
checking for asprintf... yes
checking for vasprintf... yes
checking for __builtin_clz... yes
checking for supported compiler flags...  -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Werror=pointer-to-int-cast -Werror-implicit-function-declaration -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wnested-externs -Wpointer-arith -Wwrite-strings
checking For memset_s... no
checking for explicit_memset... no
checking for explicit_bzero... yes
checking For localtime_r... yes
checking for socket... yes
checking for inet_aton... yes
checking for IPV6_PATHMTU socket option... yes
checking for __android_log_vprint... no
checking for __android_log_vprint in -llog... no
checking for nl_langinfo... yes
checking for posix_spawn... yes
checking for ld... aarch64-openwrt-linux-musl-ld
checking if the linker (aarch64-openwrt-linux-musl-ld) is GNU ld... yes
checking for shared library run path origin... done
checking 32-bit host C ABI... no
checking for ELF binary format... no
checking for the common suffixes of directories in the library search path... lib,lib,lib
checking for iconv... yes
checking for working iconv... guessing yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for GNUTLS... no
checking for OPENSSL... yes
checking for P11KIT... yes
checking for LIBP11... yes
checking for known-broken versions of OpenSSL... no
checking for ENGINE_by_id() in OpenSSL... yes
checking for dtls1_stop_timer() in OpenSSL... no
checking for DTLS_client_method() in OpenSSL... yes
checking for SSL_CTX_set_min_proto_version() in OpenSSL... yes
checking for BIO_meth_free() in OpenSSL... yes
checking for HMAC_CTX_copy... yes
checking for SSL_CIPHER_find() in OpenSSL... yes
checking for HKDF support in OpenSSL... yes
checking for swtpm... no
checking for tpm2tss-genkey... no
checking for create_tpm2_key... no
checking for softhsm2-util... no
checking for egrep... /builder/shared-workdir/build/sdk/staging_dir/host/bin/egrep
checking how to print strings... printf
checking for a sed that does not truncate output... /builder/shared-workdir/build/sdk/staging_dir/host/bin/sed
checking for fgrep... /bin/fgrep
checking for ld used by aarch64-openwrt-linux-musl-gcc... aarch64-openwrt-linux-musl-ld
checking if the linker (aarch64-openwrt-linux-musl-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... aarch64-openwrt-linux-musl-gcc-nm
checking the name lister (aarch64-openwrt-linux-musl-gcc-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to aarch64-openwrt-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for aarch64-openwrt-linux-musl-ld option to reload object files... -r
checking for aarch64-openwrt-linux-objdump... aarch64-openwrt-linux-musl-objdump
checking how to recognize dependent libraries... pass_all
checking for aarch64-openwrt-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for aarch64-openwrt-linux-ar... aarch64-openwrt-linux-musl-gcc-ar
checking for archiver @FILE support... @
checking for aarch64-openwrt-linux-strip... (cached) aarch64-openwrt-linux-musl-strip
checking for aarch64-openwrt-linux-ranlib... aarch64-openwrt-linux-musl-gcc-ranlib
checking command to parse aarch64-openwrt-linux-musl-gcc-nm output from aarch64-openwrt-linux-musl-gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for aarch64-openwrt-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if aarch64-openwrt-linux-musl-gcc supports -fno-rtti -fno-exceptions... no
checking for aarch64-openwrt-linux-musl-gcc option to produce PIC... -fPIC -DPIC
checking if aarch64-openwrt-linux-musl-gcc PIC flag -fPIC -DPIC works... yes
checking if aarch64-openwrt-linux-musl-gcc static flag -static works... yes
checking if aarch64-openwrt-linux-musl-gcc supports -c -o file.o... yes
checking if aarch64-openwrt-linux-musl-gcc supports -c -o file.o... (cached) yes
checking whether the aarch64-openwrt-linux-musl-gcc linker (aarch64-openwrt-linux-musl-ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking linker version script flag... --version-script
checking if version scripts can use complex wildcards... yes
checking for LIBXML2... yes
checking for JSON... no
checking for library containing pow... none required
checking for ZLIB... yes
checking for LIBPROXY... no
checking for libproxy... no
checking for epoll_create1... yes
checking if_tun.h usability... no
checking if_tun.h presence... no
checking for if_tun.h... no
checking linux/if_tun.h usability... yes
checking linux/if_tun.h presence... no
configure: WARNING: linux/if_tun.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: linux/if_tun.h: proceeding with the compiler's result
checking for linux/if_tun.h... yes
checking for net/if_utun.h... no
checking for vhost-net support... yes
checking alloca.h usability... yes
checking alloca.h presence... no
configure: WARNING: alloca.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: alloca.h: proceeding with the compiler's result
checking for alloca.h... yes
checking endian.h usability... yes
checking endian.h presence... no
configure: WARNING: endian.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: endian.h: proceeding with the compiler's result
checking for endian.h... yes
checking for python3... /builder/shared-workdir/build/sdk/staging_dir/hostpkg/bin/python3
checking if groff can create UTF-8 XHTML... no. Not building HTML pages
checking for CWRAP... no
checking for Python 3.6+ with Flask module... not found
checking for nuttcp... no
checking whether to enable broken in asan tests... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating openconnect.pc
config.status: creating po/Makefile
config.status: creating www/Makefile
config.status: creating libopenconnect.map
config.status: creating openconnect.8
config.status: creating www/styles/Makefile
config.status: creating www/inc/Makefile
config.status: creating www/images/Makefile
config.status: creating tests/Makefile
config.status: creating tests/softhsm2.conf
config.status: creating tests/configs/test-user-cert.config
config.status: creating tests/configs/test-user-pass.config
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
BUILD OPTIONS:
  SSL library:            OpenSSL
  PKCS#11 support:        libp11
  DTLS support:           yes
  ESP support:            yes
  HPKE support:           yes
  libproxy support:       no
  RSA SecurID support:    disabled
  PSKC OATH file support: no
  GSSAPI support:         no
  vhost-net support:      yes
  Yubikey support:        disabled
  JSON parser:            builtin
  LZ4 compression:        no
  Java bindings:          no
  Build docs:             no
  Unit tests:             no
  Net namespace tests:    no
  DSA tests:              yes
  PPP tests:              no
  Flask tests:            no
  Insecure debugging:     no
  NSIS installer:         no
configure: WARNING:
***
*** Be sure to run "make check" to verify OpenSSL DTLS support
*** 
make[4]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
make  all-recursive
make[5]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
New version: v9.01-unknown
  CC       libopenconnect_la-version.lo
  CC       libopenconnect_la-ssl.lo
  CC       libopenconnect_la-http.lo
  CC       libopenconnect_la-textbuf.lo
  CC       libopenconnect_la-http-auth.lo
  CC       libopenconnect_la-auth-common.lo
  CC       libopenconnect_la-auth-html.lo
  CC       libopenconnect_la-library.lo
  CC       libopenconnect_la-compat.lo
  CC       libopenconnect_la-lzs.lo
  CC       libopenconnect_la-mainloop.lo
  CC       libopenconnect_la-script.lo
  CC       libopenconnect_la-ntlm.lo
  CC       libopenconnect_la-digest.lo
  CC       libopenconnect_la-mtucalc.lo
  CC       libopenconnect_la-oncp.lo
  CC       libopenconnect_la-lzo.lo
  CC       libopenconnect_la-auth-juniper.lo
  CC       libopenconnect_la-esp.lo
  CC       libopenconnect_la-esp-seqno.lo
  CC       libopenconnect_la-openssl-esp.lo
  CC       libopenconnect_la-auth.lo
  CC       libopenconnect_la-cstp.lo
  CC       libopenconnect_la-hpke.lo
  CC       libopenconnect_la-multicert.lo
  CC       libopenconnect_la-dtls.lo
  CC       libopenconnect_la-openssl-dtls.lo
  CC       libopenconnect_la-oath.lo
  CC       libopenconnect_la-gpst.lo
  CC       libopenconnect_la-auth-globalprotect.lo
  CC       libopenconnect_la-pulse.lo
  CC       libopenconnect_la-oidc.lo
  CC       libopenconnect_la-ppp.lo
In function 'add_ppp_header',
    inlined from 'ppp_mainloop' at ppp.c:1458:3:
ppp.c:1039:31: warning: 'proto' may be used uninitialized [-Wmaybe-uninitialized]
 1039 |                 *--ph = proto >> 8;
      |                         ~~~~~~^~~~
ppp.c: In function 'ppp_mainloop':
ppp.c:1065:13: note: 'proto' was declared here
 1065 |         int proto;
      |             ^~~~~
  CC       libopenconnect_la-nullppp.lo
  CC       libopenconnect_la-f5.lo
  CC       libopenconnect_la-fortinet.lo
  CC       libopenconnect_la-jsondump.lo
  CC       libopenconnect_la-array.lo
  CC       libopenconnect_la-vhost.lo
  CC       libopenconnect_la-openssl.lo
openssl.c: In function 'hkdf_sha256_extract_expand':
openssl.c:2441:47: warning: pointer targets in passing argument 2 of 'EVP_PKEY_CTX_add1_hkdf_info' differ in signedness [-Wpointer-sign]
 2441 |             !EVP_PKEY_CTX_add1_hkdf_info(ctx, info, infolen) ||
      |                                               ^~~~
      |                                               |
      |                                               const char *
In file included from openssl.c:2398:
/builder/shared-workdir/build/sdk/staging_dir/target-aarch64_cortex-a53_musl/usr/include/openssl/kdf.h:114:54: note: expected 'const unsigned char *' but argument is of type 'const char *'
  114 |                                 const unsigned char *info, int infolen);
      |                                 ~~~~~~~~~~~~~~~~~~~~~^~~~
  CC       libopenconnect_la-openssl-pkcs11.lo
  CC       libopenconnect_la-iconv.lo
  CC       json/libopenconnect_la-json.lo
In file included from json/json.c:41:
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/include/fortify/stdio.h: In function 'snprintf':
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/include/fortify/stdio.h:101:9: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
  101 |         return __orig_snprintf(__s, __n, __f, __builtin_va_arg_pack());
      |         ^~~~~~
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/include/fortify/stdio.h: In function 'sprintf':
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/include/fortify/stdio.h:110:17: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
  110 |                 __r = __orig_snprintf(__s, __b, __f, __builtin_va_arg_pack());
      |                 ^~~
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/include/fortify/stdio.h:114:17: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
  114 |                 __r = __orig_sprintf(__s, __f, __builtin_va_arg_pack());
      |                 ^~~
  CC       libopenconnect_la-tun.lo
  CCLD     libopenconnect.la
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.2.0_musl/bin/../lib/gcc/aarch64-openwrt-linux-musl/12.2.0/../../../../aarch64-openwrt-linux-musl/bin/ar: `u' modifier ignored since `D' is the default (see `U')
Making all in tests
make[6]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01/tests'
  CC       lzstest.o
  CCLD     lzstest
  CC       seqtest.o
  CCLD     seqtest
  CC       buftest.o
  CCLD     buftest
  CC       bad_dtls_test-bad_dtls_test.o
  CCLD     bad_dtls_test
  CC       serverhash.o
  CCLD     serverhash
make[6]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01/tests'
make[6]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
  CC       openconnect-xml.o
  CC       openconnect-main.o
  CCLD     openconnect
make[6]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
make[5]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
make[4]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/openconnect-9.01'
Package openconnect is missing dependencies for the following libraries:
libcrypto.so.3
libp11-kit.so.0
libp11.so.3
libssl.so.3
make[3]: *** [Makefile:104: /builder/shared-workdir/build/sdk/bin/packages/aarch64_cortex-a53/packages/openconnect_9.01-1_aarch64_cortex-a53.ipk] Error 1
time: package/feeds/packages/openconnect/compile#56.72#11.78#105.43
oskarirauta commented 1 year ago

Seems that package should depend on libcrypto and openssl as they are linked with it..

greem commented 1 year ago

Seems that package should depend on libcrypto and openssl as they are linked with it..

Helpful, thanks. Not that I can fix it right now but that's good info.

nmav commented 1 month ago

This looks like a local issue and there is no indication of which version of openwrt is that.