Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-compiling to SerenityOS fails #12093

Closed
Kartatz opened this issue Oct 11, 2023 · 7 comments
Closed

Cross-compiling to SerenityOS fails #12093

Kartatz opened this issue Oct 11, 2023 · 7 comments

Comments

@Kartatz
Copy link

Kartatz commented Oct 11, 2023

I did this

Trying to cross-compile curl to SerenityOS fails with the following output:

$ 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!

The relevant part is:

CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately:
   HAVE_H_ERRNO_ASSIGNABLE_EXITCODE (advanced)

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

vszakats added a commit to vszakats/curl that referenced this issue Oct 11, 2023
Skip `check_c_source_runs()` call when cross-building.

Regression from 04a3a37 curl#11979

Reported-by: Kartatz on Github
Fixes curl#12093
Closes #xxxxx
@Kartatz Kartatz changed the title Cross-comping to SerenityOS fails Cross-compiling to SerenityOS fails Oct 11, 2023
@vszakats
Copy link
Member

Thanks for the report. This workaround might work till the fix
lands: cmake -DHAVE_H_ERRNO_ASSIGNABLE=0.

Fix attempt here: #12094. Please test and report if it fixes this.

Also, please report if HAVE_GETADDRINFO_THREADSAFE is
detected correctly atfer this for SerenityOS. If not, we might want to
allowlist this based on CMAKE_SYSTEM_NAME.

@Kartatz
Copy link
Author

Kartatz commented Oct 11, 2023

Please test and report if it fixes this.

It's working just fine. Thanks!

Also, please report if HAVE_GETADDRINFO_THREADSAFE is
detected correctly atfer this for SerenityOS.

It seems that HAVE_GETADDRINFO_THREADSAFE is being set to 0, despite SerenityOS supporting it.

@vszakats
Copy link
Member

vszakats commented Oct 11, 2023

Thanks! What is the value of CMAKE_SYSTEM_NAME in your SerenityOS build?

Add this to CMakeLists.txt to display it:

message(STATUS "|${CMAKE_SYSTEM_NAME}|")

@Kartatz
Copy link
Author

Kartatz commented Oct 11, 2023

Thanks! What is the value of CMAKE_SYSTEM_NAME in your SerenityOS build?

Output:

$ cmake -B build -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=x86_64-unknown-serenity.cmake -DCURL_ENABLE_SSL=OFF -DHTTP_ONLY=ON
-- curl version=[8.4.0-DEV]
-- 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
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
-- Could NOT find LibPSL (missing: LIBPSL_LIBRARY LIBPSL_INCLUDE_DIR) 
-- Could NOT find LibSSH2 (missing: LIBSSH2_LIBRARY LIBSSH2_INCLUDE_DIR) 
-- Enabled features: IPv6 unixsockets AsynchDNS Largefile alt-svc HSTS threadsafe
-- Enabled protocols: HTTP
-- Enabled SSL backends: 
-- |SerenityOS|
-- Configuring done (0.3s)
-- Generating done (3.6s)

So, it seems to be just "SerenityOS".

@vszakats
Copy link
Member

Thank you @Kartatz!

vszakats added a commit to vszakats/curl that referenced this issue Oct 11, 2023
Normal detection fails. This patch opts in SerenityOS into
`HAVE_GETADDRINFO_THREADSAFE`.

Ref: curl#12093 (comment)
Ref: curl#12093 (comment)
Assisted-by: Kartatz on Github
Closes #xxxxx
vszakats added a commit to vszakats/curl that referenced this issue Oct 11, 2023
Normal detection fails. This patch opts in SerenityOS into
`HAVE_GETADDRINFO_THREADSAFE`.

Ref: curl#12093 (comment)
Ref: curl#12093 (comment)
Assisted-by: Kartatz on Github
Closes #xxxxx
@vszakats
Copy link
Member

vszakats commented Oct 11, 2023

@Kartatz Trying to match the opt-in in autotools (but maybe its detection worked already I don't know). If you have feedback for that, I'd appreciate it: #12095 (comment)

@kelteseth
Copy link

Hi, I just wanted to say this also fixed compiling for arm64-ios.cmake via vcpkg thanks!!

kennethmyhra added a commit to kennethmyhra/serenity that referenced this issue Oct 16, 2023
According to the issue curl/curl#12093 the
curl build doesn't properly detect that Serenity has getaddrinfo() and
outputs the following:
---
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)
---

Setting the CMake cache variable HAVE_GETADDRINFO_THREADSAFE=1 solves
the mentioned error.
kennethmyhra added a commit to kennethmyhra/serenity that referenced this issue Oct 16, 2023
According to the issue curl/curl#12093 the
curl build doesn't properly detect that Serenity has getaddrinfo() and
outputs the following:
---
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)
---

Setting the CMake cache variable HAVE_GETADDRINFO_THREADSAFE=1 solves
the mentioned error.

Also see: curl/curl#12094
gmta pushed a commit to SerenityOS/serenity that referenced this issue Oct 16, 2023
According to the issue curl/curl#12093 the
curl build doesn't properly detect that Serenity has getaddrinfo() and
outputs the following:
---
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)
---

Setting the CMake cache variable HAVE_GETADDRINFO_THREADSAFE=1 solves
the mentioned error.

Also see: curl/curl#12094
kennethmyhra added a commit to kennethmyhra/serenity that referenced this issue Dec 6, 2023
Also remove CMake cache variable HAVE_GETADDRINFO_THREADSAFE since the
issue: curl/curl#12093 has been resolved for
this release.
timschumi pushed a commit to SerenityOS/serenity that referenced this issue Dec 6, 2023
Also remove CMake cache variable HAVE_GETADDRINFO_THREADSAFE since the
issue: curl/curl#12093 has been resolved for
this release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

3 participants