Topic: Cannot crosscompil wolfssl 5.1.1

Dear I know i am able to crosscompile wolfssl 4.7.0 but 5.1.1 is failing.
Can i change something with the flags  to make it successful?

wolfssl/wolfcrypt/asn_public.h:533: warning: declaration of `time' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/time.h:186: warning: shadowed declaration is here
In file included from wolfssl/internal.h:28,
                 from src/ssl.c:37:
wolfssl/ssl.h:1404: warning: declaration of `access' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/unistd.h:260: warning: shadowed declaration is here
In file included from wolfssl/internal.h:102,
                 from src/ssl.c:37:
wolfssl/wolfcrypt/ecc.h:621: warning: declaration of `stat' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/sys/stat.h:201: warning: shadowed declaration is here
wolfssl/wolfcrypt/ecc.h:624: warning: declaration of `stat' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/sys/stat.h:201: warning: shadowed declaration is here
src/ssl.c: In function `GetSessionRef':
src/ssl.c:23300: warning: implicit declaration of function `__builtin_offsetof'
src/ssl.c:23300: error: parse error before "WOLFSSL_SESSION"
make[2]: *** [Makefile:5756: src/src_libwolfssl_la-ssl.lo] Error 1
make[2]: Leaving directory '/home/user/ports/wolf/wolfssl-5.1.1'
make[1]: *** [Makefile:6311: all-recursive] Error 1
make[1]: Leaving directory '/home/user/ports/wolf/wolfssl-5.1.1'
make: *** [Makefile:3781: all] Error 2

Share

Re: Cannot crosscompil wolfssl 5.1.1

Hi alen.loncaric

Thanks for contacting wolfSSL. Typically this is because the settings are not getting picked up by the configuration headers. Could you please share the "./configure" command you are using?

Re: Cannot crosscompil wolfssl 5.1.1

./configure --host=arm-linux CC=arm-linux-gcc LD=arm-linux-ld AR=arm-linux-ar   RANLIB=arm-linux-ranlib   CFLAGS="-O2" CPPFLAGS="-I./"
checking for arm-linux-gcc... arm-linux-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 arm-linux-gcc accepts -g... yes
checking for arm-linux-gcc option to accept ISO C89... none needed
checking whether arm-linux-gcc understands -c and -o together... yes
checking build system type... x86_64-pc-linux-uclibc
checking host system type... arm-unknown-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-linux-strip... arm-linux-strip
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
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 dependency style of arm-linux-gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/samoa/platforms/current/toolchain/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by arm-linux-gcc... arm-linux-ld
checking if the linker (arm-linux-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/samoa/platforms/current/toolchain/bin/arm-linux-nm -B
checking the name lister (/usr/samoa/platforms/current/toolchain/bin/arm-linux-nm -B) 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-uclibc file names to arm-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-uclibc file names to toolchain format... func_convert_file_noop
checking for arm-linux-ld option to reload object files... -r
checking for arm-linux-objdump... arm-linux-objdump
checking how to recognize dependent libraries... pass_all
checking for arm-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-linux-ar... arm-linux-ar
checking for archiver @FILE support... no
checking for arm-linux-strip... (cached) arm-linux-strip
checking for arm-linux-ranlib... arm-linux-ranlib
checking command to parse /usr/samoa/platforms/current/toolchain/bin/arm-linux-nm -B output from arm-linux-gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for arm-linux-mt... no
checking for mt... mt
configure: WARNING: using cross tools not prefixed with host triplet
checking if mt is a manifest tool... no
checking how to run the C preprocessor... arm-linux-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if arm-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for arm-linux-gcc option to produce PIC... -fPIC -DPIC
checking if arm-linux-gcc PIC flag -fPIC -DPIC works... yes
checking if arm-linux-gcc static flag -static works... yes
checking if arm-linux-gcc supports -c -o file.o... yes
checking if arm-linux-gcc supports -c -o file.o... (cached) yes
checking whether the arm-linux-gcc linker (arm-linux-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
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... yes
checking whether to build static libraries... no
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... no
checking size of long long... 8
checking size of long... 4
checking size of time_t... 4
checking for __uint128_t... no
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for socket in -lnetwork... no
checking whether byte ordering is bigendian... no
checking for gethostbyname... yes
checking for getaddrinfo... yes
checking for gettimeofday... yes
checking for gmtime_r... yes
checking for inet_ntoa... yes
checking for memset... yes
checking for socket... yes
checking for strftime... yes
checking for atexit... yes
checking whether gethostbyname is declared... yes
checking whether getaddrinfo is declared... yes
checking whether gettimeofday is declared... yes
checking whether gmtime_r is declared... yes
checking whether inet_ntoa is declared... yes
checking whether memset is declared... yes
checking whether socket is declared... yes
checking whether strftime is declared... yes
checking for size_t... yes
checking for uint8_t... yes
checking for uintptr_t... yes
checking dependency style of arm-linux-gcc... gcc3
checking for cos in -lm... yes
checking for thread local storage (TLS) class... none
checking for debug... no
checking whether arm-linux-gcc is Clang... no
checking whether pthreads work with "-pthread" and "-lpthread"... no
checking whether pthreads work with -pthread... no
checking whether pthreads work with -pthreads... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -pthread... no
checking whether pthreads work with -pthreads... no
checking whether pthreads work with -mthreads... no
checking for the pthreads library -lpthread... no
checking whether pthreads work with --thread-safe... no
checking whether pthreads work with -mt... no
checking for pthread-config... no
checking for fast RSA... no
checking for library containing gethostbyname... none required
checking for library containing socket... none required
checking for vcs system... none
checking for vcs checkout... no
checking whether the linker accepts -Werror... yes
checking whether the linker accepts -z relro -z now... no
checking whether the linker accepts -pie... yes
checking whether C compiler accepts -Werror... yes
checking whether C compiler accepts -Wno-pragmas... no
checking whether C compiler accepts -Wall... yes
checking whether C compiler accepts -Wno-strict-aliasing... yes
checking whether C compiler accepts -Wextra... no
checking whether C compiler accepts -Wunknown-pragmas... yes
checking whether C compiler accepts -Wthis-test-should-fail... no
checking whether C compiler accepts --param=ssp-buffer-size=1... no
checking whether C compiler accepts -Waddress... no
checking whether C compiler accepts -Warray-bounds... no
checking whether C compiler accepts -Wbad-function-cast... yes
checking whether C compiler accepts -Wchar-subscripts... yes
checking whether C compiler accepts -Wcomment... yes
checking whether C compiler accepts -Wfloat-equal... yes
checking whether C compiler accepts -Wformat-security... yes
checking whether C compiler accepts -Wformat=2... yes
checking whether C compiler accepts -Wmaybe-uninitialized... no
checking whether C compiler accepts -Wmissing-field-initializers... no
checking whether C compiler accepts -Wmissing-noreturn... yes
checking whether C compiler accepts -Wmissing-prototypes... yes
checking whether C compiler accepts -Wnested-externs... yes
checking whether C compiler accepts -Wnormalized=id... no
checking whether C compiler accepts -Woverride-init... no
checking whether C compiler accepts -Wpointer-arith... yes
checking whether C compiler accepts -Wpointer-sign... no
checking whether C compiler accepts -Wredundant-decls... yes
checking whether C compiler accepts -Wshadow... yes
checking whether C compiler accepts -Wshorten-64-to-32... no
checking whether C compiler accepts -Wsign-compare... yes
checking whether C compiler accepts -Wstrict-overflow=1... no
checking whether C compiler accepts -Wstrict-prototypes... no
checking whether C compiler accepts -Wswitch-enum... yes
checking whether C compiler accepts -Wundef... yes
checking whether C compiler accepts -Wunused... yes
checking whether C compiler accepts -Wunused-result... no
checking whether C compiler accepts -Wunused-variable... yes
checking whether C compiler accepts -Wwrite-strings... yes
checking whether C compiler accepts -fwrapv... no
creating wolfssl-config - generic 5.1.1 for -lwolfssl
checking the number of available CPUs... 4
configure: adding automake macro support
configure: creating aminclude.am
configure: added jobserver support to make for 5 jobs
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating stamp-h
config.status: creating Makefile
config.status: creating wolfssl/version.h
config.status: creating wolfssl/options.h
config.status: creating cyassl/options.h
config.status: creating support/wolfssl.pc
config.status: creating rpm/spec
config.status: creating wolfcrypt/test/test_paths.h
config.status: creating scripts/unit.test
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing wolfssl/wolfcrypt/async.h commands
config.status: executing wolfssl/wolfcrypt/fips.h commands
config.status: executing wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h commands
config.status: executing wolfssl/wolfcrypt/port/intel/quickassist.h commands
config.status: executing wolfssl/wolfcrypt/port/intel/quickassist_mem.h commands
configure: ---
configure: Running make clean...
configure: ---
configure: Generating user options header...
---
Configuration summary for wolfssl version 5.1.1

   * Installation prefix:        /usr/local
   * System type:                unknown-linux-gnu
   * Host CPU:                   arm
   * C Compiler:                 arm-linux-gcc
   * C Flags:                    -O2   -Wall -Wno-strict-aliasing -Wunknown-pragmas -Wbad-function-cast -Wchar-subscripts -Wcomment -Wfloat-equal -Wformat-security -Wformat=2 -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-compare -Wswitch-enum -Wundef -Wunused -Wunused-variable -Wwrite-strings
   * C++ Compiler:
   * C++ Flags:
   * CPP Flags:                  -I./
   * CCAS Flags:                 -O2
   * LIB Flags:                   -pie
   * Debug enabled:              no
   * Coverage enabled:
   * Warnings as failure:        no
   * make -j:                    5
   * VCS checkout:               no

   Features
   * FIPS:                       no
   * Single threaded:            yes
   * Filesystem:                 yes
   * OpenSSH Build:              no
   * OpenSSL Extra API:          no
   * OpenSSL Coexist:            no
   * Old Names:                  yes
   * Max Strength Build:         no
   * Distro Build:               no
   * Reproducible Build:         no
   * fastmath:                   no
   * Assembly Allowed:           yes
   * sniffer:                    no
   * snifftest:                  no
   * ARC4:                       no
   * AES:                        yes
   * AES-NI:                     no
   * AES-CBC:                    yes
   * AES-CBC length checks:      no
   * AES-GCM:                    yes
   * AES-GCM streaming:          no
   * AES-CCM:                    no
   * AES-CTR:                    no
   * AES-CFB:                    no
   * AES-OFB:                    no
   * DES3:                       no
   * IDEA:                       no
   * Camellia:                   no
   * NULL Cipher:                no
   * MD2:                        no
   * MD4:                        no
   * MD5:                        yes
   * RIPEMD:                     no
   * SHA:                        yes
   * SHA-224:                    no
   * SHA-384:                    yes
   * SHA-512:                    yes
   * SHA3:                       no
   * SHAKE256:
   * BLAKE2:                     no
   * BLAKE2S:                    no
   * CMAC:                       no
   * keygen:                     no
   * certgen:                    no
   * certreq:                    no
   * certext:                    no
   * certgencache:               no
   * HC-128:                     no
   * RABBIT:                     no
   * CHACHA:                     yes
   * XCHACHA:                    no
   * Hash DRBG:                  yes
   * PWDBASED:                   yes
   * scrypt:                     no
   * wolfCrypt Only:             no
   * HKDF:                       yes
   * X9.63 KDF:                  no
   * MD4:                        no
   * PSK:                        no
   * Poly1305:                   yes
   * LEANPSK:                    no
   * LEANTLS:                    no
   * RSA:                        yes
   * RSA-PSS:                    yes
   * DSA:                        no
   * DH:                         yes
   * DH Default Parameters:      yes
   * ECC:                        yes
   * ECC Custom Curves:          no
   * ECC Minimum Bits:           224
   * CURVE25519:                 no
   * ED25519:                    no
   * ED25519 streaming:          no
   * CURVE448:                   no
   * ED448:                      no
   * ED448 streaming:            no
   * FPECC:                      no
   * ECC_ENCRYPT:                no
   * ECCSI                       no
   * SAKKE                       no
   * ASN:                        yes
   * Anonymous cipher:           no
   * CODING:                     yes
   * MEMORY:                     yes
   * I/O POOL:                   no
   * wolfSentry:                 no
   * LIGHTY:                     no
   * HAPROXY:                    no
   * STUNNEL:                    no
   * tcpdump:                    no
   * libssh2:                    no
   * ntp:                        no
   * rsyslog:                    no
   * Apache httpd:               no
   * NGINX:                      no
   * OpenResty:                  no
   * ASIO:                       no
   * LIBWEBSOCKETS:              no
   * Qt:                         no
   * Qt Unit Testing:            no
   * SIGNAL:                     no
   * ERROR_STRINGS:              yes
   * DTLS:                       no
   * SCTP:                       no
   * Indefinite Length:          no
   * Multicast:                  no
   * SSL v3.0 (Old):             no
   * TLS v1.0 (Old):             no
   * TLS v1.1 (Old):             yes
   * TLS v1.2:                   yes
   * TLS v1.3:                   yes
   * Post-handshake Auth:        no
   * Early Data:                 no
   * Send State in HRR Cookie:   no
   * OCSP:                       no
   * OCSP Stapling:              no
   * OCSP Stapling v2:           no
   * CRL:                        no
   * CRL-MONITOR:                no
   * Persistent session cache:   no
   * Persistent cert    cache:   no
   * Atomic User Record Layer:   no
   * Public Key Callbacks:       no
   * liboqs:                     no
   * Whitewood netRandom:        no
   * Server Name Indication:     no
   * ALPN:                       no
   * Maximum Fragment Length:    no
   * Trusted CA Indication:      no
   * Truncated HMAC:             no
   * Supported Elliptic Curves:  yes
   * FFDHE only in client:       no
   * Session Ticket:             no
   * Extended Master Secret:     yes
   * Renegotiation Indication:   no
   * Secure Renegotiation:       no
   * Fallback SCSV:              no
   * Keying Material Exporter:   no
   * All TLS Extensions:         no
   * PKCS#7:                     no
   * S/MIME:                     no
   * wolfSSH:                    no
   * wolfTPM:                    no
   * wolfCLU:                    no
   * wolfSCEP:                   no
   * Secure Remote Password:     no
   * Small Stack:                no
   * Linux Kernel Module:        no
   * valgrind unit tests:        no
   * LIBZ:                       no
   * Examples:                   yes
   * Crypt tests:                yes
   * Stack sizes in tests:       no
   * Heap stats in tests:        no
   * User Crypto:                no
   * Fast RSA:                   no
   * Single Precision:           no
   * SP math implementation:     no
   * Async Crypto:               no
   * PKCS#8:                     yes
   * PKCS#11:                    no
   * PKCS#12:                    yes
   * Cavium Nitrox:              no
   * Cavium Octeon (Sync):       no
   * Intel Quick Assist:         no
   * ARM ASM:                    no
   * ARM ASM SHA512 Crypto
   * AES Key Wrap:               no
   * Write duplicate:            no
   * Xilinx Hardware Acc.:       no
   * Inline Code:                yes
   * Linux AF_ALG:               no
   * Linux KCAPI:                no
   * Linux devcrypto:            no
   * Crypto callbacks:           no
   * i.MX6 CAAM:                 no
   * IoT-Safe:                   no
   * IoT-Safe HWRNG:             no
   * NXP SE050:                  no

Share

Re: Cannot crosscompil wolfssl 5.1.1

Please try adding a CPU in the CFLAGS:

GENERIC EXAMPLE:

./configure \
CC="/path/to/your/toolchain/toolchain-gcc" \
AR="/path/to/your/toolchain/toolchain-ar" \
AS="/path/to/your/toolchain/toolchain-gcc" \
RANLIB="/path/to/your/toolchain/toolchain-ranlib" \
LD="/path/to/your/toolchain/toolchain-ld" \
--host=<your host> \
<your other configure options here> \
CFLAGS="-mcpu=<your cpu definition here> \
<other cflags here>" \
LIBS="<libs>"

SPECIFIC EXAMPLE:

./configure \
CC="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
AR="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ar" \
AS="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
RANLIB="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ranlib" \
LD="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ld" \
--host=arm-none-eabi \
--enable-aesgcm --enable-ecc \
CFLAGS="-mcpu=cortex-m4 \
-Os -specs=rdimon.specs"  \
LIBS="-Wl,--start-group -lm -lgcc -lc -lrdimon -Wl,--end-group"

5 (edited by alen.loncaric 2022-02-28 08:07:00)

Re: Cannot crosscompil wolfssl 5.1.1

Dear,

MCPU is not allowed, configure fails with use mtune or march instead.
So i used march amrv5 and the error is still the same
src/ssl.c: In function `GetSessionRef':
src/ssl.c:23300: warning: implicit declaration of function `__builtin_offsetof'
src/ssl.c:23300: error: parse error before "WOLFSSL_SESSION"
make[2]: *** [Makefile:5756: src/src_libwolfssl_la-ssl.lo] Error 1

Share

Re: Cannot crosscompil wolfssl 5.1.1

MCPU is supported by arm-linux-gcc
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

-mcpu=name[+extension…]
This specifies the name of the target ARM processor. GCC uses this name to derive the name of the target ARM architecture (as if specified by -march) and the ARM processor type for which to tune for performance (as if specified by -mtune). Where this option is used in conjunction with -march or -mtune, those options take precedence over the appropriate part of this option.

Re: Cannot crosscompil wolfssl 5.1.1

embhorn wrote:

MCPU is supported by arm-linux-gcc
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

-mcpu=name[+extension…]
This specifies the name of the target ARM processor. GCC uses this name to derive the name of the target ARM architecture (as if specified by -march) and the ARM processor type for which to tune for performance (as if specified by -mtune). Where this option is used in conjunction with -march or -mtune, those options take precedence over the appropriate part of this option.

Huh i tried again, i am sure that configure did not let me use mcpu as i know i saw deprecated somewhere. Anyway could be my mistake :S

I did with mcpu:

Configuration summary for wolfssl version 5.1.1

   * Installation prefix:        /home/user/ports/wolf/wolfssl-5.1.1/output
   * System type:                unknown-linux-gnu
   * Host CPU:                   arm
   * C Compiler:                 arm-linux-gcc
   * C Flags:                    -mcpu=arm7tdmi -O2   -Wall -Wno-strict-aliasing -Wunknown-pragmas -Wbad-function-cast -Wchar-subscripts -Wcomment -Wfloat-equal -Wformat-security -Wformat=2 -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-compare -Wswitch-enum -Wundef -Wunused -Wunused-variable -Wwrite-strings
   * C++ Compiler:
   * C++ Flags:
   * CPP Flags:                  -mcpu=arm7tdmi -O2 -I./
   * CCAS Flags:                 -mcpu=arm7tdmi -O2
   * LIB Flags:                   -pie
   * Debug enabled:              no
   * Coverage enabled:
   * Warnings as failure:        no
   * make -j:                    5
   * VCS checkout:               no

   Features
   * FIPS:                       no
   * Single threaded:            yes
   * Filesystem:                 yes
   * OpenSSH Build:              no
   * OpenSSL Extra API:          no
   * OpenSSL Coexist:            no
   * Old Names:                  yes
   * Max Strength Build:         no
   * Distro Build:               no
   * Reproducible Build:         no
   * fastmath:                   no
   * Assembly Allowed:           yes
   * sniffer:                    no
   * snifftest:                  no
   * ARC4:                       no
   * AES:                        yes
   * AES-NI:                     no
   * AES-CBC:                    yes
   * AES-CBC length checks:      no
   * AES-GCM:                    yes
   * AES-GCM streaming:          no
   * AES-CCM:                    no
   * AES-CTR:                    no
   * AES-CFB:                    no
   * AES-OFB:                    no
   * DES3:                       no
   * IDEA:                       no
   * Camellia:                   no
   * NULL Cipher:                no
   * MD2:                        no
   * MD4:                        no
   * MD5:                        yes
   * RIPEMD:                     no
   * SHA:                        yes
   * SHA-224:                    no
   * SHA-384:                    yes
   * SHA-512:                    yes
   * SHA3:                       no
   * SHAKE256:
   * BLAKE2:                     no
   * BLAKE2S:                    no
   * CMAC:                       no
   * keygen:                     no
   * certgen:                    no
   * certreq:                    no
   * certext:                    no
   * certgencache:               no
   * HC-128:                     no
   * RABBIT:                     no
   * CHACHA:                     yes
   * XCHACHA:                    no
   * Hash DRBG:                  yes
   * PWDBASED:                   yes
   * scrypt:                     no
   * wolfCrypt Only:             no
   * HKDF:                       yes
   * X9.63 KDF:                  no
   * MD4:                        no
   * PSK:                        no
   * Poly1305:                   yes
   * LEANPSK:                    no
   * LEANTLS:                    no
   * RSA:                        yes
   * RSA-PSS:                    yes
   * DSA:                        no
   * DH:                         yes
   * DH Default Parameters:      yes
   * ECC:                        yes
   * ECC Custom Curves:          no
   * ECC Minimum Bits:           224
   * CURVE25519:                 no
   * ED25519:                    no
   * ED25519 streaming:          no
   * CURVE448:                   no
   * ED448:                      no
   * ED448 streaming:            no
   * FPECC:                      no
   * ECC_ENCRYPT:                no
   * ECCSI                       no
   * SAKKE                       no
   * ASN:                        yes
   * Anonymous cipher:           no
   * CODING:                     yes
   * MEMORY:                     yes
   * I/O POOL:                   no
   * wolfSentry:                 no
   * LIGHTY:                     no
   * HAPROXY:                    no
   * STUNNEL:                    no
   * tcpdump:                    no
   * libssh2:                    no
   * ntp:                        no
   * rsyslog:                    no
   * Apache httpd:               no
   * NGINX:                      no
   * OpenResty:                  no
   * ASIO:                       no
   * LIBWEBSOCKETS:              no
   * Qt:                         no
   * Qt Unit Testing:            no
   * SIGNAL:                     no
   * ERROR_STRINGS:              yes
   * DTLS:                       no
   * SCTP:                       no
   * Indefinite Length:          no
   * Multicast:                  no
   * SSL v3.0 (Old):             no
   * TLS v1.0 (Old):             no
   * TLS v1.1 (Old):             yes
   * TLS v1.2:                   yes
   * TLS v1.3:                   yes
   * Post-handshake Auth:        no
   * Early Data:                 no
   * Send State in HRR Cookie:   no
   * OCSP:                       no
   * OCSP Stapling:              no
   * OCSP Stapling v2:           no
   * CRL:                        no
   * CRL-MONITOR:                no
   * Persistent session cache:   no
   * Persistent cert    cache:   no
   * Atomic User Record Layer:   no
   * Public Key Callbacks:       no
   * liboqs:                     no
   * Whitewood netRandom:        no
   * Server Name Indication:     no
   * ALPN:                       no
   * Maximum Fragment Length:    no
   * Trusted CA Indication:      no
   * Truncated HMAC:             no
   * Supported Elliptic Curves:  yes
   * FFDHE only in client:       no
   * Session Ticket:             no
   * Extended Master Secret:     yes
   * Renegotiation Indication:   no
   * Secure Renegotiation:       no
   * Fallback SCSV:              no
   * Keying Material Exporter:   no
   * All TLS Extensions:         no
   * PKCS#7:                     no
   * S/MIME:                     no
   * wolfSSH:                    no
   * wolfTPM:                    no
   * wolfCLU:                    no
   * wolfSCEP:                   no
   * Secure Remote Password:     no
   * Small Stack:                no
   * Linux Kernel Module:        no
   * valgrind unit tests:        no
   * LIBZ:                       no
   * Examples:                   yes
   * Crypt tests:                yes
   * Stack sizes in tests:       no
   * Heap stats in tests:        no
   * User Crypto:                no
   * Fast RSA:                   no
   * Single Precision:           no
   * SP math implementation:     no
   * Async Crypto:               no
   * PKCS#8:                     yes
   * PKCS#11:                    no
   * PKCS#12:                    yes
   * Cavium Nitrox:              no
   * Cavium Octeon (Sync):       no
   * Intel Quick Assist:         no
   * ARM ASM:                    no
   * ARM ASM SHA512 Crypto
   * AES Key Wrap:               no
   * Write duplicate:            no
   * Xilinx Hardware Acc.:       no
   * Inline Code:                yes
   * Linux AF_ALG:               no
   * Linux KCAPI:                no
   * Linux devcrypto:            no
   * Crypto callbacks:           no
   * i.MX6 CAAM:                 no
   * IoT-Safe:                   no
   * IoT-Safe HWRNG:             no
   * NXP SE050:                  no

---
user@user-samoa:~/ports/wolf/wolfssl-5.1.1$ make
make -j5  all-recursive
make[1]: Entering directory '/home/user/ports/wolf/wolfssl-5.1.1'
make[2]: Entering directory '/home/user/ports/wolf/wolfssl-5.1.1'
make[2]: warning: -j5 forced in submake: resetting jobserver mode.
  CC       src/src_libwolfssl_la-ssl.lo
  CC       wolfcrypt/src/src_libwolfssl_la-hmac.lo
  CC       wolfcrypt/src/src_libwolfssl_la-hash.lo
  CC       wolfcrypt/src/src_libwolfssl_la-cpuid.lo
  CC       wolfcrypt/src/src_libwolfssl_la-kdf.lo
In file included from wolfssl/ssl.h:36,
                 from wolfssl/internal.h:28,
                 from src/ssl.c:37:
wolfssl/wolfcrypt/asn_public.h:533: warning: declaration of `time' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/time.h:186: warning: shadowed declaration is here
In file included from wolfssl/internal.h:28,
                 from src/ssl.c:37:
wolfssl/ssl.h:1404: warning: declaration of `access' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/unistd.h:260: warning: shadowed declaration is here
  CC       wolfcrypt/src/src_libwolfssl_la-random.lo
In file included from wolfssl/internal.h:102,
                 from src/ssl.c:37:
wolfssl/wolfcrypt/ecc.h:621: warning: declaration of `stat' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/sys/stat.h:201: warning: shadowed declaration is here
wolfssl/wolfcrypt/ecc.h:624: warning: declaration of `stat' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/sys/stat.h:201: warning: shadowed declaration is here
In file included from wolfssl/wolfcrypt/asn.h:67,
                 from wolfcrypt/src/hash.c:31:
wolfssl/wolfcrypt/asn_public.h:533: warning: declaration of `time' shadows a global declaration
/usr/samoa/tools/toolchain2.0/arm-linux-uclibc/sys-include/time.h:186: warning: shadowed declaration is here
  CC       wolfcrypt/src/src_libwolfssl_la-sha256.lo
  CC       wolfcrypt/src/src_libwolfssl_la-rsa.lo
  CC       wolfcrypt/src/src_libwolfssl_la-aes.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha512.lo
src/ssl.c: In function `GetSessionRef':
src/ssl.c:23300: warning: implicit declaration of function `__builtin_offsetof'
src/ssl.c:23300: error: parse error before "WOLFSSL_SESSION"
make[2]: *** [Makefile:5756: src/src_libwolfssl_la-ssl.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/user/ports/wolf/wolfssl-5.1.1'
make[1]: *** [Makefile:6311: all-recursive] Error 1
make[1]: Leaving directory '/home/user/ports/wolf/wolfssl-5.1.1'
make: *** [Makefile:3781: all] Error 2

Share

Re: Cannot crosscompil wolfssl 5.1.1

I reviewed this with the team, and this may have been fixed since the v5.1.1 release. Could you please test with the revision master from https://github.com/wolfSSL/wolfssl ?