$ cmake -B build -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=x86_64-unknown-serenity.cmake -DCURL_ENABLE_SSL=OFF -DHTTP_ONLY=ON
-- The C compiler identification is GNU 13.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/kartatz/senna/bin/x86_64-unknown-serenity-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- curl version=[8.4.0-DEV]
-- Performing Test OPT_Wdouble_promotion
-- Performing Test OPT_Wdouble_promotion - Success
-- Performing Test OPT_Wenum_conversion
-- Performing Test OPT_Wenum_conversion - Success
-- Performing Test OPT_Wunused_const_variable
-- Performing Test OPT_Wunused_const_variable - Success
-- Picky compiler options: -W -Wall -pedantic -Wbad-function-cast -Wconversion -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Wcast-align -Wdeclaration-after-statement -Wempty-body -Wendif-labels -Wfloat-equal -Wignored-qualifiers -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wstrict-prototypes -Wtype-limits -Wvla -Wmissing-parameter-type -Wold-style-declaration -Wstrict-aliasing=3 -Wformat=2 -Warray-bounds=2 -ftree-vrp -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wrestrict -Warith-conversion -Wdouble-promotion -Wenum-conversion -Wunused-const-variable
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Found Perl: /usr/bin/perl (found version "5.16.3")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for connect in socket;
-- Looking for connect in socket; - not found
-- Looking for gethostname
-- Looking for gethostname - found
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-- Looking for idn2_lookup_ul in idn2;
-- Looking for idn2_lookup_ul in idn2; - not found
-- Could NOT find LibPSL (missing: LIBPSL_LIBRARY LIBPSL_INCLUDE_DIR)
-- Could NOT find LibSSH2 (missing: LIBSSH2_LIBRARY LIBSSH2_INCLUDE_DIR)
-- Performing Test USE_UNIX_SOCKETS
-- Performing Test USE_UNIX_SOCKETS - Success
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include files inttypes.h, sys/filio.h
-- Looking for include files inttypes.h, sys/filio.h - not found
-- Looking for include files inttypes.h, sys/wait.h
-- Looking for include files inttypes.h, sys/wait.h - found
-- Looking for 3 include files inttypes.h, ..., sys/ioctl.h
-- Looking for 3 include files inttypes.h, ..., sys/ioctl.h - found
-- Looking for 4 include files inttypes.h, ..., sys/param.h
-- Looking for 4 include files inttypes.h, ..., sys/param.h - found
-- Looking for 5 include files inttypes.h, ..., sys/poll.h
-- Looking for 5 include files inttypes.h, ..., sys/poll.h - found
-- Looking for 6 include files inttypes.h, ..., sys/resource.h
-- Looking for 6 include files inttypes.h, ..., sys/resource.h - found
-- Looking for 7 include files inttypes.h, ..., sys/select.h
-- Looking for 7 include files inttypes.h, ..., sys/select.h - found
-- Looking for 8 include files inttypes.h, ..., sys/socket.h
-- Looking for 8 include files inttypes.h, ..., sys/socket.h - found
-- Looking for 9 include files inttypes.h, ..., sys/sockio.h
-- Looking for 9 include files inttypes.h, ..., sys/sockio.h - not found
-- Looking for 9 include files inttypes.h, ..., sys/stat.h
-- Looking for 9 include files inttypes.h, ..., sys/stat.h - found
-- Looking for 10 include files inttypes.h, ..., sys/time.h
-- Looking for 10 include files inttypes.h, ..., sys/time.h - found
-- Looking for 11 include files inttypes.h, ..., sys/types.h
-- Looking for 11 include files inttypes.h, ..., sys/types.h - found
-- Looking for 12 include files inttypes.h, ..., sys/un.h
-- Looking for 12 include files inttypes.h, ..., sys/un.h - found
-- Looking for 13 include files inttypes.h, ..., sys/utime.h
-- Looking for 13 include files inttypes.h, ..., sys/utime.h - not found
-- Looking for 13 include files inttypes.h, ..., sys/xattr.h
-- Looking for 13 include files inttypes.h, ..., sys/xattr.h - not found
-- Looking for 13 include files inttypes.h, ..., arpa/inet.h
-- Looking for 13 include files inttypes.h, ..., arpa/inet.h - found
-- Looking for 14 include files inttypes.h, ..., fcntl.h
-- Looking for 14 include files inttypes.h, ..., fcntl.h - found
-- Looking for 15 include files inttypes.h, ..., idn2.h
-- Looking for 15 include files inttypes.h, ..., idn2.h - not found
-- Looking for 15 include files inttypes.h, ..., ifaddrs.h
-- Looking for 15 include files inttypes.h, ..., ifaddrs.h - found
-- Looking for 16 include files inttypes.h, ..., io.h
-- Looking for 16 include files inttypes.h, ..., io.h - not found
-- Looking for 16 include files inttypes.h, ..., libgen.h
-- Looking for 16 include files inttypes.h, ..., libgen.h - found
-- Looking for 17 include files inttypes.h, ..., locale.h
-- Looking for 17 include files inttypes.h, ..., locale.h - found
-- Looking for 18 include files inttypes.h, ..., net/if.h
-- Looking for 18 include files inttypes.h, ..., net/if.h - found
-- Looking for 19 include files inttypes.h, ..., netdb.h
-- Looking for 19 include files inttypes.h, ..., netdb.h - found
-- Looking for 20 include files inttypes.h, ..., netinet/in.h
-- Looking for 20 include files inttypes.h, ..., netinet/in.h - found
-- Looking for 21 include files inttypes.h, ..., netinet/tcp.h
-- Looking for 21 include files inttypes.h, ..., netinet/tcp.h - found
-- Looking for 22 include files inttypes.h, ..., netinet/udp.h
-- Looking for 22 include files inttypes.h, ..., netinet/udp.h - not found
-- Looking for linux/tcp.h
-- Looking for linux/tcp.h - not found
-- Looking for 22 include files inttypes.h, ..., poll.h
-- Looking for 22 include files inttypes.h, ..., poll.h - found
-- Looking for 23 include files inttypes.h, ..., pwd.h
-- Looking for 23 include files inttypes.h, ..., pwd.h - found
-- Looking for 24 include files inttypes.h, ..., stdatomic.h
-- Looking for 24 include files inttypes.h, ..., stdatomic.h - found
-- Looking for 25 include files inttypes.h, ..., stdbool.h
-- Looking for 25 include files inttypes.h, ..., stdbool.h - found
-- Looking for 26 include files inttypes.h, ..., stdint.h
-- Looking for 26 include files inttypes.h, ..., stdint.h - found
-- Looking for 27 include files inttypes.h, ..., strings.h
-- Looking for 27 include files inttypes.h, ..., strings.h - found
-- Looking for 28 include files inttypes.h, ..., stropts.h
-- Looking for 28 include files inttypes.h, ..., stropts.h - not found
-- Looking for 28 include files inttypes.h, ..., termio.h
-- Looking for 28 include files inttypes.h, ..., termio.h - not found
-- Looking for 28 include files inttypes.h, ..., termios.h
-- Looking for 28 include files inttypes.h, ..., termios.h - found
-- Looking for 29 include files inttypes.h, ..., unistd.h
-- Looking for 29 include files inttypes.h, ..., unistd.h - found
-- Looking for 30 include files inttypes.h, ..., utime.h
-- Looking for 30 include files inttypes.h, ..., utime.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of size_t
-- Check size of size_t - done
-- Check size of ssize_t
-- Check size of ssize_t - done
-- Check size of long long
-- Check size of long long - done
-- Check size of long
-- Check size of long - done
-- Check size of int
-- Check size of int - done
-- Check size of __int64
-- Check size of __int64 - failed
-- Check size of time_t
-- Check size of time_t - done
-- Check size of suseconds_t
-- Check size of suseconds_t - done
-- Looking for fchmod
-- Looking for fchmod - found
-- Looking for fnmatch
-- Looking for fnmatch - found
-- Looking for basename
-- Looking for basename - found
-- Looking for socket
-- Looking for socket - found
-- Looking for sched_yield
-- Looking for sched_yield - found
-- Looking for socketpair
-- Looking for socketpair - found
-- Looking for recv
-- Looking for recv - found
-- Looking for send
-- Looking for send - found
-- Looking for sendmsg
-- Looking for sendmsg - found
-- Looking for select
-- Looking for select - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for stricmp
-- Looking for stricmp - not found
-- Looking for strcmpi
-- Looking for strcmpi - not found
-- Looking for memrchr
-- Looking for memrchr - not found
-- Looking for alarm
-- Looking for alarm - found
-- Looking for arc4random
-- Looking for arc4random - found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for getppid
-- Looking for getppid - found
-- Looking for utimes
-- Looking for utimes - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for closesocket
-- Looking for closesocket - not found
-- Looking for sigsetjmp
-- Looking for sigsetjmp - found
-- Looking for getpass_r
-- Looking for getpass_r - not found
-- Looking for getpwuid
-- Looking for getpwuid - found
-- Looking for getpwuid_r
-- Looking for getpwuid_r - found
-- Looking for geteuid
-- Looking for geteuid - found
-- Looking for utime
-- Looking for utime - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - not found
-- Looking for signal
-- Looking for signal - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for siginterrupt
-- Looking for siginterrupt - not found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for freeaddrinfo
-- Looking for freeaddrinfo - found
-- Looking for pipe
-- Looking for pipe - found
-- Looking for ftruncate
-- Looking for ftruncate - found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for _fseeki64
-- Looking for _fseeki64 - not found
-- Looking for getpeername
-- Looking for getpeername - found
-- Looking for getsockname
-- Looking for getsockname - found
-- Looking for if_nametoindex
-- Looking for if_nametoindex - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for setlocale
-- Looking for setlocale - found
-- Looking for setmode
-- Looking for setmode - not found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for mach_absolute_time
-- Looking for mach_absolute_time - not found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Looking for fsetxattr
-- Looking for fsetxattr - not found
-- Check size of sa_family_t
-- Check size of sa_family_t - done
-- Check size of ADDRESS_FAMILY
-- Check size of ADDRESS_FAMILY - failed
-- Looking for sigaction
-- Looking for sigaction - found
-- Performing Curl Test HAVE_FCNTL_O_NONBLOCK
-- Performing Curl Test HAVE_FCNTL_O_NONBLOCK - Success
-- Performing Curl Test HAVE_IOCTLSOCKET
-- Performing Curl Test HAVE_IOCTLSOCKET - Failed
-- Performing Curl Test HAVE_IOCTLSOCKET_CAMEL
-- Performing Curl Test HAVE_IOCTLSOCKET_CAMEL - Failed
-- Performing Curl Test HAVE_IOCTLSOCKET_CAMEL_FIONBIO
-- Performing Curl Test HAVE_IOCTLSOCKET_CAMEL_FIONBIO - Failed
-- Performing Curl Test HAVE_IOCTLSOCKET_FIONBIO
-- Performing Curl Test HAVE_IOCTLSOCKET_FIONBIO - Failed
-- Performing Curl Test HAVE_IOCTL_FIONBIO
-- Performing Curl Test HAVE_IOCTL_FIONBIO - Success
-- Performing Curl Test HAVE_IOCTL_SIOCGIFADDR
-- Performing Curl Test HAVE_IOCTL_SIOCGIFADDR - Success
-- Performing Curl Test HAVE_SETSOCKOPT_SO_NONBLOCK
-- Performing Curl Test HAVE_SETSOCKOPT_SO_NONBLOCK - Failed
-- Performing Curl Test HAVE_O_NONBLOCK
-- Performing Curl Test HAVE_O_NONBLOCK - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_3
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_3 - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_5
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_5 - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_6
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_6 - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_3_REENTRANT
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_3_REENTRANT - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_5_REENTRANT
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_5_REENTRANT - Failed
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_6_REENTRANT
-- Performing Curl Test HAVE_GETHOSTBYNAME_R_6_REENTRANT - Failed
-- Performing Curl Test HAVE_IN_ADDR_T
-- Performing Curl Test HAVE_IN_ADDR_T - Success
-- Performing Curl Test HAVE_BOOL_T
-- Performing Curl Test HAVE_BOOL_T - Success
-- Performing Curl Test STDC_HEADERS
-- Performing Curl Test STDC_HEADERS - Success
-- Performing Curl Test HAVE_FILE_OFFSET_BITS
-- Performing Curl Test HAVE_FILE_OFFSET_BITS - Success
-- Performing Curl Test HAVE_VARIADIC_MACROS_C99
-- Performing Curl Test HAVE_VARIADIC_MACROS_C99 - Success
-- Performing Curl Test HAVE_VARIADIC_MACROS_GCC
-- Performing Curl Test HAVE_VARIADIC_MACROS_GCC - Success
-- Performing Curl Test HAVE_ATOMIC
-- Performing Curl Test HAVE_ATOMIC - Success
-- Check size of off_t
-- Check size of off_t - done
-- Check size of curl_off_t
-- Check size of curl_off_t - done
-- Check size of curl_socket_t
-- Check size of curl_socket_t - done
-- Performing Curl Test HAVE_GLIBC_STRERROR_R
-- Performing Curl Test HAVE_GLIBC_STRERROR_R - Failed
-- Performing Curl Test HAVE_POSIX_STRERROR_R
-- Performing Curl Test HAVE_POSIX_STRERROR_R - Success
-- Performing Curl Test HAVE_CLOCK_GETTIME_MONOTONIC
-- Performing Curl Test HAVE_CLOCK_GETTIME_MONOTONIC - Success
-- Performing Curl Test HAVE_BUILTIN_AVAILABLE
-- Performing Curl Test HAVE_BUILTIN_AVAILABLE - Failed
-- Performing Test HAVE_MSG_NOSIGNAL
-- Performing Test HAVE_MSG_NOSIGNAL - Success
-- Performing Test HAVE_STRUCT_TIMEVAL
-- Performing Test HAVE_STRUCT_TIMEVAL - Success
-- Check size of struct sockaddr_storage
-- Check size of struct sockaddr_storage - done
-- Performing Test HAVE_H_ERRNO
-- Performing Test HAVE_H_ERRNO - Failed
-- Performing Test HAVE_H_ERRNO_ASSIGNABLE
CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately:
HAVE_H_ERRNO_ASSIGNABLE_EXITCODE (advanced)
For details see /home/kartatz/curl/build/TryRunResults.cmake
-- Performing Test HAVE_H_ERRNO_ASSIGNABLE - Failed
-- Performing Test HAVE_CLOCK_GETTIME_MONOTONIC_RAW
-- Performing Test HAVE_CLOCK_GETTIME_MONOTONIC_RAW - Success
-- Enabled features: IPv6 unixsockets AsynchDNS Largefile alt-svc HSTS threadsafe
-- Enabled protocols: HTTP
-- Enabled SSL backends:
-- Configuring incomplete, errors occurred!
I did this
Trying to cross-compile curl to SerenityOS fails with the following output:
The relevant part is:
I expected the following
Curl configures and build successfully
curl/libcurl version
curl 8.4.0
operating system
Linux ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 GNU/Linux