| Cost | $0.125 |
| Total elapsed time | 12m24s |
| LLM inference time | 9m54s |
| Command execution time | 2m29s |
| Commands executed | 51 |
All details >
| Attempt ID | 30k51uvjkvcig | Attempt group | run-16-09-22-05 |
| Revision | fb5c74bd2fee | AWS Instance | m8i.2xlarge |
| Start time | 2025-09-16T21:41:27.822Z | End time | 2025-09-16T21:53:53.064Z |
| Task | curl-ssl-arm64-static | Environment | ubuntu-22.04-amd64-cross-arm64 |
| Model | | OpenRouter slug | openai/gpt-5-mini |
| Temperature | 1 | Explicit prompt caching | false |
| User msg after tool call | false | Max tool calls | 150 |
| Total timeout seconds | 3600 | Single command timeout | 1800 |
| Cost | $0.125 | Duration | 12m24s |
| LLM inference time | 9m54s | Command execution time | 2m29s |
| Final context tokens | 68,586 | Total output tokens | 19,776 |
| Output reasoning tokens | 14,784 | Messages | 105 |
| Assistant messages | 52 | User messages | 1 |
| System messages | 1 | Commands executed | 51 |
curl 8.16.0 is a command-line HTTP client.
Project link: curl.se
Task:
Compile and install curl to a specific location. Build with SSL support (TLS v1.3), brotli, zlib and zstd. Cross-compile to arm64. Build it statically.
Difficulties:
Cross-compilation toolchain setup, manually cross-compiling all dependencies, properly configuring SSL certificates in OpenSSL.
Environment:
Ubuntu 22.04 on amd64, with internet access.
You are a package-building specialist operating a Ubuntu 22.04 bash shell via one tool: run_terminal_cmd.
The current working directory of every run_terminal_cmd is /home/peter.
Execution rules:
- Always pass non-interactive flags for any command that could prompt (e.g., -y, --yes, DEBIAN_FRONTEND=noninteractive).
- Don't include any newlines in the command.
- You can use sudo.
If you encounter any errors or issues while doing the user's request, you must fix them and continue the task.
At the end verify you did the user request correctly.
You are given a curl v8.16.0 source code at /home/peter/curl.tar.gz. Please compile curl and install it to /home/peter/result. Create a symlink from /home/peter/result/curl to the actual binary. Make sure it builds with SSL support (TLS v1.3), brotli, zlib and zstd. The binary should be statically compiled for arm64.
Show reasoning
Exploring cross-compilation for arm64
I'm thinking about installing the libssl-dev:arm64 package via apt multiarch for cross-compiling on x86_64 targeting arm64. For that, I'd need a cross toolchain and the multiarch cross libraries, which include a few specific packages. I'd have to enable the arm64 architecture first, then install some necessary tools and libraries.
It looks like I should be mindful of static linking as well, considering how the user asked for a fully static binary with TLS v1.3 and associated libraries like brotli and zlib.Planning static cross-compilation
I'm considering building with musl for easier cross-compilation using musl-cross for aarch64. Alternatively, I could use aarch64-linux-gnu-gcc for static linking with static libraries.
First, I need to set up the cross toolchain and install the necessary -dev packages for arm64 static libs using apt. However, Debian multiarch might not offer everything I need, so I may have to debug that.
Another option could be compiling using clang with specific flags for aarch64 static. I need to ensure all dependencies are also built for aarch64 in static form, along with necessary tools.Following installation guidelines
I need to remember that I can't use interactive prompts with apt, so I’ll pass the -y flag and set DEBIAN_FRONTEND=noninteractive for installations.
I'll use dpkg --add-architecture arm64, but if I'm cross-compiling libs from source, maybe that isn't necessary. I also need to install the cross-compiler and necessary build tools like make and autoconf.
As I compile dependencies in specific directories, I'll extract tarballs and set the prefix for my installations. It seems I’ll configure OpenSSL with the right flags for cross-compilation too.Configuring static builds
I'm planning to build static libraries, so I need to add no-shared and probably set -fPIC. For static builds, I'll also use -static in LDFLAGS. It’s essential that we follow the cross-compilation instructions for proper installation in /home/peter/aarch64.
For zlib, I’ll configure it for cross-compilation with specific flags, ensuring to export AR and RANLIB if necessary.
For brotli, using cmake sounds good, but I might also consider compiling from the apt source for convenience. Finally, I'll build zstd by using make with appropriate options to disable shared libraries.Setting up static builds for cross-compilation
I'll use make -C lib static=1 but need to double-check the zstd build. For curl, I’ll configure it with specific --host and --build options while ensuring it points to the correct prefixes for openssl, brotli, zlib, and zstd.
I have to set PKG_CONFIG to find the correct libraries, and I’ll pass the right LDFLAGS and CPPFLAGS. For static builds, I should avoid running any tests. Then, I’ll follow the necessary steps to download sources and build OpenSSL, zlib, brotli, and zstd for aarch64 architecture with care for static linking.Compiling curl and dependencies
I need to configure curl to ensure it builds a static binary. I’ll include -static in CFLAGS and use flags like --enable-static and --disable-shared. For each library, I must verify static linking settings and install paths. The key libraries are OpenSSL, brotli, zlib, and zstd, which I'll download and build from source.
Throughout, I need to ensure the pkg-config files are directed to the right paths. I'll also set up my environment to run commands efficiently while handling errors effectively, starting with necessary package installations. Let's plan these sequential commands carefully!
compile-bench> sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential gcc-aarch64-linux-gnu g++-aarch64-linux-gnu cmake autoconf automake libtool pkg-config wget git perl nasm xz-utils ca-certificates pkgconf libssl-dev liblzma-dev libz-dev
0% [Working]
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
0% [Connecting to archive.ubuntu.com (185.125.190.36)] [1 InRelease 14.2 kB/129
0% [Waiting for headers]
0% [Waiting for headers]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
0% [Waiting for headers]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [80.3 kB]
0% [Waiting for headers] [3 Packages 22.9 kB/80.3 kB 29%]
0% [Waiting for headers]
0% [3 Packages store 0 B] [Waiting for headers] [Waiting for headers]
0% [Waiting for headers] [Waiting for headers]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB]
0% [Waiting for headers] [4 Packages 6999 B/1274 kB 1%]
0% [Waiting for headers] [4 Packages 124 kB/1274 kB 10%]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
0% [5 InRelease 12.7 kB/128 kB 10%] [4 Packages 731 kB/1274 kB 57%]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3311 kB]
0% [5 InRelease 15.6 kB/128 kB 12%] [6 Packages 8192 B/3311 kB 0%]
0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [6 Packages 50.2 kB/
0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [Waiting for headers
Get:7 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5441 kB]
0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 8754 B/5
0% [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 201 kB/5441 kB 4%]
0% [6 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 201 kB/5
0% [6 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%]
0% [5 InRelease 41.7 kB/128 kB 33%]
0% [7 Packages store 0 B] [5 InRelease 41.7 kB/128 kB 33%]
0% [7 Packages store 0 B] [Waiting for headers]
0% [Waiting for headers]
0% [Waiting for headers]
Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
0% [8 InRelease 2588 B/127 kB 2%]
0% [Working]
72% [Waiting for headers]
Get:9 http://archive.u
[command output truncated]
Reading package lists... 0%
Reading package lists... 3%
Reading package lists... 3%
Reading package lists... 4%
Reading package lists... 4%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 52%
Reading package lists... 52%
Reading package lists... 67%
Reading package lists... 67%
Reading package lists... 71%
Reading package lists... 71%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 81%
Reading package lists... 81%
Reading package lists... 96%
Reading package lists... 96%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... Done
Reading package lists... 0%
Reading package lists... 0%
Reading package lists... 0%
Reading package lists... 3%
Reading package lists... 3%
Reading package lists... 4%
Reading package lists... 4%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 52%
Reading package lists... 52%
Reading package lists... 67%
Reading package lists... 67%
Reading package lists... 71%
Reading package lists... 71%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 81%
Reading package lists... 81%
Reading package lists... 96%
Reading package lists... 96%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... Done
Building dependency tree... 0%
Building dependency tree... 0%
Building dependency tree... 50%
Building dependency tree... 50%
Building dependency tree... Done
Reading state information... 0%
Reading state information... 1%
Reading state information... Done
Note, selecting 'zlib1g-dev' instead of 'libz-dev'
build-essential is already the newest version (12.9ubuntu3).
xz-utils is already the newest version (5.2.5-2ubuntu1).
xz-utils set to manually installed.
ca-certificates is already the newest version (20240203~22.04.1).
perl is already the newest version (5.34.0-3ubuntu1.5).
perl set to manually installed.
wget is already the newest version (1.21.2-2ubuntu1.1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
pkgconf : Breaks: pkg-config (>= 0.29-1)
E: Unable to correct problems, you have held broken packages.
↓ 32 lines
0% [Working] Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] 0% [Connecting to archive.ubuntu.com (185.125.190.36)] [1 InRelease 14.2 kB/129 0% [Waiting for headers] 0% [Waiting for headers] Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease 0% [Waiting for headers] Get:3 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [80.3 kB] 0% [Waiting for headers] [3 Packages 22.9 kB/80.3 kB 29%] 0% [Waiting for headers] 0% [3 Packages store 0 B] [Waiting for headers] [Waiting for headers] 0% [Waiting for headers] [Waiting for headers] Get:4 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB] 0% [Waiting for headers] [4 Packages 6999 B/1274 kB 1%] 0% [Waiting for headers] [4 Packages 124 kB/1274 kB 10%] Get:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] 0% [5 InRelease 12.7 kB/128 kB 10%] [4 Packages 731 kB/1274 kB 57%] Get:6 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3311 kB] 0% [5 InRelease 15.6 kB/128 kB 12%] [6 Packages 8192 B/3311 kB 0%] 0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [6 Packages 50.2 kB/ 0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [Waiting for headers Get:7 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5441 kB] 0% [4 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 8754 B/5 0% [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 201 kB/5441 kB 4%] 0% [6 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] [7 Packages 201 kB/5 0% [6 Packages store 0 B] [5 InRelease 15.6 kB/128 kB 12%] 0% [5 InRelease 41.7 kB/128 kB 33%] 0% [7 Packages store 0 B] [5 InRelease 41.7 kB/128 kB 33%] 0% [7 Packages store 0 B] [Waiting for headers] 0% [Waiting for headers] 0% [Waiting for headers] Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB] 0% [8 InRelease 2588 B/127 kB 2%] 0% [Working] 72% [Waiting for headers] Get:9 http://archive.u [command output truncated] Reading package lists... 0% Reading package lists... 3% Reading package lists... 3% Reading package lists... 4% Reading package lists... 4% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 52% Reading package lists... 52% Reading package lists... 67% Reading package lists... 67% Reading package lists... 71% Reading package lists... 71% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 81% Reading package lists... 81% Reading package lists... 96% Reading package lists... 96% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... Done Reading package lists... 0% Reading package lists... 0% Reading package lists... 0% Reading package lists... 3% Reading package lists... 3% Reading package lists... 4% Reading package lists... 4% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 52% Reading package lists... 52% Reading package lists... 67% Reading package lists... 67% Reading package lists... 71% Reading package lists... 71% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 81% Reading package lists... 81% Reading package lists... 96% Reading package lists... 96% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... Done Building dependency tree... 0% Building dependency tree... 0% Building dependency tree... 50% Building dependency tree... 50% Building dependency tree... Done Reading state information... 0% Reading state information... 1% Reading state information... Done Note, selecting 'zlib1g-dev' instead of 'libz-dev' build-essential is already the newest version (12.9ubuntu3). xz-utils is already the newest version (5.2.5-2ubuntu1). xz-utils set to manually installed. ca-certificates is already the newest version (20240203~22.04.1). perl is already the newest version (5.34.0-3ubuntu1.5). perl set to manually installed. wget is already the newest version (1.21.2-2ubuntu1.1). Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: pkgconf : Breaks: pkg-config (>= 0.29-1) E: Unable to correct problems, you have held broken packages.
Show reasoning
Fixing package installation issues
I’m dealing with a problem where pkgconf is conflicting with pkg-config. The error indicates that pkgconf might not be necessary, so I’ll remove it from the installation list. I have already included some essential packages like libssl-dev and libz-dev, which should be fine. My next step is to rerun the apt-get install command, this time without pkgconf, and correct the command to install everything needed efficiently.
compile-bench> sudo DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential gcc-aarch64-linux-gnu g++-aarch64-linux-gnu cmake autoconf automake libtool pkg-config wget git perl nasm xz-utils ca-certificates zlib1g-dev libssl-dev
Reading package lists... 0%
Reading package lists... 0%
Reading package lists... 0%
Reading package lists... 3%
Reading package lists... 3%
Reading package lists... 4%
Reading package lists... 4%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 52%
Reading package lists... 52%
Reading package lists... 67%
Reading package lists... 67%
Reading package lists... 71%
Reading package lists... 71%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 72%
Reading package lists... 81%
Reading package lists... 81%
Reading package lists... 96%
Reading package lists... 96%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... 99%
Reading package lists... Done
Building dependency tree... 0%
Building dependency tree... 0%
Building dependency tree... 50%
Building dependency tree... 50%
Building dependency tree... Done
Reading state information... 0%
Reading state information... 1%
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
xz-utils is already the newest version (5.2.5-2ubuntu1).
xz-utils set to manually installed.
ca-certificates is already the newest version (20240203~22.04.1).
perl is already the newest version (5.34.0-3ubuntu1.5).
perl set to manually installed.
wget is already the newest version (1.21.2-2ubuntu1.1).
The following additional packages will be installed:
autotools-dev binutils-aarch64-linux-gnu cmake-data cpp-11-aarch64-linux-gnu
cpp-aarch64-linux-gnu dh-elpa-helper emacsen-common g++-11-aarch64-linux-gnu
gcc-11-aarch64-linux-gnu gcc-11-aarch64-linux-gnu-base gcc-11-cross-base
gcc-12-cross-base git-man less libarchive13 libasan6-arm64-cross
libatomic1-arm64-cross libbsd0 libc6-arm64-cross libc6-dev-arm64-cross
libcbor0.8 libcurl3-gnutls libedit2 liberror-perl libexpat1 libfido2-1
libgcc-11-dev-arm64-cross libgcc-s1-arm64-cross libglib2.0-0 libglib2.0-data
libgomp1-arm64-cross libhwasan0-arm64-cross libicu70 libitm1-arm64-cross
libjsoncpp25 liblsan0-arm64-cross libltdl-dev libltdl7 libmd0 librhash0
libsigsegv2 libstdc++-11-dev-arm64-cross libstdc++6-arm64-cross
libtsan0-arm64-cross libubsan1-arm64-cross libuv1 libx11-6 libx11-data
libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1
linux-libc-dev-arm64-cross m4 openssh-client shared-mime-info xauth
xdg-user-dirs
Suggested packages:
autoconf-archive gnu-standards autoconf-doc gettext binutils-doc cmake-doc
ninja-build cmake-format gcc-11-locales cpp-doc gcc-11-doc manpages-dev flex
bison gdb-aarch64-linux-gnu gcc-doc gettext-base git-daemon-run
| git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs
git-mediawiki git-svn lrzip libtool-doc libssl-doc gfortran
[command output truncated]
22.04cross1) ...
Setting up libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ...
Setting up libxcb1:amd64 (1.14-3ubuntu3) ...
Setting up libtool (2.4.6-15build2) ...
Setting up libasan6-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ...
Setting up libedit2:amd64 (3.1-20210910-1build1) ...
Setting up libtsan0-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ...
Setting up m4 (1.4.18-5ubuntu2) ...
Setting up libhwasan0-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ...
Setting up libc6-dev-arm64-cross (2.35-0ubuntu1cross3) ...
Setting up libstdc++6-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ...
Setting up cpp-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ...
Setting up git (1:2.34.1-1ubuntu1.15) ...
Setting up autoconf (2.71-2) ...
Setting up libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ...
Setting up libxml2:amd64 (2.9.13+dfsg-1ubuntu0.9) ...
Setting up libxmuu1:amd64 (2:1.1.3-3) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/automake.1.gz because associated file /usr/share/man/man1/automake-1.16.1.gz (of link group automake) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/aclocal.1.gz because associated file /usr/share/man/man1/aclocal-1.16.1.gz (of link group automake) doesn't exist
Setting up libubsan1-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ...
Setting up libarchive13:amd64 (3.6.0-1ubuntu1.5) ...
Setting up openssh-client (1:8.9p1-3ubuntu0.13) ...
update-alternatives: using /usr/bin/ssh to provide /usr/bin/rsh (rsh) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rsh.1.gz because associated file /usr/share/man/man1/ssh.1.gz (of link group rsh) doesn't exist
update-alternatives: using /usr/bin/slogin to provide /usr/bin/rlogin (rlogin) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rlogin.1.gz because associated file /usr/share/man/man1/slogin.1.gz (of link group rlogin) doesn't exist
update-alternatives: using /usr/bin/scp to provide /usr/bin/rcp (rcp) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rcp.1.gz because associated file /usr/share/man/man1/scp.1.gz (of link group rcp) doesn't exist
Setting up libxext6:amd64 (2:1.3.4-1build1) ...
Setting up libgcc-11-dev-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ...
Setting up libltdl-dev:amd64 (2.4.6-15build2) ...
Setting up shared-mime-info (2.1-2) ...
Setting up xauth (1:1.1-1build2) ...
Setting up cmake (3.22.1-1ubuntu1.22.04.2) ...
Setting up gcc-11-aarch64-linux-gnu (11.4.0-1ubuntu1~22.04cross1) ...
Setting up libstdc++-11-dev-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ...
Setting up g++-11-aarch64-linux-gnu (11.4.0-1ubuntu1~22.04cross1) ...
Setting up gcc-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ...
Setting up g++-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
↓ 76 lines
Reading package lists... 0% Reading package lists... 0% Reading package lists... 0% Reading package lists... 3% Reading package lists... 3% Reading package lists... 4% Reading package lists... 4% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 42% Reading package lists... 52% Reading package lists... 52% Reading package lists... 67% Reading package lists... 67% Reading package lists... 71% Reading package lists... 71% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 81% Reading package lists... 81% Reading package lists... 96% Reading package lists... 96% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... Done Building dependency tree... 0% Building dependency tree... 0% Building dependency tree... 50% Building dependency tree... 50% Building dependency tree... Done Reading state information... 0% Reading state information... 1% Reading state information... Done build-essential is already the newest version (12.9ubuntu3). xz-utils is already the newest version (5.2.5-2ubuntu1). xz-utils set to manually installed. ca-certificates is already the newest version (20240203~22.04.1). perl is already the newest version (5.34.0-3ubuntu1.5). perl set to manually installed. wget is already the newest version (1.21.2-2ubuntu1.1). The following additional packages will be installed: autotools-dev binutils-aarch64-linux-gnu cmake-data cpp-11-aarch64-linux-gnu cpp-aarch64-linux-gnu dh-elpa-helper emacsen-common g++-11-aarch64-linux-gnu gcc-11-aarch64-linux-gnu gcc-11-aarch64-linux-gnu-base gcc-11-cross-base gcc-12-cross-base git-man less libarchive13 libasan6-arm64-cross libatomic1-arm64-cross libbsd0 libc6-arm64-cross libc6-dev-arm64-cross libcbor0.8 libcurl3-gnutls libedit2 liberror-perl libexpat1 libfido2-1 libgcc-11-dev-arm64-cross libgcc-s1-arm64-cross libglib2.0-0 libglib2.0-data libgomp1-arm64-cross libhwasan0-arm64-cross libicu70 libitm1-arm64-cross libjsoncpp25 liblsan0-arm64-cross libltdl-dev libltdl7 libmd0 librhash0 libsigsegv2 libstdc++-11-dev-arm64-cross libstdc++6-arm64-cross libtsan0-arm64-cross libubsan1-arm64-cross libuv1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1 linux-libc-dev-arm64-cross m4 openssh-client shared-mime-info xauth xdg-user-dirs Suggested packages: autoconf-archive gnu-standards autoconf-doc gettext binutils-doc cmake-doc ninja-build cmake-format gcc-11-locales cpp-doc gcc-11-doc manpages-dev flex bison gdb-aarch64-linux-gnu gcc-doc gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn lrzip libtool-doc libssl-doc gfortran [command output truncated] 22.04cross1) ... Setting up libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ... Setting up libxcb1:amd64 (1.14-3ubuntu3) ... Setting up libtool (2.4.6-15build2) ... Setting up libasan6-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ... Setting up libedit2:amd64 (3.1-20210910-1build1) ... Setting up libtsan0-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ... Setting up m4 (1.4.18-5ubuntu2) ... Setting up libhwasan0-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ... Setting up libc6-dev-arm64-cross (2.35-0ubuntu1cross3) ... Setting up libstdc++6-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ... Setting up cpp-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ... Setting up git (1:2.34.1-1ubuntu1.15) ... Setting up autoconf (2.71-2) ... Setting up libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ... Setting up libxml2:amd64 (2.9.13+dfsg-1ubuntu0.9) ... Setting up libxmuu1:amd64 (2:1.1.3-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/automake.1.gz because associated file /usr/share/man/man1/automake-1.16.1.gz (of link group automake) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/man1/aclocal.1.gz because associated file /usr/share/man/man1/aclocal-1.16.1.gz (of link group automake) doesn't exist Setting up libubsan1-arm64-cross (12.3.0-1ubuntu1~22.04cross1) ... Setting up libarchive13:amd64 (3.6.0-1ubuntu1.5) ... Setting up openssh-client (1:8.9p1-3ubuntu0.13) ... update-alternatives: using /usr/bin/ssh to provide /usr/bin/rsh (rsh) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rsh.1.gz because associated file /usr/share/man/man1/ssh.1.gz (of link group rsh) doesn't exist update-alternatives: using /usr/bin/slogin to provide /usr/bin/rlogin (rlogin) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rlogin.1.gz because associated file /usr/share/man/man1/slogin.1.gz (of link group rlogin) doesn't exist update-alternatives: using /usr/bin/scp to provide /usr/bin/rcp (rcp) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rcp.1.gz because associated file /usr/share/man/man1/scp.1.gz (of link group rcp) doesn't exist Setting up libxext6:amd64 (2:1.3.4-1build1) ... Setting up libgcc-11-dev-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ... Setting up libltdl-dev:amd64 (2.4.6-15build2) ... Setting up shared-mime-info (2.1-2) ... Setting up xauth (1:1.1-1build2) ... Setting up cmake (3.22.1-1ubuntu1.22.04.2) ... Setting up gcc-11-aarch64-linux-gnu (11.4.0-1ubuntu1~22.04cross1) ... Setting up libstdc++-11-dev-arm64-cross (11.4.0-1ubuntu1~22.04cross1) ... Setting up g++-11-aarch64-linux-gnu (11.4.0-1ubuntu1~22.04cross1) ... Setting up gcc-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ... Setting up g++-aarch64-linux-gnu (4:11.2.0-1ubuntu1) ... Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
[empty output]
[empty output]
Show reasoning
Running file list command
I noticed there was no output because the command might have been suppressed or quiet, especially with 'ls -l.' It seems strange that this command could return nothing. To clarify, I'll run another command to list the files again. This should help me see what’s going on and make sure I'm capturing the necessary information. Let’s figure it out!
compile-bench> ls -l /home/peter/build total 17992
-rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz
-rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz
-rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
↓ 5 lines
total 17992 -rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz -rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz -rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
Show reasoning
Downloading zlib
It seems the initial download for zlib didn’t work because the URL might redirect to a mirror or even be down. I’m considering using wget with the -O option. However, the first attempt may have failed because of TLS issues. So, let's try to download zlib separately using this specific link: https://zlib.net/zlib-1.2.13.tar.gz. That should help me get the file I need!
[empty output]
compile-bench> ls -l /home/peter/build total 17992
-rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz
-rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz
-rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
↓ 5 lines
total 17992 -rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz -rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz -rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
Show reasoning
Downloading zlib source
It looks like my earlier plan to build OpenSSL and others went well, but I'm running into issues with zlib downloads. The failure might be related to TLS or network conditions. Fortunately, I can source zlib from the GitHub mirror, specifically this link: https://github.com/madler/zlib/archive/refs/tags/v1.2.13.tar.gz. It seems like a solid option, so I’ll proceed with downloading zlib from there to keep things moving forward!
compile-bench> cd /home/peter/build && wget -q https://github.com/madler/zlib/archive/refs/tags/v1.2.13.tar.gz -O zlib-1.2.13.tar.gz && ls -l total 19516
-rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz
-rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz
-rw-r--r-- 1 peter peter 1556687 Sep 16 21:43 zlib-1.2.13.tar.gz
-rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
↓ 6 lines
total 19516 -rw-r--r-- 1 peter peter 15561739 Sep 19 2023 openssl-3.1.3.tar.gz -rw-r--r-- 1 peter peter 486984 Sep 16 21:43 v1.0.9.tar.gz -rw-r--r-- 1 peter peter 1556687 Sep 16 21:43 zlib-1.2.13.tar.gz -rw-r--r-- 1 peter peter 2368543 Apr 4 2023 zstd-1.5.5.tar.gz
compile-bench> cd /home/peter/build && tar xzf openssl-3.1.3.tar.gz && cd openssl-3.1.3 && export CC=aarch64-linux-gnu-gcc && export AR=aarch64-linux-gnu-ar && export RANLIB=aarch64-linux-gnu-ranlib && ./Configure linux-aarch64 no-shared --prefix=/home/peter/aarch64 && make -j$(nproc) && make install_sw Configuring OpenSSL version 3.1.3 for target linux-aarch64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1.h.in > include/openssl/asn1.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1t.h.in > include/openssl/asn1t.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/bio.h.in > include/openssl/bio.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cmp.h.in > include/openssl/cmp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cms.h.in > include/openssl/cms.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/conf.h.in > include/openssl/conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crmf.h.in > include/openssl/crmf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crypto.h.in > include/openssl/crypto.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ct.h.in > include/openssl/ct.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/err.h.in > include/openssl/err.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ess.h.in > include/openssl/ess.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/fipskey.h.in > include/openssl/fipskey.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/lhash.h.in > include/openssl/lhash.h
/usr/bin/perl "-I." -Mconfigdat
[command output truncated]
err_legacy.h
install ./include/openssl/stack.h -> /home/peter/aarch64/include/openssl/stack.h
install ./include/openssl/store.h -> /home/peter/aarch64/include/openssl/store.h
install ./include/openssl/storeerr.h -> /home/peter/aarch64/include/openssl/storeerr.h
install ./include/openssl/symhacks.h -> /home/peter/aarch64/include/openssl/symhacks.h
install ./include/openssl/tls1.h -> /home/peter/aarch64/include/openssl/tls1.h
install ./include/openssl/trace.h -> /home/peter/aarch64/include/openssl/trace.h
install ./include/openssl/ts.h -> /home/peter/aarch64/include/openssl/ts.h
install ./include/openssl/tserr.h -> /home/peter/aarch64/include/openssl/tserr.h
install ./include/openssl/txt_db.h -> /home/peter/aarch64/include/openssl/txt_db.h
install ./include/openssl/types.h -> /home/peter/aarch64/include/openssl/types.h
install ./include/openssl/ui.h -> /home/peter/aarch64/include/openssl/ui.h
install ./include/openssl/uierr.h -> /home/peter/aarch64/include/openssl/uierr.h
install ./include/openssl/whrlpool.h -> /home/peter/aarch64/include/openssl/whrlpool.h
install ./include/openssl/x509.h -> /home/peter/aarch64/include/openssl/x509.h
install ./include/openssl/x509_vfy.h -> /home/peter/aarch64/include/openssl/x509_vfy.h
install ./include/openssl/x509err.h -> /home/peter/aarch64/include/openssl/x509err.h
install ./include/openssl/x509v3.h -> /home/peter/aarch64/include/openssl/x509v3.h
install ./include/openssl/x509v3err.h -> /home/peter/aarch64/include/openssl/x509v3err.h
install libcrypto.a -> /home/peter/aarch64/lib/libcrypto.a
install libssl.a -> /home/peter/aarch64/lib/libssl.a
created directory `/home/peter/aarch64/lib/pkgconfig'
install libcrypto.pc -> /home/peter/aarch64/lib/pkgconfig/libcrypto.pc
install libssl.pc -> /home/peter/aarch64/lib/pkgconfig/libssl.pc
install openssl.pc -> /home/peter/aarch64/lib/pkgconfig/openssl.pc
make depend && make _build_modules
make[1]: Entering directory '/home/peter/build/openssl-3.1.3'
make[1]: Leaving directory '/home/peter/build/openssl-3.1.3'
make[1]: Entering directory '/home/peter/build/openssl-3.1.3'
make[1]: Nothing to be done for '_build_modules'.
make[1]: Leaving directory '/home/peter/build/openssl-3.1.3'
created directory `/home/peter/aarch64/lib/engines-3'
*** Installing engines
created directory `/home/peter/aarch64/lib/ossl-modules'
*** Installing modules
install providers/legacy.so -> /home/peter/aarch64/lib/ossl-modules/legacy.so
make depend && make _build_programs
make[1]: Entering directory '/home/peter/build/openssl-3.1.3'
make[1]: Leaving directory '/home/peter/build/openssl-3.1.3'
make[1]: Entering directory '/home/peter/build/openssl-3.1.3'
make[1]: Nothing to be done for '_build_programs'.
make[1]: Leaving directory '/home/peter/build/openssl-3.1.3'
created directory `/home/peter/aarch64/bin'
*** Installing runtime programs
install apps/openssl -> /home/peter/aarch64/bin/openssl
install tools/c_rehash -> /home/peter/aarch64/bin/c_rehash
↓ 86 lines
Configuring OpenSSL version 3.1.3 for target linux-aarch64 Using os-specific seed configuration Created configdata.pm Running configdata.pm Created Makefile.in Created Makefile Created include/openssl/configuration.h ********************************************************************** *** *** *** OpenSSL has been successfully configured *** *** *** *** If you encounter a problem while building, please open an *** *** issue on GitHub <https://github.com/openssl/openssl/issues> *** *** and include the output from the following command: *** *** *** *** perl configdata.pm --dump *** *** *** *** (If you are new to OpenSSL, you might want to consult the *** *** 'Troubleshooting' section in the INSTALL.md file first) *** *** *** ********************************************************************** /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1.h.in > include/openssl/asn1.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1t.h.in > include/openssl/asn1t.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/bio.h.in > include/openssl/bio.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cmp.h.in > include/openssl/cmp.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cms.h.in > include/openssl/cms.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/conf.h.in > include/openssl/conf.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crmf.h.in > include/openssl/crmf.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crypto.h.in > include/openssl/crypto.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ct.h.in > include/openssl/ct.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/err.h.in > include/openssl/err.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ess.h.in > include/openssl/ess.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/fipskey.h.in > include/openssl/fipskey.h /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/lhash.h.in > include/openssl/lhash.h /usr/bin/perl "-I." -Mconfigdat [command output truncated] err_legacy.h install ./include/openssl/stack.h -> /home/peter/aarch64/include/openssl/stack.h install ./include/openssl/store.h -> /home/peter/aarch64/include/openssl/store.h install ./include/openssl/storeerr.h -> /home/peter/aarch64/include/openssl/storeerr.h install ./include/openssl/symhacks.h -> /home/peter/aarch64/include/openssl/symhacks.h install ./include/openssl/tls1.h -> /home/peter/aarch64/include/openssl/tls1.h install ./include/openssl/trace.h -> /home/peter/aarch64/include/openssl/trace.h install ./include/openssl/ts.h -> /home/peter/aarch64/include/openssl/ts.h install ./include/openssl/tserr.h -> /home/peter/aarch64/include/openssl/tserr.h install ./include/openssl/txt_db.h -> /home/peter/aarch64/include/openssl/txt_db.h install ./include/openssl/types.h -> /home/peter/aarch64/include/openssl/types.h install ./include/openssl/ui.h -> /home/peter/aarch64/include/openssl/ui.h install ./include/openssl/uierr.h -> /home/peter/aarch64/include/openssl/uierr.h install ./include/openssl/whrlpool.h -> /home/peter/aarch64/include/openssl/whrlpool.h install ./include/openssl/x509.h -> /home/peter/aarch64/include/openssl/x509.h install ./include/openssl/x509_vfy.h -> /home/peter/aarch64/include/openssl/x509_vfy.h install ./include/openssl/x509err.h -> /home/peter/aarch64/include/openssl/x509err.h install ./include/openssl/x509v3.h -> /home/peter/aarch64/include/openssl/x509v3.h install ./include/openssl/x509v3err.h -> /home/peter/aarch64/include/openssl/x509v3err.h install libcrypto.a -> /home/peter/aarch64/lib/libcrypto.a install libssl.a -> /home/peter/aarch64/lib/libssl.a created directory `/home/peter/aarch64/lib/pkgconfig' install libcrypto.pc -> /home/peter/aarch64/lib/pkgconfig/libcrypto.pc install libssl.pc -> /home/peter/aarch64/lib/pkgconfig/libssl.pc install openssl.pc -> /home/peter/aarch64/lib/pkgconfig/openssl.pc make depend && make _build_modules make[1]: Entering directory '/home/peter/build/openssl-3.1.3' make[1]: Leaving directory '/home/peter/build/openssl-3.1.3' make[1]: Entering directory '/home/peter/build/openssl-3.1.3' make[1]: Nothing to be done for '_build_modules'. make[1]: Leaving directory '/home/peter/build/openssl-3.1.3' created directory `/home/peter/aarch64/lib/engines-3' *** Installing engines created directory `/home/peter/aarch64/lib/ossl-modules' *** Installing modules install providers/legacy.so -> /home/peter/aarch64/lib/ossl-modules/legacy.so make depend && make _build_programs make[1]: Entering directory '/home/peter/build/openssl-3.1.3' make[1]: Leaving directory '/home/peter/build/openssl-3.1.3' make[1]: Entering directory '/home/peter/build/openssl-3.1.3' make[1]: Nothing to be done for '_build_programs'. make[1]: Leaving directory '/home/peter/build/openssl-3.1.3' created directory `/home/peter/aarch64/bin' *** Installing runtime programs install apps/openssl -> /home/peter/aarch64/bin/openssl install tools/c_rehash -> /home/peter/aarch64/bin/c_rehash
compile-bench> cd /home/peter/build && tar xzf zlib-1.2.13.tar.gz && cd zlib-1.2.13 && CC=aarch64-linux-gnu-gcc ./configure --prefix=/home/peter/aarch64 && make -j$(nproc) && make install Checking for shared library support...
Building shared library libz.so.1.2.13 with aarch64-linux-gnu-gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o deflate.o deflate.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o infback.o infback.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inffast.o inffast.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inftrees.o inftrees.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o trees.o trees.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o zutil.o zutil.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o compress.o compress.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o uncompr.o uncompr.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzclose.o gzclose.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzlib.o gzlib.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzread.o gzread.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzwrite.o gzwrite.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c
aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a
aarch64-linux-gnu-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.13 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc
rm -f libz.so libz.so.1
ln -s libz.so.1.2.13 libz.so
ln -s libz.so.1.2.13 libz.so.1
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.13
aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.13
rm -f /home/peter/aarch64/lib/libz.a
cp libz.a /home/peter/aarch64/lib
chmod 644 /home/peter/aarch64/lib/libz.a
cp libz.so.1.2.13 /home/peter/aarch64/lib
chmod 755 /home/peter/aarch64/lib/libz.so.1.2.13
rm -f /home/peter/aarch64/share/man/man3/zlib.3
cp zlib.3 /home/peter/aarch64/share/man/man3
chmod 644 /home/peter/aarch64/share/man/man3/zlib.3
rm -f /home/peter/aarch64/lib/pkgconfig/zlib.pc
cp zlib.pc /home/peter/aarch64/lib/pkgconfig
chmod 644 /home/peter/aarch64/lib/pkgconfig/zlib.pc
rm -f /home/peter/aarch64/include/zlib.h /home/peter/aarch64/include/zconf.h
cp zlib.h zconf.h /home/peter/aarch64/include
chmod 644 /home/peter/aarch64/include/zlib.h /home/peter/aarch64/include/zconf.h
↓ 72 lines
Checking for shared library support... Building shared library libz.so.1.2.13 with aarch64-linux-gnu-gcc. Checking for size_t... Yes. Checking for off64_t... Yes. Checking for fseeko... Yes. Checking for strerror... Yes. Checking for unistd.h... Yes. Checking for stdarg.h... Yes. Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). Checking for vsnprintf() in stdio.h... Yes. Checking for return value of vsnprintf()... Yes. Checking for attribute(visibility) support... Yes. aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o deflate.o deflate.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o infback.o infback.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inffast.o inffast.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inftrees.o inftrees.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o trees.o trees.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o zutil.o zutil.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o compress.o compress.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o uncompr.o uncompr.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzclose.o gzclose.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzlib.o gzlib.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzread.o gzread.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzwrite.o gzwrite.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c aarch64-linux-gnu-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a aarch64-linux-gnu-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.13 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc rm -f libz.so libz.so.1 ln -s libz.so.1.2.13 libz.so ln -s libz.so.1.2.13 libz.so.1 aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.13 aarch64-linux-gnu-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.13 rm -f /home/peter/aarch64/lib/libz.a cp libz.a /home/peter/aarch64/lib chmod 644 /home/peter/aarch64/lib/libz.a cp libz.so.1.2.13 /home/peter/aarch64/lib chmod 755 /home/peter/aarch64/lib/libz.so.1.2.13 rm -f /home/peter/aarch64/share/man/man3/zlib.3 cp zlib.3 /home/peter/aarch64/share/man/man3 chmod 644 /home/peter/aarch64/share/man/man3/zlib.3 rm -f /home/peter/aarch64/lib/pkgconfig/zlib.pc cp zlib.pc /home/peter/aarch64/lib/pkgconfig chmod 644 /home/peter/aarch64/lib/pkgconfig/zlib.pc rm -f /home/peter/aarch64/include/zlib.h /home/peter/aarch64/include/zconf.h cp zlib.h zconf.h /home/peter/aarch64/include chmod 644 /home/peter/aarch64/include/zlib.h /home/peter/aarch64/include/zconf.h
compile-bench> cd /home/peter/build && tar xzf v1.0.9.tar.gz && cd brotli-1.0.9 && mkdir -p build && cd build && cmake -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/home/peter/aarch64 -DCMAKE_BUILD_TYPE=Release .. && cmake --build . --target install -j$(nproc) CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type is 'Release'
-- Performing Test BROTLI_EMSCRIPTEN
-- Performing Test BROTLI_EMSCRIPTEN - Failed
-- Compiler is not EMSCRIPTEN
-- Looking for log2
-- Looking for log2 - not found
-- Looking for log2
-- Looking for log2 - found
-- Detected aarch64-linux-gnu cross-compilation
CMake Warning at CMakeLists.txt:319 (message):
Test file tests/testdata/alice29.txt does not exist.
CMake Warning at CMakeLists.txt:319 (message):
Test file tests/testdata/asyoulik.txt does not exist.
CMake Warning at CMakeLists.txt:319 (message):
Test file tests/testdata/lcet10.txt does not exist.
CMake Warning at CMakeLists.txt:319 (message):
Test file tests/testdata/plrabn12.txt does not exist.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/peter/build/brotli-1.0.9/build
[ 1%] Building C object CMakeFiles/brotlicommon.dir/c/common/constants.c.o
[ 3%] Building C object CMakeFiles/brotlicommon.dir/c/common/context.c.o
[ 7%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/context.c.o
[ 7%] Building C object CMakeFiles/brotlicommon.dir/c/common/dictionary.c.o
[ 10%] Building C object CMakeFiles/brotlicommon.dir/c/common/platform.c.o
[ 10%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/constants.c.o
[ 10%] Building C object CMakeFiles/brotlicommon.dir/c/common/transform.c.o
[ 12%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/dictionary.c.o
[ 13%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/platform.c.o
[ 15%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/transform.c.o
[ 16%] Linking C shared library libbrotlicommon.so
[ 18%] Linking C static library libbrotlicommon-static.a
[ 18%] Built target brotlicommon-static
[ 18%] Built target brotlicommon
[ 19%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references.c.o
[ 21%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/bit_reader.c.o
[ 24%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/bit_cost.c.o
[ 24%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references_hq.c.o
[ 27%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/decode.c.o
[ 27%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/huffman.c.o
[ 28%] Building C object CMakeFiles/brotlidec.dir/c/dec/bit_reader.c.o
[ 30%] Building C obj
[command output truncated]
er_dict.c.o
[ 71%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/entropy_encode.c.o
[ 72%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/fast_log.c.o
[ 74%] Building C object CMakeFiles/brotlienc.dir/c/enc/entropy_encode.c.o
[ 75%] Building C object CMakeFiles/brotlienc.dir/c/enc/fast_log.c.o
[ 77%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/histogram.c.o
[ 78%] Building C object CMakeFiles/brotlienc.dir/c/enc/histogram.c.o
[ 80%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/literal_cost.c.o
[ 81%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/memory.c.o
[ 83%] Building C object CMakeFiles/brotlienc.dir/c/enc/literal_cost.c.o
[ 84%] Building C object CMakeFiles/brotlienc.dir/c/enc/memory.c.o
[ 86%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/metablock.c.o
[ 87%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/static_dict.c.o
[ 89%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/utf8_util.c.o
[ 90%] Building C object CMakeFiles/brotlienc.dir/c/enc/metablock.c.o
[ 92%] Building C object CMakeFiles/brotlienc.dir/c/enc/static_dict.c.o
[ 93%] Building C object CMakeFiles/brotlienc.dir/c/enc/utf8_util.c.o
[ 95%] Linking C static library libbrotlienc-static.a
[ 95%] Built target brotlienc-static
[ 96%] Building C object CMakeFiles/brotli.dir/c/tools/brotli.c.o
[ 98%] Linking C shared library libbrotlienc.so
[ 98%] Built target brotlienc
[100%] Linking C executable brotli
[100%] Built target brotli
Install the project...
-- Install configuration: "Release"
-- Installing: /home/peter/aarch64/bin/brotli
-- Installing: /home/peter/aarch64/lib/libbrotlienc.so.1.0.9
-- Installing: /home/peter/aarch64/lib/libbrotlienc.so.1
-- Set runtime path of "/home/peter/aarch64/lib/libbrotlienc.so.1.0.9" to ""
-- Installing: /home/peter/aarch64/lib/libbrotlienc.so
-- Installing: /home/peter/aarch64/lib/libbrotlidec.so.1.0.9
-- Installing: /home/peter/aarch64/lib/libbrotlidec.so.1
-- Set runtime path of "/home/peter/aarch64/lib/libbrotlidec.so.1.0.9" to ""
-- Installing: /home/peter/aarch64/lib/libbrotlidec.so
-- Installing: /home/peter/aarch64/lib/libbrotlicommon.so.1.0.9
-- Installing: /home/peter/aarch64/lib/libbrotlicommon.so.1
-- Installing: /home/peter/aarch64/lib/libbrotlicommon.so
-- Installing: /home/peter/aarch64/lib/libbrotlienc-static.a
-- Installing: /home/peter/aarch64/lib/libbrotlidec-static.a
-- Installing: /home/peter/aarch64/lib/libbrotlicommon-static.a
-- Installing: /home/peter/aarch64/include/brotli
-- Installing: /home/peter/aarch64/include/brotli/types.h
-- Installing: /home/peter/aarch64/include/brotli/decode.h
-- Installing: /home/peter/aarch64/include/brotli/port.h
-- Installing: /home/peter/aarch64/include/brotli/encode.h
-- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlicommon.pc
-- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlidec.pc
-- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlienc.pc
↓ 115 lines
CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Build type is 'Release' -- Performing Test BROTLI_EMSCRIPTEN -- Performing Test BROTLI_EMSCRIPTEN - Failed -- Compiler is not EMSCRIPTEN -- Looking for log2 -- Looking for log2 - not found -- Looking for log2 -- Looking for log2 - found -- Detected aarch64-linux-gnu cross-compilation CMake Warning at CMakeLists.txt:319 (message): Test file tests/testdata/alice29.txt does not exist. CMake Warning at CMakeLists.txt:319 (message): Test file tests/testdata/asyoulik.txt does not exist. CMake Warning at CMakeLists.txt:319 (message): Test file tests/testdata/lcet10.txt does not exist. CMake Warning at CMakeLists.txt:319 (message): Test file tests/testdata/plrabn12.txt does not exist. -- Configuring done -- Generating done -- Build files have been written to: /home/peter/build/brotli-1.0.9/build [ 1%] Building C object CMakeFiles/brotlicommon.dir/c/common/constants.c.o [ 3%] Building C object CMakeFiles/brotlicommon.dir/c/common/context.c.o [ 7%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/context.c.o [ 7%] Building C object CMakeFiles/brotlicommon.dir/c/common/dictionary.c.o [ 10%] Building C object CMakeFiles/brotlicommon.dir/c/common/platform.c.o [ 10%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/constants.c.o [ 10%] Building C object CMakeFiles/brotlicommon.dir/c/common/transform.c.o [ 12%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/dictionary.c.o [ 13%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/platform.c.o [ 15%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/transform.c.o [ 16%] Linking C shared library libbrotlicommon.so [ 18%] Linking C static library libbrotlicommon-static.a [ 18%] Built target brotlicommon-static [ 18%] Built target brotlicommon [ 19%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references.c.o [ 21%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/bit_reader.c.o [ 24%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/bit_cost.c.o [ 24%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references_hq.c.o [ 27%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/decode.c.o [ 27%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/huffman.c.o [ 28%] Building C object CMakeFiles/brotlidec.dir/c/dec/bit_reader.c.o [ 30%] Building C obj [command output truncated] er_dict.c.o [ 71%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/entropy_encode.c.o [ 72%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/fast_log.c.o [ 74%] Building C object CMakeFiles/brotlienc.dir/c/enc/entropy_encode.c.o [ 75%] Building C object CMakeFiles/brotlienc.dir/c/enc/fast_log.c.o [ 77%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/histogram.c.o [ 78%] Building C object CMakeFiles/brotlienc.dir/c/enc/histogram.c.o [ 80%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/literal_cost.c.o [ 81%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/memory.c.o [ 83%] Building C object CMakeFiles/brotlienc.dir/c/enc/literal_cost.c.o [ 84%] Building C object CMakeFiles/brotlienc.dir/c/enc/memory.c.o [ 86%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/metablock.c.o [ 87%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/static_dict.c.o [ 89%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/utf8_util.c.o [ 90%] Building C object CMakeFiles/brotlienc.dir/c/enc/metablock.c.o [ 92%] Building C object CMakeFiles/brotlienc.dir/c/enc/static_dict.c.o [ 93%] Building C object CMakeFiles/brotlienc.dir/c/enc/utf8_util.c.o [ 95%] Linking C static library libbrotlienc-static.a [ 95%] Built target brotlienc-static [ 96%] Building C object CMakeFiles/brotli.dir/c/tools/brotli.c.o [ 98%] Linking C shared library libbrotlienc.so [ 98%] Built target brotlienc [100%] Linking C executable brotli [100%] Built target brotli Install the project... -- Install configuration: "Release" -- Installing: /home/peter/aarch64/bin/brotli -- Installing: /home/peter/aarch64/lib/libbrotlienc.so.1.0.9 -- Installing: /home/peter/aarch64/lib/libbrotlienc.so.1 -- Set runtime path of "/home/peter/aarch64/lib/libbrotlienc.so.1.0.9" to "" -- Installing: /home/peter/aarch64/lib/libbrotlienc.so -- Installing: /home/peter/aarch64/lib/libbrotlidec.so.1.0.9 -- Installing: /home/peter/aarch64/lib/libbrotlidec.so.1 -- Set runtime path of "/home/peter/aarch64/lib/libbrotlidec.so.1.0.9" to "" -- Installing: /home/peter/aarch64/lib/libbrotlidec.so -- Installing: /home/peter/aarch64/lib/libbrotlicommon.so.1.0.9 -- Installing: /home/peter/aarch64/lib/libbrotlicommon.so.1 -- Installing: /home/peter/aarch64/lib/libbrotlicommon.so -- Installing: /home/peter/aarch64/lib/libbrotlienc-static.a -- Installing: /home/peter/aarch64/lib/libbrotlidec-static.a -- Installing: /home/peter/aarch64/lib/libbrotlicommon-static.a -- Installing: /home/peter/aarch64/include/brotli -- Installing: /home/peter/aarch64/include/brotli/types.h -- Installing: /home/peter/aarch64/include/brotli/decode.h -- Installing: /home/peter/aarch64/include/brotli/port.h -- Installing: /home/peter/aarch64/include/brotli/encode.h -- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlicommon.pc -- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlidec.pc -- Installing: /home/peter/aarch64/lib/pkgconfig/libbrotlienc.pc
compile-bench> cd /home/peter/build && tar xzf zstd-1.5.5.tar.gz && cd zstd-1.5.5 && cmake -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/peter/aarch64 -DZSTD_BUILD_SHARED=OFF -DZSTD_BUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR=lib . && make -j$(nproc) && make install CMake Error: The source directory "/home/peter/build/zstd-1.5.5" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
↓ 3 lines
CMake Error: The source directory "/home/peter/build/zstd-1.5.5" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
Show reasoning
Investigating zstd tarball layout
I’m looking into the zstd tarball layout, which is labeled as 'zstd-1.5.5'. It seems like it might not include a CMakeLists file, and that catches my attention. The release includes source files with a Makefile at the top level. I wonder if this is meant to be used differently than usual. It might be helpful to list the files to better understand the structure. Let’s check that out!
compile-bench> ls -l /home/peter/build/zstd-1.5.5 total 184
-rw-r--r-- 1 peter peter 47290 Apr 4 2023 CHANGELOG
-rw-r--r-- 1 peter peter 244 Apr 4 2023 CODE_OF_CONDUCT.md
-rw-r--r-- 1 peter peter 30786 Apr 4 2023 CONTRIBUTING.md
-rw-r--r-- 1 peter peter 18091 Apr 4 2023 COPYING
-rw-r--r-- 1 peter peter 1549 Apr 4 2023 LICENSE
-rw-r--r-- 1 peter peter 15713 Apr 4 2023 Makefile
-rw-r--r-- 1 peter peter 1264 Apr 4 2023 Package.swift
-rw-r--r-- 1 peter peter 10934 Apr 4 2023 README.md
-rw-r--r-- 1 peter peter 1824 Apr 4 2023 TESTING.md
-rw-r--r-- 1 peter peter 7464 Apr 4 2023 appveyor.yml
drwxr-xr-x 8 peter peter 4096 Apr 4 2023 build
drwxr-xr-x 17 peter peter 4096 Apr 4 2023 contrib
drwxr-xr-x 4 peter peter 4096 Apr 4 2023 doc
drwxr-xr-x 2 peter peter 4096 Apr 4 2023 examples
drwxr-xr-x 9 peter peter 4096 Apr 4 2023 lib
drwxr-xr-x 3 peter peter 4096 Apr 4 2023 programs
drwxr-xr-x 10 peter peter 4096 Apr 4 2023 tests
drwxr-xr-x 3 peter peter 4096 Apr 4 2023 zlibWrapper
↓ 20 lines
total 184 -rw-r--r-- 1 peter peter 47290 Apr 4 2023 CHANGELOG -rw-r--r-- 1 peter peter 244 Apr 4 2023 CODE_OF_CONDUCT.md -rw-r--r-- 1 peter peter 30786 Apr 4 2023 CONTRIBUTING.md -rw-r--r-- 1 peter peter 18091 Apr 4 2023 COPYING -rw-r--r-- 1 peter peter 1549 Apr 4 2023 LICENSE -rw-r--r-- 1 peter peter 15713 Apr 4 2023 Makefile -rw-r--r-- 1 peter peter 1264 Apr 4 2023 Package.swift -rw-r--r-- 1 peter peter 10934 Apr 4 2023 README.md -rw-r--r-- 1 peter peter 1824 Apr 4 2023 TESTING.md -rw-r--r-- 1 peter peter 7464 Apr 4 2023 appveyor.yml drwxr-xr-x 8 peter peter 4096 Apr 4 2023 build drwxr-xr-x 17 peter peter 4096 Apr 4 2023 contrib drwxr-xr-x 4 peter peter 4096 Apr 4 2023 doc drwxr-xr-x 2 peter peter 4096 Apr 4 2023 examples drwxr-xr-x 9 peter peter 4096 Apr 4 2023 lib drwxr-xr-x 3 peter peter 4096 Apr 4 2023 programs drwxr-xr-x 10 peter peter 4096 Apr 4 2023 tests drwxr-xr-x 3 peter peter 4096 Apr 4 2023 zlibWrapper
Show reasoning
Building zstd
It looks like there's no CMakeLists file at the root; instead, zstd is using a Makefile. I see there's a 'build' folder that might include CMake, but it seems easier to build using 'make' with the CC variable set.
For a static build of zstd, I could run 'make -j$(nproc) CC=aarch64-linux-gnu-gcc', followed by 'make install PREFIX=...'. I’ll need to check the Makefile before proceeding with the build.
compile-bench> cd /home/peter/build/zstd-1.5.5 && make -j$(nproc) CC=aarch64-linux-gnu-gcc && make install PREFIX=/home/peter/aarch64 make[1]: Entering directory '/home/peter/build/zstd-1.5.5/lib'
make[1]: Entering directory '/home/peter/build/zstd-1.5.5/programs'
creating pkgconfig
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/debug.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/entropy_common.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/error_private.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fse_decompress.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/pool.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/threading.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/debug.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/xxhash.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/entropy_common.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_common.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/error_private.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fse_decompress.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v05.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/debug.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/entropy_common.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/error_private.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fse_decompress.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/pool.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/threading.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/pool.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/xxhash.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/threading.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v06.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v07.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fse_compress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/xxhash.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_common.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/hist.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_common.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/huf_compress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v05.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fse_compress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v06.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/hist.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_compress.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/huf_compress.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v07.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_literals.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fse_compress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/hist.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/huf_compress.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_sequences.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_superblock.o
CC obj/conf_34c53c
[command output truncated]
td_v05.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_v06.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_decompress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_decompress_block.o
AS obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/huf_decompress_amd64.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_v07.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_decompress.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/cover.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_decompress_block.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/divsufsort.o
AS obj/conf_4705842037714f025943aa17f8c806d7/dynamic/huf_decompress_amd64.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fastcover.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/benchfn.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/benchzstd.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/datagen.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/cover.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/divsufsort.o
CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zdict.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/dibio.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fileio.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fileio_asyncio.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fastcover.o
CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zdict.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/timefn.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/util.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstdcli.o
CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstdcli_trace.o
compiling multi-threaded dynamic library 1.5.5
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored
creating versioned links
==> building with threading support
==> no zlib, building zstd without .gz support
==> no liblzma, building zstd without .xz/.lzma support
==> no liblz4, building zstd without .lz4 support
LINK obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored
zstd build completed
make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/programs'
compiling single-threaded static library 1.5.5
release build completed
make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/lib'
make[1]: Entering directory '/home/peter/build/zstd-1.5.5/lib'
Installing static library
Installing shared library
Installing includes
zstd static and shared library installed
make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/lib'
make[1]: Entering directory '/home/peter/build/zstd-1.5.5/programs'
Installing binaries
Installing man pages
zstd installation completed
make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/programs'
↓ 103 lines
make[1]: Entering directory '/home/peter/build/zstd-1.5.5/lib' make[1]: Entering directory '/home/peter/build/zstd-1.5.5/programs' creating pkgconfig CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/debug.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/entropy_common.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/error_private.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fse_decompress.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/pool.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/threading.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/debug.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/xxhash.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/entropy_common.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_common.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/error_private.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fse_decompress.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v05.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/debug.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/entropy_common.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/error_private.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fse_decompress.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/pool.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/threading.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/pool.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/xxhash.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/threading.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v06.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_v07.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fse_compress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/xxhash.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_common.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/hist.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_common.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/huf_compress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v05.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fse_compress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v06.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/hist.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_compress.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/huf_compress.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_v07.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_literals.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fse_compress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/hist.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/huf_compress.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_sequences.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_compress_superblock.o CC obj/conf_34c53c [command output truncated] td_v05.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_v06.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_decompress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zstd_decompress_block.o AS obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/huf_decompress_amd64.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd_v07.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_decompress.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/cover.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zstd_decompress_block.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/divsufsort.o AS obj/conf_4705842037714f025943aa17f8c806d7/dynamic/huf_decompress_amd64.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/fastcover.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/benchfn.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/benchzstd.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/datagen.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/cover.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/divsufsort.o CC obj/conf_5d5bcd875c668cfcd707f0eef5115066/static/zdict.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/dibio.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fileio.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/fileio_asyncio.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/fastcover.o CC obj/conf_4705842037714f025943aa17f8c806d7/dynamic/zdict.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/timefn.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/util.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstdcli.o CC obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstdcli_trace.o compiling multi-threaded dynamic library 1.5.5 /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored creating versioned links ==> building with threading support ==> no zlib, building zstd without .gz support ==> no liblzma, building zstd without .xz/.lzma support ==> no liblz4, building zstd without .lz4 support LINK obj/conf_34c53cc11f6b15ca0760eb9c49da5715/zstd /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: warning: -z cet-report=error ignored zstd build completed make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/programs' compiling single-threaded static library 1.5.5 release build completed make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/lib' make[1]: Entering directory '/home/peter/build/zstd-1.5.5/lib' Installing static library Installing shared library Installing includes zstd static and shared library installed make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/lib' make[1]: Entering directory '/home/peter/build/zstd-1.5.5/programs' Installing binaries Installing man pages zstd installation completed make[1]: Leaving directory '/home/peter/build/zstd-1.5.5/programs'
compile-bench> ls -l /home/peter | sed -n '1,200p' total 4092
drwxr-xr-x 6 peter peter 4096 Sep 16 21:44 aarch64
drwxr-xr-x 6 peter peter 4096 Sep 16 21:45 build
-rw-r--r-- 1 peter peter 4176617 Sep 16 21:41 curl.tar.gz
drwxr-xr-x 2 peter peter 4096 Sep 16 21:43 result
↓ 6 lines
total 4092 drwxr-xr-x 6 peter peter 4096 Sep 16 21:44 aarch64 drwxr-xr-x 6 peter peter 4096 Sep 16 21:45 build -rw-r--r-- 1 peter peter 4176617 Sep 16 21:41 curl.tar.gz drwxr-xr-x 2 peter peter 4096 Sep 16 21:43 result
Show reasoning
Extracting files
I’m focusing on extracting the curl.tar.gz file. It's straightforward, but I want to make sure I do it correctly. I should probably check that I have the right permissions and that the destination folder is set up properly too. It’s easy to overlook small details in these steps. Let's go ahead and extract it now to see what's inside and ensure everything goes smoothly.
compile-bench> cd /home/peter && tar xzf curl.tar.gz && ls -l | grep curl | sed -n '1,200p' drwxr-xr-x 14 peter peter 4096 Sep 10 05:43 curl-8.16.0
-rw-r--r-- 1 peter peter 4176617 Sep 16 21:41 curl.tar.gz
↓ 3 lines
drwxr-xr-x 14 peter peter 4096 Sep 10 05:43 curl-8.16.0 -rw-r--r-- 1 peter peter 4176617 Sep 16 21:41 curl.tar.gz
compile-bench> cd /home/peter/curl-8.16.0 && ls -la | sed -n '1,200p' total 2312
drwxr-xr-x 14 peter peter 4096 Sep 10 05:43 .
drwxr-x--- 1 peter peter 4096 Sep 16 21:45 ..
-rw-r--r-- 1 peter peter 284 Sep 10 05:43 .editorconfig
-rw-r--r-- 1 peter peter 438 Sep 10 05:43 CHANGES.md
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 CMake
-rw-r--r-- 1 peter peter 92961 Sep 10 05:43 CMakeLists.txt
-rw-r--r-- 1 peter peter 1088 Sep 10 05:43 COPYING
-rw-r--r-- 1 peter peter 1712 Sep 10 05:43 Dockerfile
-rw-r--r-- 1 peter peter 6930 Sep 10 05:43 Makefile.am
-rw-r--r-- 1 peter peter 39602 Sep 10 05:43 Makefile.in
-rw-r--r-- 1 peter peter 1664 Sep 10 05:43 README
-rw-r--r-- 1 peter peter 28109 Sep 10 05:43 RELEASE-NOTES
-rw-r--r-- 1 peter peter 44196 Sep 10 05:43 acinclude.m4
-rw-r--r-- 1 peter peter 45838 Sep 10 05:43 aclocal.m4
-rwxr-xr-x 1 peter peter 7400 Sep 10 05:43 compile
-rwxr-xr-x 1 peter peter 49482 Sep 10 05:43 config.guess
-rwxr-xr-x 1 peter peter 35406 Sep 10 05:43 config.sub
-rwxr-xr-x 1 peter peter 1349020 Sep 10 05:43 configure
-rw-r--r-- 1 peter peter 166752 Sep 10 05:43 configure.ac
-rw-r--r-- 1 peter peter 4778 Sep 10 05:43 curl-config.in
-rwxr-xr-x 1 peter peter 23568 Sep 10 05:43 depcomp
drwxr-xr-x 7 peter peter 4096 Sep 10 05:43 docs
drwxr-xr-x 3 peter peter 4096 Sep 10 05:43 include
-rwxr-xr-x 1 peter peter 15358 Sep 10 05:43 install-sh
drwxr-xr-x 7 peter peter 12288 Sep 10 05:43 lib
-rw-r--r-- 1 peter peter 1586 Sep 10 05:43 libcurl.pc.in
-rwxr-xr-x 1 peter peter 333057 Sep 10 05:43 ltmain.sh
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 m4
-rwxr-xr-x 1 peter peter 6878 Sep 10 05:43 missing
drwxr-xr-x 4 peter peter 4096 Sep 10 05:43 packages
drwxr-xr-x 5 peter peter 4096 Sep 10 05:43 plan9
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 projects
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 scripts
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 src
drwxr-xr-x 10 peter peter 4096 Sep 10 05:43 tests
drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 winbuild
↓ 38 lines
total 2312 drwxr-xr-x 14 peter peter 4096 Sep 10 05:43 . drwxr-x--- 1 peter peter 4096 Sep 16 21:45 .. -rw-r--r-- 1 peter peter 284 Sep 10 05:43 .editorconfig -rw-r--r-- 1 peter peter 438 Sep 10 05:43 CHANGES.md drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 CMake -rw-r--r-- 1 peter peter 92961 Sep 10 05:43 CMakeLists.txt -rw-r--r-- 1 peter peter 1088 Sep 10 05:43 COPYING -rw-r--r-- 1 peter peter 1712 Sep 10 05:43 Dockerfile -rw-r--r-- 1 peter peter 6930 Sep 10 05:43 Makefile.am -rw-r--r-- 1 peter peter 39602 Sep 10 05:43 Makefile.in -rw-r--r-- 1 peter peter 1664 Sep 10 05:43 README -rw-r--r-- 1 peter peter 28109 Sep 10 05:43 RELEASE-NOTES -rw-r--r-- 1 peter peter 44196 Sep 10 05:43 acinclude.m4 -rw-r--r-- 1 peter peter 45838 Sep 10 05:43 aclocal.m4 -rwxr-xr-x 1 peter peter 7400 Sep 10 05:43 compile -rwxr-xr-x 1 peter peter 49482 Sep 10 05:43 config.guess -rwxr-xr-x 1 peter peter 35406 Sep 10 05:43 config.sub -rwxr-xr-x 1 peter peter 1349020 Sep 10 05:43 configure -rw-r--r-- 1 peter peter 166752 Sep 10 05:43 configure.ac -rw-r--r-- 1 peter peter 4778 Sep 10 05:43 curl-config.in -rwxr-xr-x 1 peter peter 23568 Sep 10 05:43 depcomp drwxr-xr-x 7 peter peter 4096 Sep 10 05:43 docs drwxr-xr-x 3 peter peter 4096 Sep 10 05:43 include -rwxr-xr-x 1 peter peter 15358 Sep 10 05:43 install-sh drwxr-xr-x 7 peter peter 12288 Sep 10 05:43 lib -rw-r--r-- 1 peter peter 1586 Sep 10 05:43 libcurl.pc.in -rwxr-xr-x 1 peter peter 333057 Sep 10 05:43 ltmain.sh drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 m4 -rwxr-xr-x 1 peter peter 6878 Sep 10 05:43 missing drwxr-xr-x 4 peter peter 4096 Sep 10 05:43 packages drwxr-xr-x 5 peter peter 4096 Sep 10 05:43 plan9 drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 projects drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 scripts drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 src drwxr-xr-x 10 peter peter 4096 Sep 10 05:43 tests drwxr-xr-x 2 peter peter 4096 Sep 10 05:43 winbuild
compile-bench> cd /home/peter/curl-8.16.0 && PKG_CONFIG_PATH=/home/peter/aarch64/lib/pkgconfig CPPFLAGS="-I/home/peter/aarch64/include" LDFLAGS="-L/home/peter/aarch64/lib -static" CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar RANLIB=aarch64-linux-gnu-ranlib ./configure --host=aarch64-linux-gnu --with-ssl=/home/peter/aarch64 --with-zlib=/home/peter/aarch64 --with-brotli=/home/peter/aarch64 --with-zstd=/home/peter/aarch64 --disable-shared --enable-static --prefix=/home/peter/result checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking whether to enable HTTPSRR support... no
checking whether to enable ECH support... no
checking whether to enable SSL session export support... no
checking for path separator... :
checking for sed... /usr/bin/sed
checking for grep... /usr/bin/grep
checking that grep -E works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes
checking whether aarch64-linux-gnu-gcc accepts -g... yes
checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed
checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes
checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdatomic.h... yes
checking if _Atomic is available... yes
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for code coverage support... no
checking whether build environment is sane... yes
checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-linux-gnu-gcc... gcc3
checking curl version... 8.16.0
checking for perl... /usr/bin/perl
checking for httpd... no
checking for apache2... no
checking for apxs... no
configure: httpd/apache2 not in PATH, http tests disabled
configure: apxs not in PATH, http tests disabled
checking for danted... no
checking for danted... no
checking for nghttpx... no
checking for caddy... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for grep that handles long lines an
[command output truncated]
in "unity" mode... no
checking whether to support http... yes
checking whether to support ftp... yes
checking whether to support file... yes
checking whether to support IPFS... yes
checking whether to support ldap... yes
checking whether to support ldaps... yes
checking whether to support rtsp... yes
checking whether to support proxies... yes
checking whether to support dict... yes
checking whether to support telnet... yes
checking whether to support tftp... yes
checking whether to support pop3... yes
checking whether to support imap... yes
checking whether to support smb... yes
checking whether to support smtp... yes
checking whether to support gopher... yes
checking whether to support mqtt... no
checking whether to provide built-in manual... yes
checking whether to build documentation... yes
checking whether to enable generation of C code... yes
checking whether to use libgcc... no
checking if X/Open network library is required... no
checking for gethostbyname... yes
checking whether build target is a native Windows one... (cached) no
checking for proto/bsdsocket.h... no
checking for connect in libraries... yes
checking for sys/types.h... (cached) yes
checking for monotonic clock_gettime... yes
checking for clock_gettime in libraries... no additional lib required
checking for sys/types.h... (cached) yes
checking for raw monotonic clock_gettime... yes
checking for zlib.h... yes
checking for gzread in -lz... yes
configure: found both libz and libz.h header
checking for BrotliDecoderDecompress in -lbrotlidec... no
checking for brotli/decode.h... yes
checking for ZSTD_createDStream in -lzstd... no
checking for zstd.h... yes
checking whether to enable IPv6... yes
checking if struct sockaddr_in6 has sin6_scope_id member... yes
checking if argv can be written to... no
configure: WARNING: the previous check could not be made default was used
checking if GSS-API support is requested... no
checking whether to enable Windows native SSL/TLS... no
checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no
configure: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig"
checking for aarch64-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking for openssl options with pkg-config... found
configure: pkg-config: SSL_LIBS: "-lssl -lcrypto"
configure: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib"
configure: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include"
checking for HMAC_Update in -lcrypto... no
checking for HMAC_Init_ex in -lcrypto... no
checking OpenSSL linking with -ldl... no
checking OpenSSL linking with -ldl and -lpthread... no
checking for SSL_set_quic_use_legacy_codepoint... no
checking for SSL_set_quic_tls_cbs... no
configure: OpenSSL version does not speak any known QUIC API
configure: OPT_OPENSSL: /home/peter/aarch64
configure: OPENSSL_ENABLED:
configure: error: --with-openssl was given but OpenSSL could not be detected
↓ 129 lines
checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for a BSD-compatible install... /usr/bin/install -c checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes checking whether aarch64-linux-gnu-gcc accepts -g... yes checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether build environment is sane... yes checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of aarch64-linux-gnu-gcc... gcc3 checking curl version... 8.16.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking for grep that handles long lines an [command output truncated] in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... yes checking whether to support ldaps... yes checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... yes checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for zlib.h... yes checking for gzread in -lz... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... no checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... no checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... no configure: WARNING: the previous check could not be made default was used checking if GSS-API support is requested... no checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no configure: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig" checking for aarch64-linux-gnu-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib" configure: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include" checking for HMAC_Update in -lcrypto... no checking for HMAC_Init_ex in -lcrypto... no checking OpenSSL linking with -ldl... no checking OpenSSL linking with -ldl and -lpthread... no checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... no configure: OpenSSL version does not speak any known QUIC API configure: OPT_OPENSSL: /home/peter/aarch64 configure: OPENSSL_ENABLED: configure: error: --with-openssl was given but OpenSSL could not be detected
compile-bench> sed -n '1,240p' /home/peter/curl-8.16.0/config.log This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by curl configure -, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ ./configure --host=aarch64-linux-gnu --with-ssl=/home/peter/aarch64 --with-zlib=/home/peter/aarch64 --with-brotli=/home/peter/aarch64 --with-zstd=/home/peter/aarch64 --disable-shared --enable-static --prefix=/home/peter/result
## --------- ##
## Platform. ##
## --------- ##
hostname = b0fc11c75e75
uname -m = x86_64
uname -r = 6.8.0-1036-aws
uname -s = Linux
uname -v = #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/
## ----------- ##
## Core tests. ##
## ----------- ##
configure:3315: looking for aux files: ltmain.sh config.guess config.sub missing compile install-sh
configure:3328: trying ./
configure:3357: ./ltmain.sh found
configure:3357: ./config.guess found
configure:3357: ./config.sub found
configure:3357: ./missing found
configure:3357: ./compile found
configure:3339: ./install-sh found
configure:3484: checking whether to enable maintainer-specific portions of Makefiles
configure:3494: result: no
configure:3519: checking whether make supports nested variables
configure:3537: result: yes
configure:3550: checking whether to enable debug build options
configure:3570: result: no
configure:3582: checking whether to enable compiler optimizer
configure:3604: result: (assumed) yes
configure:3616: checking whether to enable strict compiler warnings
configure:3636: result: no
configure:3640: checking whether to enable compiler warnings as errors
configure:3660: result: no
configure:3664: checking whether to enable curl debug memory tracking
configure:3684: result: no
configure:3706: checking whether to enable hiding of library internal symbols
configure:3723: result: yes
configure:3734: checking whether to enable c-ares for DNS lookups
configure:3757: result: no
configure:3761: checking whether to disable dependency on -lrt
configure:3778: result: (assumed no)
configure:3789: checking whether to enable HTTPSRR support
[command output truncated]
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:5603: result: aarch64-linux-gnu-gcc -E
configure:5617: aarch64-linux-gnu-gcc -E -I/home/peter/aarch64/include conftest.c
configure:5617: $? = 0
configure:5632: aarch64-linux-gnu-gcc -E -I/home/peter/aarch64/include conftest.c
conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
9 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:5632: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:5678: checking for stdio.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for stdlib.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for string.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for inttypes.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for stdint.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for strings.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for sys/stat.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for sys/types.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for unistd.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5706: checking for stdatomic.h
configure:5706: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5706: $? = 0
configure:5706: result: yes
configure:5711: checking if _Atomic is available
↓ 141 lines
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by curl configure -, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ ./configure --host=aarch64-linux-gnu --with-ssl=/home/peter/aarch64 --with-zlib=/home/peter/aarch64 --with-brotli=/home/peter/aarch64 --with-zstd=/home/peter/aarch64 --disable-shared --enable-static --prefix=/home/peter/result
## --------- ##
## Platform. ##
## --------- ##
hostname = b0fc11c75e75
uname -m = x86_64
uname -r = 6.8.0-1036-aws
uname -s = Linux
uname -v = #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/
## ----------- ##
## Core tests. ##
## ----------- ##
configure:3315: looking for aux files: ltmain.sh config.guess config.sub missing compile install-sh
configure:3328: trying ./
configure:3357: ./ltmain.sh found
configure:3357: ./config.guess found
configure:3357: ./config.sub found
configure:3357: ./missing found
configure:3357: ./compile found
configure:3339: ./install-sh found
configure:3484: checking whether to enable maintainer-specific portions of Makefiles
configure:3494: result: no
configure:3519: checking whether make supports nested variables
configure:3537: result: yes
configure:3550: checking whether to enable debug build options
configure:3570: result: no
configure:3582: checking whether to enable compiler optimizer
configure:3604: result: (assumed) yes
configure:3616: checking whether to enable strict compiler warnings
configure:3636: result: no
configure:3640: checking whether to enable compiler warnings as errors
configure:3660: result: no
configure:3664: checking whether to enable curl debug memory tracking
configure:3684: result: no
configure:3706: checking whether to enable hiding of library internal symbols
configure:3723: result: yes
configure:3734: checking whether to enable c-ares for DNS lookups
configure:3757: result: no
configure:3761: checking whether to disable dependency on -lrt
configure:3778: result: (assumed no)
configure:3789: checking whether to enable HTTPSRR support
[command output truncated]
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:5603: result: aarch64-linux-gnu-gcc -E
configure:5617: aarch64-linux-gnu-gcc -E -I/home/peter/aarch64/include conftest.c
configure:5617: $? = 0
configure:5632: aarch64-linux-gnu-gcc -E -I/home/peter/aarch64/include conftest.c
conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
9 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:5632: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:5678: checking for stdio.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for stdlib.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for string.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for inttypes.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for stdint.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for strings.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for sys/stat.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for sys/types.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5678: checking for unistd.h
configure:5678: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5678: $? = 0
configure:5678: result: yes
configure:5706: checking for stdatomic.h
configure:5706: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:5706: $? = 0
configure:5706: result: yes
configure:5711: checking if _Atomic is available
compile-bench> sed -n '240,480p' /home/peter/curl-8.16.0/config.log configure:5711: checking if _Atomic is available
configure:5730: aarch64-linux-gnu-gcc -o conftest -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static conftest.c >&5
configure:5730: $? = 0
configure:5733: result: yes
configure:5755: checking for a sed that does not truncate output
configure:5825: result: /usr/bin/sed
configure:5833: checking for code coverage support
configure:5849: result: no
configure:6014: checking whether build environment is sane
configure:6069: result: yes
configure:6121: checking for aarch64-linux-gnu-strip
configure:6142: found /usr/bin/aarch64-linux-gnu-strip
configure:6153: result: aarch64-linux-gnu-strip
configure:6224: checking for a race-free mkdir -p
configure:6268: result: /usr/bin/mkdir -p
configure:6275: checking for gawk
configure:6310: result: no
configure:6275: checking for mawk
configure:6296: found /usr/bin/mawk
configure:6307: result: mawk
configure:6318: checking whether make sets $(MAKE)
configure:6341: result: yes
configure:6363: checking whether make supports the include directive
configure:6378: make -f confmf.GNU && cat confinc.out
this is the am__doit target
configure:6381: $? = 0
configure:6400: result: yes (GNU style)
configure:6497: checking dependency style of aarch64-linux-gnu-gcc
configure:6609: result: gcc3
configure:6686: checking curl version
configure:6688: result: 8.16.0
configure:6858: checking for perl
configure:6882: found /usr/bin/perl
configure:6894: result: /usr/bin/perl
configure:7033: checking for httpd
configure:7071: result: no
configure:7079: checking for apache2
configure:7117: result: no
configure:7125: checking for apxs
configure:7163: result: no
configure:7169: httpd/apache2 not in PATH, http tests disabled
configure:7174: apxs not in PATH, http tests disabled
configure:7219: checking for danted
configure:7257: result: no
configure:7265: checking for danted
configure:7303: result: no
configure:7331: checking for nghttpx
configure:7370: result: no
configure:7383: checking for caddy
configure:7421: result: no
configure:7461: checking build system type
configure:7476: result: x86_64-pc-linux-gnu
configure:7496: checking host system type
configure:7510: result: aarch64-unknown-linux-gnu
configure:7539: checking for grep that handles long lines and -e
configure:7603: result: /usr/bin/grep
configure:7608: checking for egrep
configure:7676: result: /usr/bin/grep -E
configure:7683: checking if OS is AIX (to define _ALL_SOURCE)
configure:7704: result: no
configure:7714: checking if _THREAD_SAFE is already defined
configure:7735: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
conftest.c: In function 'main':
conftest.c:34:10: error: #error force compilation error
34 | #error force compilation error
| ^~~~~
configure:7735: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PAC
[command output truncated]
igure:8437: result: no
configure:8443: checking for _FILE_OFFSET_BITS value needed for large files
configure:8467: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:8467: $? = 0
configure:8499: result: no
configure:8625: checking how to print strings
configure:8652: result: printf
configure:8673: checking for a sed that does not truncate output
configure:8743: result: /usr/bin/sed
configure:8761: checking for fgrep
configure:8829: result: /usr/bin/grep -F
configure:8865: checking for ld used by aarch64-linux-gnu-gcc
configure:8933: result: /usr/aarch64-linux-gnu/bin/ld
configure:8940: checking if the linker (/usr/aarch64-linux-gnu/bin/ld) is GNU ld
configure:8956: result: yes
configure:8968: checking for BSD- or MS-compatible name lister (nm)
configure:9023: result: /usr/bin/aarch64-linux-gnu-nm -B
configure:9163: checking the name lister (/usr/bin/aarch64-linux-gnu-nm -B) interface
configure:9171: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:9174: /usr/bin/aarch64-linux-gnu-nm -B "conftest.o"
configure:9177: output
0000000000000000 B some_variable
configure:9184: result: BSD nm
configure:9187: checking whether ln -s works
configure:9191: result: yes
configure:9199: checking the maximum length of command line arguments
configure:9331: result: 1572864
configure:9379: checking how to convert x86_64-pc-linux-gnu file names to aarch64-unknown-linux-gnu format
configure:9420: result: func_convert_file_noop
configure:9427: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
configure:9448: result: func_convert_file_noop
configure:9455: checking for /usr/aarch64-linux-gnu/bin/ld option to reload object files
configure:9463: result: -r
configure:9497: checking for aarch64-linux-gnu-file
configure:9532: result: no
configure:9542: checking for file
configure:9563: found /usr/bin/file
configure:9574: result: file
configure:9586: WARNING: using cross tools not prefixed with host triplet
configure:9605: checking for aarch64-linux-gnu-objdump
configure:9626: found /usr/bin/aarch64-linux-gnu-objdump
configure:9637: result: aarch64-linux-gnu-objdump
configure:9711: checking how to recognize dependent libraries
configure:9912: result: pass_all
configure:9957: checking for aarch64-linux-gnu-dlltool
configure:9992: result: no
configure:10002: checking for dlltool
configure:10037: result: no
configure:10064: checking how to associate runtime and link libraries
configure:10092: result: printf %s\n
configure:10108: checking for aarch64-linux-gnu-ar
configure:10140: result: aarch64-linux-gnu-ar
configure:10242: checking for archiver @FILE support
configure:10258: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:10258: $? = 0
configure:10262: aarch64-linux-gnu-ar cr libconftest.a @conftest.lst >&5
configure:10265: $? = 0
configure:10270: aarch64-linux-gnu-ar cr libconftest.a @conftest.lst >&5
↓ 132 lines
configure:5711: checking if _Atomic is available
configure:5730: aarch64-linux-gnu-gcc -o conftest -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static conftest.c >&5
configure:5730: $? = 0
configure:5733: result: yes
configure:5755: checking for a sed that does not truncate output
configure:5825: result: /usr/bin/sed
configure:5833: checking for code coverage support
configure:5849: result: no
configure:6014: checking whether build environment is sane
configure:6069: result: yes
configure:6121: checking for aarch64-linux-gnu-strip
configure:6142: found /usr/bin/aarch64-linux-gnu-strip
configure:6153: result: aarch64-linux-gnu-strip
configure:6224: checking for a race-free mkdir -p
configure:6268: result: /usr/bin/mkdir -p
configure:6275: checking for gawk
configure:6310: result: no
configure:6275: checking for mawk
configure:6296: found /usr/bin/mawk
configure:6307: result: mawk
configure:6318: checking whether make sets $(MAKE)
configure:6341: result: yes
configure:6363: checking whether make supports the include directive
configure:6378: make -f confmf.GNU && cat confinc.out
this is the am__doit target
configure:6381: $? = 0
configure:6400: result: yes (GNU style)
configure:6497: checking dependency style of aarch64-linux-gnu-gcc
configure:6609: result: gcc3
configure:6686: checking curl version
configure:6688: result: 8.16.0
configure:6858: checking for perl
configure:6882: found /usr/bin/perl
configure:6894: result: /usr/bin/perl
configure:7033: checking for httpd
configure:7071: result: no
configure:7079: checking for apache2
configure:7117: result: no
configure:7125: checking for apxs
configure:7163: result: no
configure:7169: httpd/apache2 not in PATH, http tests disabled
configure:7174: apxs not in PATH, http tests disabled
configure:7219: checking for danted
configure:7257: result: no
configure:7265: checking for danted
configure:7303: result: no
configure:7331: checking for nghttpx
configure:7370: result: no
configure:7383: checking for caddy
configure:7421: result: no
configure:7461: checking build system type
configure:7476: result: x86_64-pc-linux-gnu
configure:7496: checking host system type
configure:7510: result: aarch64-unknown-linux-gnu
configure:7539: checking for grep that handles long lines and -e
configure:7603: result: /usr/bin/grep
configure:7608: checking for egrep
configure:7676: result: /usr/bin/grep -E
configure:7683: checking if OS is AIX (to define _ALL_SOURCE)
configure:7704: result: no
configure:7714: checking if _THREAD_SAFE is already defined
configure:7735: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
conftest.c: In function 'main':
conftest.c:34:10: error: #error force compilation error
34 | #error force compilation error
| ^~~~~
configure:7735: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PAC
[command output truncated]
igure:8437: result: no
configure:8443: checking for _FILE_OFFSET_BITS value needed for large files
configure:8467: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:8467: $? = 0
configure:8499: result: no
configure:8625: checking how to print strings
configure:8652: result: printf
configure:8673: checking for a sed that does not truncate output
configure:8743: result: /usr/bin/sed
configure:8761: checking for fgrep
configure:8829: result: /usr/bin/grep -F
configure:8865: checking for ld used by aarch64-linux-gnu-gcc
configure:8933: result: /usr/aarch64-linux-gnu/bin/ld
configure:8940: checking if the linker (/usr/aarch64-linux-gnu/bin/ld) is GNU ld
configure:8956: result: yes
configure:8968: checking for BSD- or MS-compatible name lister (nm)
configure:9023: result: /usr/bin/aarch64-linux-gnu-nm -B
configure:9163: checking the name lister (/usr/bin/aarch64-linux-gnu-nm -B) interface
configure:9171: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:9174: /usr/bin/aarch64-linux-gnu-nm -B "conftest.o"
configure:9177: output
0000000000000000 B some_variable
configure:9184: result: BSD nm
configure:9187: checking whether ln -s works
configure:9191: result: yes
configure:9199: checking the maximum length of command line arguments
configure:9331: result: 1572864
configure:9379: checking how to convert x86_64-pc-linux-gnu file names to aarch64-unknown-linux-gnu format
configure:9420: result: func_convert_file_noop
configure:9427: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
configure:9448: result: func_convert_file_noop
configure:9455: checking for /usr/aarch64-linux-gnu/bin/ld option to reload object files
configure:9463: result: -r
configure:9497: checking for aarch64-linux-gnu-file
configure:9532: result: no
configure:9542: checking for file
configure:9563: found /usr/bin/file
configure:9574: result: file
configure:9586: WARNING: using cross tools not prefixed with host triplet
configure:9605: checking for aarch64-linux-gnu-objdump
configure:9626: found /usr/bin/aarch64-linux-gnu-objdump
configure:9637: result: aarch64-linux-gnu-objdump
configure:9711: checking how to recognize dependent libraries
configure:9912: result: pass_all
configure:9957: checking for aarch64-linux-gnu-dlltool
configure:9992: result: no
configure:10002: checking for dlltool
configure:10037: result: no
configure:10064: checking how to associate runtime and link libraries
configure:10092: result: printf %s\n
configure:10108: checking for aarch64-linux-gnu-ar
configure:10140: result: aarch64-linux-gnu-ar
configure:10242: checking for archiver @FILE support
configure:10258: aarch64-linux-gnu-gcc -c -I/home/peter/aarch64/include conftest.c >&5
configure:10258: $? = 0
configure:10262: aarch64-linux-gnu-ar cr libconftest.a @conftest.lst >&5
configure:10265: $? = 0
configure:10270: aarch64-linux-gnu-ar cr libconftest.a @conftest.lst >&5
Show reasoning
Searching for OpenSSL failures
I need to locate where OpenSSL detection isn't working. I'll begin by searching the earlier OpenSSL checks. My plan is to use the grep command in the config.log file and look for terms like 'OpenSSL' or 'HMAC'. This should help me pinpoint where the detection issues may be occurring. It feels methodical to tackle this step by step so I can address any problems effectively!
compile-bench> grep -n "OpenSSL" -n /home/peter/curl-8.16.0/config.log || true 1289:configure:26127: checking OpenSSL linking with -ldl
1350:configure:26155: checking OpenSSL linking with -ldl and -lpthread
1544:configure:26509: OpenSSL version does not speak any known QUIC API
1547:configure:26536: error: --with-openssl was given but OpenSSL could not be detected
↓ 5 lines
1289:configure:26127: checking OpenSSL linking with -ldl 1350:configure:26155: checking OpenSSL linking with -ldl and -lpthread 1544:configure:26509: OpenSSL version does not speak any known QUIC API 1547:configure:26536: error: --with-openssl was given but OpenSSL could not be detected
[empty output]
Show reasoning
Searching for HMAC_Update
I think maybe I got the line numbers wrong while using grep. It’s frustrating because now I need to double-check and make sure I’m looking in the right place. So, I’ll search specifically for ‘HMAC_Update’ to see where it appears. This should help me narrow it down and find the information I need. Hopefully, that’ll clear things up! Alright, let's see what I find.
compile-bench> grep -n "HMAC_Update" /home/peter/curl-8.16.0/config.log || true 1165:configure:26032: checking for HMAC_Update in -lcrypto
1220:| char HMAC_Update ();
1223:| return HMAC_Update ();
1596:ac_cv_lib_crypto_HMAC_Update=no
↓ 5 lines
1165:configure:26032: checking for HMAC_Update in -lcrypto 1220:| char HMAC_Update (); 1223:| return HMAC_Update (); 1596:ac_cv_lib_crypto_HMAC_Update=no
[empty output]
Show reasoning
Checking configuration logs
I think I might be misreading some lines in the log. To clarify things, I’ll focus on the tail section of the config.log, especially around the HMAC checks. My plan is to search specifically for the HMAC_Update region and look at the surrounding lines to gather the necessary context. This should help me understand better what’s happening. Let's get started!
compile-bench> sed -n '1140,1240p' /home/peter/curl-8.16.0/config.log configure:24570: result: yes
configure:24595: checking if struct sockaddr_in6 has sin6_scope_id member
configure:24623: aarch64-linux-gnu-gcc -c -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include conftest.c >&5
configure:24623: $? = 0
configure:24626: result: yes
configure:24642: checking if argv can be written to
configure:24744: result: no
configure:24746: WARNING: the previous check could not be made default was used
configure:24798: checking if GSS-API support is requested
configure:25197: result: no
configure:25630: checking whether to enable Windows native SSL/TLS
configure:25659: result: no
configure:25664: checking whether to enable Amiga native SSL/TLS (AmiSSL v5)
configure:25762: result: no
configure:25825: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig"
configure:25863: checking for aarch64-linux-gnu-pkg-config
configure:25902: result: no
configure:25912: checking for pkg-config
configure:25936: found /usr/bin/pkg-config
configure:25948: result: /usr/bin/pkg-config
configure:25973: checking for openssl options with pkg-config
configure:25987: result: found
configure:26015: pkg-config: SSL_LIBS: "-lssl -lcrypto"
configure:26017: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib"
configure:26019: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include"
configure:26032: checking for HMAC_Update in -lcrypto
configure:26054: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lcrypto -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz >&5
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlidec: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_addr.o): in function `BIO_lookup_ex':
bio_addr.c:(.text+0xcb0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64
[command output truncated]
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_STDATOMIC_H 1
| #define HAVE_ATOMIC 1
| #define PACKAGE "curl"
| #define VERSION "-"
| #define CURL_OS "aarch64-unknown-linux-gnu"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_LDAP_SSL 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC_RAW 1
| #define HAVE_LIBZ 1
| #define HAVE_BROTLI_DECODE_H 1
| #define HAVE_BROTLI 1
| #define HAVE_ZSTD_H 1
| #define HAVE_ZSTD 1
| #define USE_IPV6 1
| #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
| /* end confdefs.h. */
|
|
| #ifdef __cplusplus
| extern "C"
| #endif
| char HMAC_Update ();
| int main(void)
| {
| return HMAC_Update ();
| return 0;
| }
configure:26064: result: no
configure:26085: checking for HMAC_Init_ex in -lcrypto
configure:26107: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lcrypto -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz >&5
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlidec: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_addr.o): in function `BIO_lookup_ex':
bio_addr.c:(.text+0xcb0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_sock.o): in function `BIO_gethostbyname':
bio_sock.c:(.text+0x70): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
configure:26107: $? = 1
configure: failed program was:
| /* confdefs.h */
↓ 92 lines
configure:24570: result: yes
configure:24595: checking if struct sockaddr_in6 has sin6_scope_id member
configure:24623: aarch64-linux-gnu-gcc -c -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include conftest.c >&5
configure:24623: $? = 0
configure:24626: result: yes
configure:24642: checking if argv can be written to
configure:24744: result: no
configure:24746: WARNING: the previous check could not be made default was used
configure:24798: checking if GSS-API support is requested
configure:25197: result: no
configure:25630: checking whether to enable Windows native SSL/TLS
configure:25659: result: no
configure:25664: checking whether to enable Amiga native SSL/TLS (AmiSSL v5)
configure:25762: result: no
configure:25825: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig"
configure:25863: checking for aarch64-linux-gnu-pkg-config
configure:25902: result: no
configure:25912: checking for pkg-config
configure:25936: found /usr/bin/pkg-config
configure:25948: result: /usr/bin/pkg-config
configure:25973: checking for openssl options with pkg-config
configure:25987: result: found
configure:26015: pkg-config: SSL_LIBS: "-lssl -lcrypto"
configure:26017: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib"
configure:26019: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include"
configure:26032: checking for HMAC_Update in -lcrypto
configure:26054: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lcrypto -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz >&5
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlidec: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_addr.o): in function `BIO_lookup_ex':
bio_addr.c:(.text+0xcb0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64
[command output truncated]
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_STDATOMIC_H 1
| #define HAVE_ATOMIC 1
| #define PACKAGE "curl"
| #define VERSION "-"
| #define CURL_OS "aarch64-unknown-linux-gnu"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_LDAP_SSL 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC_RAW 1
| #define HAVE_LIBZ 1
| #define HAVE_BROTLI_DECODE_H 1
| #define HAVE_BROTLI 1
| #define HAVE_ZSTD_H 1
| #define HAVE_ZSTD 1
| #define USE_IPV6 1
| #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
| /* end confdefs.h. */
|
|
| #ifdef __cplusplus
| extern "C"
| #endif
| char HMAC_Update ();
| int main(void)
| {
| return HMAC_Update ();
| return 0;
| }
configure:26064: result: no
configure:26085: checking for HMAC_Init_ex in -lcrypto
configure:26107: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lcrypto -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz >&5
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlidec: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_addr.o): in function `BIO_lookup_ex':
bio_addr.c:(.text+0xcb0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_sock.o): in function `BIO_gethostbyname':
bio_sock.c:(.text+0x70): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
configure:26107: $? = 1
configure: failed program was:
| /* confdefs.h */
compile-bench> ls -l /home/peter/aarch64/lib || true total 14628
drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 engines-3
-rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a
lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so -> libbrotlicommon.so.1
lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9
-rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9
-rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so -> libbrotlidec.so.1
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1 -> libbrotlidec.so.1.0.9
-rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9
-rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so -> libbrotlienc.so.1
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1 -> libbrotlienc.so.1.0.9
-rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9
-rw-r--r-- 1 peter peter 9800734 Sep 16 21:44 libcrypto.a
-rw-r--r-- 1 peter peter 1308484 Sep 16 21:44 libssl.a
-rw-r--r-- 1 peter peter 148694 Sep 16 21:44 libz.a
lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so -> libz.so.1.2.13
lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.1 -> libz.so.1.2.13
-rwxr-xr-x 1 peter peter 119520 Sep 16 21:44 libz.so.1.2.13
-rw-r--r-- 1 peter peter 1036716 Sep 16 21:45 libzstd.a
lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so -> libzstd.so.1.5.5
lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.1 -> libzstd.so.1.5.5
-rwxr-xr-x 1 peter peter 862952 Sep 16 21:45 libzstd.so.1.5.5
drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 ossl-modules
drwxr-xr-x 2 peter peter 4096 Sep 16 21:45 pkgconfig
↓ 27 lines
total 14628 drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 engines-3 -rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so -> libbrotlicommon.so.1 lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9 -rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9 -rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so -> libbrotlidec.so.1 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1 -> libbrotlidec.so.1.0.9 -rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9 -rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so -> libbrotlienc.so.1 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1 -> libbrotlienc.so.1.0.9 -rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9 -rw-r--r-- 1 peter peter 9800734 Sep 16 21:44 libcrypto.a -rw-r--r-- 1 peter peter 1308484 Sep 16 21:44 libssl.a -rw-r--r-- 1 peter peter 148694 Sep 16 21:44 libz.a lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so -> libz.so.1.2.13 lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.1 -> libz.so.1.2.13 -rwxr-xr-x 1 peter peter 119520 Sep 16 21:44 libz.so.1.2.13 -rw-r--r-- 1 peter peter 1036716 Sep 16 21:45 libzstd.a lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so -> libzstd.so.1.5.5 lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.1 -> libzstd.so.1.5.5 -rwxr-xr-x 1 peter peter 862952 Sep 16 21:45 libzstd.so.1.5.5 drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 ossl-modules drwxr-xr-x 2 peter peter 4096 Sep 16 21:45 pkgconfig
Show reasoning
Evaluating library linking issues
I’m seeing that libbrotlidec.so exists, but it seems to be for the aarch64 architecture. There’s a linking error saying it can't find -lbrotlidec, even though the file is listed. I think when using -static, the linker doesn’t look for shared libraries, which might be the problem since we have libbrotlidec-static.a. Its name doesn't match what’s being queried. So, it looks like the naming convention is leading to these linking issues. Plus, I suspect there might be a similarly named libbrotlicommon.Creating symlinks for static libraries
I noticed that configure is calling the linker with -lbrotlidec and -lbrotlicommon, but I need to link the static libraries instead. A simple solution would be to create symlinks in the /home/peter/aarch64/lib directory, pointing libbrotlidec.a to libbrotlidec-static.a and libbrotlicommon.a to libbrotlicommon-static.a.
I also want to check if libbrotlienc.a can point to libbrotlienc-static.a, as my earlier listing indicated that this file is present. So, let’s go ahead and create those symlinks!
compile-bench> cd /home/peter/aarch64/lib && ln -sf libbrotlidec-static.a libbrotlidec.a && ln -sf libbrotlienc-static.a libbrotlienc.a && ln -sf libbrotlicommon-static.a libbrotlicommon.a && ls -l libbrotli* || true -rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a
lrwxrwxrwx 1 peter peter 24 Sep 16 21:47 libbrotlicommon.a -> libbrotlicommon-static.a
lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so -> libbrotlicommon.so.1
lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9
-rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9
-rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a
lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlidec.a -> libbrotlidec-static.a
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so -> libbrotlidec.so.1
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1 -> libbrotlidec.so.1.0.9
-rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9
-rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a
lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlienc.a -> libbrotlienc-static.a
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so -> libbrotlienc.so.1
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1 -> libbrotlienc.so.1.0.9
-rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9
↓ 16 lines
-rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a lrwxrwxrwx 1 peter peter 24 Sep 16 21:47 libbrotlicommon.a -> libbrotlicommon-static.a lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so -> libbrotlicommon.so.1 lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9 -rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9 -rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlidec.a -> libbrotlidec-static.a lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so -> libbrotlidec.so.1 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1 -> libbrotlidec.so.1.0.9 -rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9 -rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlienc.a -> libbrotlienc-static.a lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so -> libbrotlienc.so.1 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1 -> libbrotlienc.so.1.0.9 -rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9
Show reasoning
Reconfiguring setup
I'm considering rerunning the configure command with the same flags. I wonder if we might need to clean the previous configuration first. It seems like running 'make clean' isn't necessary because configure will re-run the tests on its own. However, since I've created symlinks, it may be best to rerun configure using the same command just to be safe. It's always good to double-check when adjusting configurations!
compile-bench> cd /home/peter/curl-8.16.0 && PKG_CONFIG_PATH=/home/peter/aarch64/lib/pkgconfig CPPFLAGS="-I/home/peter/aarch64/include" LDFLAGS="-L/home/peter/aarch64/lib -static" CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar RANLIB=aarch64-linux-gnu-ranlib ./configure --host=aarch64-linux-gnu --with-ssl=/home/peter/aarch64 --with-zlib=/home/peter/aarch64 --with-brotli=/home/peter/aarch64 --with-zstd=/home/peter/aarch64 --disable-shared --enable-static --prefix=/home/peter/result checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking whether to enable HTTPSRR support... no
checking whether to enable ECH support... no
checking whether to enable SSL session export support... no
checking for path separator... :
checking for sed... /usr/bin/sed
checking for grep... /usr/bin/grep
checking that grep -E works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes
checking whether aarch64-linux-gnu-gcc accepts -g... yes
checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed
checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes
checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdatomic.h... yes
checking if _Atomic is available... yes
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for code coverage support... no
checking whether build environment is sane... yes
checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-linux-gnu-gcc... gcc3
checking curl version... 8.16.0
checking for perl... /usr/bin/perl
checking for httpd... no
checking for apache2... no
checking for apxs... no
configure: httpd/apache2 not in PATH, http tests disabled
configure: apxs not in PATH, http tests disabled
checking for danted... no
checking for danted... no
checking for nghttpx... no
checking for caddy... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for grep that handles long lines an
[command output truncated]
r to support mqtt... no
checking whether to provide built-in manual... yes
checking whether to build documentation... yes
checking whether to enable generation of C code... yes
checking whether to use libgcc... no
checking if X/Open network library is required... no
checking for gethostbyname... yes
checking whether build target is a native Windows one... (cached) no
checking for proto/bsdsocket.h... no
checking for connect in libraries... yes
checking for sys/types.h... (cached) yes
checking for monotonic clock_gettime... yes
checking for clock_gettime in libraries... no additional lib required
checking for sys/types.h... (cached) yes
checking for raw monotonic clock_gettime... yes
checking for zlib.h... yes
checking for gzread in -lz... yes
configure: found both libz and libz.h header
checking for BrotliDecoderDecompress in -lbrotlidec... yes
checking for brotli/decode.h... yes
checking for ZSTD_createDStream in -lzstd... yes
checking for zstd.h... yes
checking whether to enable IPv6... yes
checking if struct sockaddr_in6 has sin6_scope_id member... yes
checking if argv can be written to... no
configure: WARNING: the previous check could not be made default was used
checking if GSS-API support is requested... no
checking whether to enable Windows native SSL/TLS... no
checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no
configure: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig"
checking for aarch64-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking for openssl options with pkg-config... found
configure: pkg-config: SSL_LIBS: "-lssl -lcrypto"
configure: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib"
configure: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include"
checking for HMAC_Update in -lcrypto... yes
checking for SSL_connect in -lssl... yes
checking for openssl/x509.h... yes
checking for openssl/rsa.h... yes
checking for openssl/crypto.h... yes
checking for openssl/pem.h... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for BoringSSL... no
checking for AWS-LC... no
checking for LibreSSL... no
checking for OpenSSL >= v3... yes
checking for SSL_set_quic_use_legacy_codepoint... no
checking for SSL_set_quic_tls_cbs... no
configure: OpenSSL version does not speak any known QUIC API
checking for SRP support in OpenSSL... yes
checking for QUIC support and OpenSSL >= 3.3... no
configure: built with one SSL backend
checking default CA cert bundle/path... configure: WARNING: skipped the ca-cert path detection when cross-compiling
no
checking whether to use OpenSSL's built-in CA store... no
checking CA cert bundle path to embed in the curl tool... no
checking for aarch64-linux-gnu-pkg-config... /usr/bin/pkg-config
checking for libpsl options with pkg-config... no
checking for psl_builtin in -lpsl... no
configure: error: libpsl libs and/or directories were not found where specified!
↓ 128 lines
checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for a BSD-compatible install... /usr/bin/install -c checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes checking whether aarch64-linux-gnu-gcc accepts -g... yes checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether build environment is sane... yes checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of aarch64-linux-gnu-gcc... gcc3 checking curl version... 8.16.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking for grep that handles long lines an [command output truncated] r to support mqtt... no checking whether to provide built-in manual... yes checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for zlib.h... yes checking for gzread in -lz... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... no configure: WARNING: the previous check could not be made default was used checking if GSS-API support is requested... no checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no configure: PKG_CONFIG_LIBDIR will be set to "/home/peter/aarch64/lib/pkgconfig" checking for aarch64-linux-gnu-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "-L/home/peter/aarch64/lib" configure: pkg-config: SSL_CPPFLAGS: "-I/home/peter/aarch64/include" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/x509.h... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... yes checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... no configure: OpenSSL version does not speak any known QUIC API checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... no configure: built with one SSL backend checking default CA cert bundle/path... configure: WARNING: skipped the ca-cert path detection when cross-compiling no checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for aarch64-linux-gnu-pkg-config... /usr/bin/pkg-config checking for libpsl options with pkg-config... no checking for psl_builtin in -lpsl... no configure: error: libpsl libs and/or directories were not found where specified!
Show reasoning
Troubleshooting configuration issues
I'm configuring software and have come across a few libraries: it found brotli and zstd, and also OpenSSL. But now there's an error because the libpsl libraries and directories aren’t where they’re expected to be. Curl needs libpsl, or I can either use a built-in option or disable it. I'm considering options like --without-psl or --with-libpsl, but it's confusing. It looks like libpsl often isn't mandatory, so I might want to disable it. The error is unexpected, so I need to double-check what has been specified.Investigating libpsl issues
I previously checked and found that 'psl' was missing, so I decided to look into something else. Now I'm facing the final error which states that libpsl libraries and/or directories aren't where they should be. I wonder if an environment variable set to default is causing the configure script to try to include libpsl unnecessarily. I think it would be a good idea to search the config.log for any lines mentioning 'psl' to get more clarity on the situation.
compile-bench> grep -n "psl" /home/peter/curl-8.16.0/config.log || true 1609:configure:28419: checking for libpsl options with pkg-config
1611:configure:28464: checking for psl_builtin in -lpsl
1612:configure:28486: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lpsl -lpsl -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lbrotlidec -lbrotlidec -lbrotlicommon -lz >&5
1613:/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lpsl: No such file or directory
1614:/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lpsl: No such file or directory
1676:| char psl_builtin ();
1679:| return psl_builtin ();
1683:configure:28528: error: libpsl libs and/or directories were not found where specified!
1738:ac_cv_lib_psl_psl_builtin=no
↓ 10 lines
1609:configure:28419: checking for libpsl options with pkg-config 1611:configure:28464: checking for psl_builtin in -lpsl 1612:configure:28486: aarch64-linux-gnu-gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/home/peter/aarch64/include -D_GNU_SOURCE -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -I/home/peter/aarch64/include -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib conftest.c -lpsl -lpsl -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lbrotlidec -lbrotlidec -lbrotlicommon -lz >&5 1613:/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lpsl: No such file or directory 1614:/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lpsl: No such file or directory 1676:| char psl_builtin (); 1679:| return psl_builtin (); 1683:configure:28528: error: libpsl libs and/or directories were not found where specified! 1738:ac_cv_lib_psl_psl_builtin=no
Show reasoning
Troubleshooting libpsl linking
I'm trying to figure out why the configuration is attempting to link with libpsl. It seems that curl may expect to use libpsl for domain matching by default, and it might fail if it's not found in this version. I noticed there's an option to run the configure script with --without-libpsl. To clarify this, I’ll check the help command for options available. I might just add --without-libpsl when I run configure again. Let's take a quick look!
compile-bench> cd /home/peter/curl-8.16.0 && ./configure --help | sed -n '1,240p' `configure' configures curl - to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/curl]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-
[command output truncated]
digest authentication (default)
--disable-digest-auth Disable digest authentication
--enable-kerberos-auth Enable kerberos authentication (default)
--disable-kerberos-auth Disable kerberos authentication
--enable-negotiate-auth Enable negotiate authentication (default)
--disable-negotiate-auth
Disable negotiate authentication
--enable-aws Enable AWS sig support (default)
--disable-aws Disable AWS sig support
--enable-ntlm Enable NTLM support
--disable-ntlm Disable NTLM support
--enable-tls-srp Enable TLS-SRP authentication
--disable-tls-srp Disable TLS-SRP authentication
--enable-unix-sockets Enable Unix domain sockets
--disable-unix-sockets Disable Unix domain sockets
--enable-cookies Enable cookies support
--disable-cookies Disable cookies support
--enable-socketpair Enable socketpair support
--disable-socketpair Disable socketpair support
--enable-http-auth Enable HTTP authentication support
--disable-http-auth Disable HTTP authentication support
--enable-doh Enable DoH support
--disable-doh Disable DoH support
--enable-mime Enable mime API support
--disable-mime Disable mime API support
--enable-bindlocal Enable local binding support
--disable-bindlocal Disable local binding support
--enable-form-api Enable form API support
--disable-form-api Disable form API support
--enable-dateparse Enable date parsing
--disable-dateparse Disable date parsing
--enable-netrc Enable netrc parsing
--disable-netrc Disable netrc parsing
--enable-progress-meter Enable progress-meter
--disable-progress-meter
Disable progress-meter
--enable-sha512-256 Enable SHA-512/256 hash algorithm (default)
--disable-sha512-256 Disable SHA-512/256 hash algorithm
--enable-dnsshuffle Enable DNS shuffling
--disable-dnsshuffle Disable DNS shuffling
--enable-get-easy-options
Enable curl_easy_options
--disable-get-easy-options
Disable curl_easy_options
--enable-alt-svc Enable alt-svc support
--disable-alt-svc Disable alt-svc support
--enable-headers-api Enable headers-api support
--disable-headers-api Disable headers-api support
--enable-hsts Enable HSTS support
--disable-hsts Disable HSTS support
--enable-websockets Enable WebSockets support
--disable-websockets Disable WebSockets support
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-schannel enable Windows native SSL/TLS
--with-amissl enable Amiga native SSL/TLS (AmiSSL)
--with-ssl=PATH old version of --with-openssl
↓ 120 lines
`configure' configures curl - to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/curl]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-
[command output truncated]
digest authentication (default)
--disable-digest-auth Disable digest authentication
--enable-kerberos-auth Enable kerberos authentication (default)
--disable-kerberos-auth Disable kerberos authentication
--enable-negotiate-auth Enable negotiate authentication (default)
--disable-negotiate-auth
Disable negotiate authentication
--enable-aws Enable AWS sig support (default)
--disable-aws Disable AWS sig support
--enable-ntlm Enable NTLM support
--disable-ntlm Disable NTLM support
--enable-tls-srp Enable TLS-SRP authentication
--disable-tls-srp Disable TLS-SRP authentication
--enable-unix-sockets Enable Unix domain sockets
--disable-unix-sockets Disable Unix domain sockets
--enable-cookies Enable cookies support
--disable-cookies Disable cookies support
--enable-socketpair Enable socketpair support
--disable-socketpair Disable socketpair support
--enable-http-auth Enable HTTP authentication support
--disable-http-auth Disable HTTP authentication support
--enable-doh Enable DoH support
--disable-doh Disable DoH support
--enable-mime Enable mime API support
--disable-mime Disable mime API support
--enable-bindlocal Enable local binding support
--disable-bindlocal Disable local binding support
--enable-form-api Enable form API support
--disable-form-api Disable form API support
--enable-dateparse Enable date parsing
--disable-dateparse Disable date parsing
--enable-netrc Enable netrc parsing
--disable-netrc Disable netrc parsing
--enable-progress-meter Enable progress-meter
--disable-progress-meter
Disable progress-meter
--enable-sha512-256 Enable SHA-512/256 hash algorithm (default)
--disable-sha512-256 Disable SHA-512/256 hash algorithm
--enable-dnsshuffle Enable DNS shuffling
--disable-dnsshuffle Disable DNS shuffling
--enable-get-easy-options
Enable curl_easy_options
--disable-get-easy-options
Disable curl_easy_options
--enable-alt-svc Enable alt-svc support
--disable-alt-svc Disable alt-svc support
--enable-headers-api Enable headers-api support
--disable-headers-api Disable headers-api support
--enable-hsts Enable HSTS support
--disable-hsts Disable HSTS support
--enable-websockets Enable WebSockets support
--disable-websockets Disable WebSockets support
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-schannel enable Windows native SSL/TLS
--with-amissl enable Amiga native SSL/TLS (AmiSSL)
--with-ssl=PATH old version of --with-openssl
compile-bench> cd /home/peter/curl-8.16.0 && ./configure --help | sed -n '240,520p' --with-ssl=PATH old version of --with-openssl
--without-ssl build without any TLS library
--with-openssl=PATH Where to look for OpenSSL, PATH points to the SSL
installation (default: /usr/local/ssl); when
possible, set the PKG_CONFIG_PATH environment
variable instead of using this option
--with-gnutls=PATH where to look for GnuTLS, PATH points to the
installation root
--with-mbedtls=PATH where to look for mbedTLS, PATH points to the
installation root
--with-wolfssl=PATH where to look for wolfSSL, PATH points to the
installation root (default: system lib default)
--with-rustls=PATH where to look for Rustls, PATH points to the
installation root
--with-test-nghttpx=PATH
where to find nghttpx for testing
--with-test-caddy=PATH where to find caddy for testing
--with-test-vsftpd=PATH where to find vsftpd for testing
--with-test-httpd=PATH where to find httpd/apache2 for testing
--with-test-danted=PATH where to find danted socks daemon for testing
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
shared library versioning (aka "SONAME") variant to
provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
--with-zlib=PATH search for zlib in PATH
--without-zlib disable use of zlib
--with-brotli=PATH Where to look for brotli, PATH points to the BROTLI
installation; when possible, set the PKG_CONFIG_PATH
environment variable instead of using this option
--without-brotli disable BROTLI
--with-zstd=PATH Where to look for libzstd, PATH points to the
libzstd installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--without-zstd disable libzstd
--with-gssapi-includes=DIR
Specify location of GSS-API headers
--with-gssapi-libs=DIR Specify location of GSS-API libs
--with-gssapi=DIR Where to look for GSS-API
--with-default-ssl-backend=NAME
Use NAME as default SSL backend
--without-default-ssl-backend
Use implicit default SSL backend
--with-ca-bundle=FILE Absolute path to a file containing CA certificates
(example: /etc/ca-bundle.crt)
--without-ca-bundle Don't use a de
[command output truncated]
ith-wolfssh=PATH Where to look for wolfssh, PATH points to the
wolfSSH installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--with-wolfssh enable wolfssh
--with-ldap-lib=libname Specify name of ldap lib file
--with-lber-lib=libname Specify name of lber lib file
--with-ldap=PATH Where to look for LDAP, PATH points to the LDAP
installation; when possible, set the PKG_CONFIG_PATH
environment variable instead of using this option
--without-ldap disable LDAP
--with-librtmp=PATH Where to look for librtmp, PATH points to the
LIBRTMP installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--without-librtmp disable LIBRTMP
--with-winidn=PATH enable Windows native IDN
--without-winidn disable Windows native IDN
--with-apple-idn Enable AppleIDN
--without-apple-idn Disable AppleIDN
--with-libidn2=PATH Enable libidn2 usage
--without-libidn2 Disable libidn2 usage
--with-nghttp2=PATH Enable nghttp2 usage
--without-nghttp2 Disable nghttp2 usage
--with-ngtcp2=PATH Enable ngtcp2 usage
--without-ngtcp2 Disable ngtcp2 usage
--with-openssl-quic Enable OpenSSL QUIC usage
--without-openssl-quic Disable OpenSSL QUIC usage
--with-nghttp3=PATH Enable nghttp3 usage
--without-nghttp3 Disable nghttp3 usage
--with-quiche=PATH Enable quiche usage
--without-quiche Disable quiche usage
--with-libuv=PATH Enable libuv
--without-libuv Disable libuv
--with-zsh-functions-dir=PATH
Install zsh completions to PATH
--without-zsh-functions-dir
Do not install zsh completions
--with-fish-functions-dir=PATH
Install fish completions to PATH
--without-fish-functions-dir
Do not install fish completions
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <a suitable curl mailing list: https://curl.se/mail/>.
↓ 112 lines
--with-ssl=PATH old version of --with-openssl
--without-ssl build without any TLS library
--with-openssl=PATH Where to look for OpenSSL, PATH points to the SSL
installation (default: /usr/local/ssl); when
possible, set the PKG_CONFIG_PATH environment
variable instead of using this option
--with-gnutls=PATH where to look for GnuTLS, PATH points to the
installation root
--with-mbedtls=PATH where to look for mbedTLS, PATH points to the
installation root
--with-wolfssl=PATH where to look for wolfSSL, PATH points to the
installation root (default: system lib default)
--with-rustls=PATH where to look for Rustls, PATH points to the
installation root
--with-test-nghttpx=PATH
where to find nghttpx for testing
--with-test-caddy=PATH where to find caddy for testing
--with-test-vsftpd=PATH where to find vsftpd for testing
--with-test-httpd=PATH where to find httpd/apache2 for testing
--with-test-danted=PATH where to find danted socks daemon for testing
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
shared library versioning (aka "SONAME") variant to
provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
--with-zlib=PATH search for zlib in PATH
--without-zlib disable use of zlib
--with-brotli=PATH Where to look for brotli, PATH points to the BROTLI
installation; when possible, set the PKG_CONFIG_PATH
environment variable instead of using this option
--without-brotli disable BROTLI
--with-zstd=PATH Where to look for libzstd, PATH points to the
libzstd installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--without-zstd disable libzstd
--with-gssapi-includes=DIR
Specify location of GSS-API headers
--with-gssapi-libs=DIR Specify location of GSS-API libs
--with-gssapi=DIR Where to look for GSS-API
--with-default-ssl-backend=NAME
Use NAME as default SSL backend
--without-default-ssl-backend
Use implicit default SSL backend
--with-ca-bundle=FILE Absolute path to a file containing CA certificates
(example: /etc/ca-bundle.crt)
--without-ca-bundle Don't use a de
[command output truncated]
ith-wolfssh=PATH Where to look for wolfssh, PATH points to the
wolfSSH installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--with-wolfssh enable wolfssh
--with-ldap-lib=libname Specify name of ldap lib file
--with-lber-lib=libname Specify name of lber lib file
--with-ldap=PATH Where to look for LDAP, PATH points to the LDAP
installation; when possible, set the PKG_CONFIG_PATH
environment variable instead of using this option
--without-ldap disable LDAP
--with-librtmp=PATH Where to look for librtmp, PATH points to the
LIBRTMP installation; when possible, set the
PKG_CONFIG_PATH environment variable instead of
using this option
--without-librtmp disable LIBRTMP
--with-winidn=PATH enable Windows native IDN
--without-winidn disable Windows native IDN
--with-apple-idn Enable AppleIDN
--without-apple-idn Disable AppleIDN
--with-libidn2=PATH Enable libidn2 usage
--without-libidn2 Disable libidn2 usage
--with-nghttp2=PATH Enable nghttp2 usage
--without-nghttp2 Disable nghttp2 usage
--with-ngtcp2=PATH Enable ngtcp2 usage
--without-ngtcp2 Disable ngtcp2 usage
--with-openssl-quic Enable OpenSSL QUIC usage
--without-openssl-quic Disable OpenSSL QUIC usage
--with-nghttp3=PATH Enable nghttp3 usage
--without-nghttp3 Disable nghttp3 usage
--with-quiche=PATH Enable quiche usage
--without-quiche Disable quiche usage
--with-libuv=PATH Enable libuv
--without-libuv Disable libuv
--with-zsh-functions-dir=PATH
Install zsh completions to PATH
--without-zsh-functions-dir
Do not install zsh completions
--with-fish-functions-dir=PATH
Install fish completions to PATH
--without-fish-functions-dir
Do not install fish completions
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <a suitable curl mailing list: https://curl.se/mail/>.
Show reasoning
Configuring options for libpsl
I’m considering how to properly configure this setup. We can use either '--without-libpsl' or '--with-libpsl=no' based on what we've seen. The help notes mention optional packages, but don't specify 'libpsl' directly. Since we had an error about missing libraries and directories, passing '--without-libpsl' seems like a solid solution. I’ll re-run the configure command with that flag added to see if it resolves the issue.
compile-bench> cd /home/peter/curl-8.16.0 && PKG_CONFIG_PATH=/home/peter/aarch64/lib/pkgconfig CPPFLAGS="-I/home/peter/aarch64/include" LDFLAGS="-L/home/peter/aarch64/lib -static" CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar RANLIB=aarch64-linux-gnu-ranlib ./configure --host=aarch64-linux-gnu --with-ssl=/home/peter/aarch64 --with-zlib=/home/peter/aarch64 --with-brotli=/home/peter/aarch64 --with-zstd=/home/peter/aarch64 --disable-shared --enable-static --without-libpsl --prefix=/home/peter/result checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking whether to enable HTTPSRR support... no
checking whether to enable ECH support... no
checking whether to enable SSL session export support... no
checking for path separator... :
checking for sed... /usr/bin/sed
checking for grep... /usr/bin/grep
checking that grep -E works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes
checking whether aarch64-linux-gnu-gcc accepts -g... yes
checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed
checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes
checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdatomic.h... yes
checking if _Atomic is available... yes
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for code coverage support... no
checking whether build environment is sane... yes
checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-linux-gnu-gcc... gcc3
checking curl version... 8.16.0
checking for perl... /usr/bin/perl
checking for httpd... no
checking for apache2... no
checking for apxs... no
configure: httpd/apache2 not in PATH, http tests disabled
configure: apxs not in PATH, http tests disabled
checking for danted... no
checking for danted... no
checking for nghttpx... no
checking for caddy... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for grep that handles long lines an
[command output truncated]
pc
config.status: creating curl-config
config.status: creating lib/curl_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: Configured to build curl/libcurl:
Host setup: aarch64-unknown-linux-gnu
Install prefix: /home/peter/result
Compiler: aarch64-linux-gnu-gcc
CFLAGS: -Werror-implicit-function-declaration -O2 -Wno-system-headers
CFLAGS extras:
CPPFLAGS: -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include
LDFLAGS: -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib
curl-config: -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib
LIBS: -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lbrotlidec -lbrotlidec -lbrotlicommon -lz
curl version: 8.16.0
SSL: enabled (OpenSSL v3+)
SSH: no (--with-{libssh,libssh2})
zlib: enabled
brotli: enabled (libbrotlidec)
zstd: enabled (libzstd)
GSS-API: no (--with-gssapi)
GSASL: no (libgsasl not found)
TLS-SRP: enabled
resolver: POSIX threaded
IPv6: enabled
Unix sockets: enabled
IDN: no (--with-{libidn2,winidn})
Build docs: enabled (--disable-docs)
Build libcurl: Shared=no, Static=yes
Built-in manual: enabled
--libcurl option: enabled (--disable-libcurl-option)
Verbose errors: enabled (--disable-verbose)
Code coverage: disabled
SSPI: no (--enable-sspi)
ca cert bundle: no
ca cert path: no
ca cert embed: no
ca fallback: no
LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib)
LDAPS: no (--enable-ldaps)
IPFS/IPNS: enabled
RTSP: enabled
RTMP: no (--with-librtmp)
PSL: no (--with-libpsl)
Alt-svc: enabled (--disable-alt-svc)
Headers API: enabled (--disable-headers-api)
HSTS: enabled (--disable-hsts)
HTTP1: enabled (internal)
HTTP2: no (--with-nghttp2)
HTTP3: no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic)
ECH: no (--enable-ech)
HTTPS RR: no (--enable-httpsrr)
SSLS-EXPORT: no (--enable-ssls-export)
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli HSTS HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets zstd
↓ 124 lines
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking whether to enable HTTPSRR support... no
checking whether to enable ECH support... no
checking whether to enable SSL session export support... no
checking for path separator... :
checking for sed... /usr/bin/sed
checking for grep... /usr/bin/grep
checking that grep -E works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-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 the compiler supports GNU C... yes
checking whether aarch64-linux-gnu-gcc accepts -g... yes
checking for aarch64-linux-gnu-gcc option to enable C11 features... none needed
checking whether aarch64-linux-gnu-gcc understands -c and -o together... yes
checking how to run the C preprocessor... aarch64-linux-gnu-gcc -E
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdatomic.h... yes
checking if _Atomic is available... yes
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for code coverage support... no
checking whether build environment is sane... yes
checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-linux-gnu-gcc... gcc3
checking curl version... 8.16.0
checking for perl... /usr/bin/perl
checking for httpd... no
checking for apache2... no
checking for apxs... no
configure: httpd/apache2 not in PATH, http tests disabled
configure: apxs not in PATH, http tests disabled
checking for danted... no
checking for danted... no
checking for nghttpx... no
checking for caddy... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for grep that handles long lines an
[command output truncated]
pc
config.status: creating curl-config
config.status: creating lib/curl_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: Configured to build curl/libcurl:
Host setup: aarch64-unknown-linux-gnu
Install prefix: /home/peter/result
Compiler: aarch64-linux-gnu-gcc
CFLAGS: -Werror-implicit-function-declaration -O2 -Wno-system-headers
CFLAGS extras:
CPPFLAGS: -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include
LDFLAGS: -L/home/peter/aarch64/lib -static -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib
curl-config: -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib -L/home/peter/aarch64/lib
LIBS: -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lbrotlidec -lbrotlidec -lbrotlicommon -lz
curl version: 8.16.0
SSL: enabled (OpenSSL v3+)
SSH: no (--with-{libssh,libssh2})
zlib: enabled
brotli: enabled (libbrotlidec)
zstd: enabled (libzstd)
GSS-API: no (--with-gssapi)
GSASL: no (libgsasl not found)
TLS-SRP: enabled
resolver: POSIX threaded
IPv6: enabled
Unix sockets: enabled
IDN: no (--with-{libidn2,winidn})
Build docs: enabled (--disable-docs)
Build libcurl: Shared=no, Static=yes
Built-in manual: enabled
--libcurl option: enabled (--disable-libcurl-option)
Verbose errors: enabled (--disable-verbose)
Code coverage: disabled
SSPI: no (--enable-sspi)
ca cert bundle: no
ca cert path: no
ca cert embed: no
ca fallback: no
LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib)
LDAPS: no (--enable-ldaps)
IPFS/IPNS: enabled
RTSP: enabled
RTMP: no (--with-librtmp)
PSL: no (--with-libpsl)
Alt-svc: enabled (--disable-alt-svc)
Headers API: enabled (--disable-headers-api)
HSTS: enabled (--disable-hsts)
HTTP1: enabled (internal)
HTTP2: no (--with-nghttp2)
HTTP3: no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic)
ECH: no (--enable-ech)
HTTPS RR: no (--enable-httpsrr)
SSLS-EXPORT: no (--enable-ssls-export)
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli HSTS HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets zstd
Show reasoning
Building cURL Binary
I see that the configuration succeeded this time, which is great! Now, I need to compile and run 'make install' for the result prefix. I'll use the command 'make -j$(nproc)' followed by 'make install'. However, I have to be cautious about potential static linking issues due to unresolved references when building the cURL binary. It’s important to check that the linking order includes -pthread, -ldl, -lrt, -lm, and others. So, let's go ahead and run 'make -j'!
compile-bench> cd /home/peter/curl-8.16.0 && make -j$(nproc) V=1 Making all in lib
make[1]: Entering directory '/home/peter/curl-8.16.0/lib'
make all-am
make[2]: Entering directory '/home/peter/curl-8.16.0/lib'
/bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-altsvc.lo -MD -MP -MF .deps/libcurl_la-altsvc.Tpo -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo './'`altsvc.c
/bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-amigaos.lo -MD -MP -MF .deps/libcurl_la-amigaos.Tpo -c -o libcurl_la-amigaos.lo `test -f 'amigaos.c' || echo './'`amigaos.c
/bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-asyn-ares.lo -MD -MP -MF .deps/libcurl_la-asyn-ares.Tpo -c -o libcurl_la-asyn-ares.lo `test -f 'asyn-ares.c' || echo './'`asyn-ares.c
/bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-asyn-base.lo -MD -MP -MF .deps/libcurl_la-asyn-base.Tpo -c -o libcurl_la-asyn-base.lo `test -f 'asyn-base.c' || echo './'`asyn-base.c
/bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-syste
[command output truncated]
td -lbrotlidec -lbrotlidec -lbrotlicommon -lz
libtool: link: aarch64-linux-gnu-gcc -Werror-implicit-function-declaration -O2 -Wno-system-headers -o curl curl-config2setopts.o curl-slist_wc.o curl-terminal.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_soc.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_findfile.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_ipfs.o curl-tool_libinfo.o curl-tool_listhelp.o curl-tool_main.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_progress.o curl-tool_setopt.o curl-tool_ssls.o curl-tool_stderr.o curl-tool_strdup.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_writeout_json.o curl-tool_xattr.o curl-var.o curl-tool_hugehelp.o curl-tool_ca_embed.o -L/home/peter/aarch64/lib ../lib/.libs/libcurl.a -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz
libtool: link: aarch64-linux-gnu-ar cr .libs/libcurltool.a libcurltool_la-config2setopts.o libcurltool_la-slist_wc.o libcurltool_la-terminal.o libcurltool_la-tool_bname.o libcurltool_la-tool_cb_dbg.o libcurltool_la-tool_cb_hdr.o libcurltool_la-tool_cb_prg.o libcurltool_la-tool_cb_rea.o libcurltool_la-tool_cb_see.o libcurltool_la-tool_cb_soc.o libcurltool_la-tool_cb_wrt.o libcurltool_la-tool_cfgable.o libcurltool_la-tool_dirhie.o libcurltool_la-tool_doswin.o libcurltool_la-tool_easysrc.o libcurltool_la-tool_filetime.o libcurltool_la-tool_findfile.o libcurltool_la-tool_formparse.o libcurltool_la-tool_getparam.o libcurltool_la-tool_getpass.o libcurltool_la-tool_help.o libcurltool_la-tool_helpers.o libcurltool_la-tool_ipfs.o libcurltool_la-tool_libinfo.o libcurltool_la-tool_listhelp.o libcurltool_la-tool_main.o libcurltool_la-tool_msgs.o libcurltool_la-tool_operate.o libcurltool_la-tool_operhlp.o libcurltool_la-tool_paramhlp.o libcurltool_la-tool_parsecfg.o libcurltool_la-tool_progress.o libcurltool_la-tool_setopt.o libcurltool_la-tool_ssls.o libcurltool_la-tool_stderr.o libcurltool_la-tool_strdup.o libcurltool_la-tool_urlglob.o libcurltool_la-tool_util.o libcurltool_la-tool_vms.o libcurltool_la-tool_writeout.o libcurltool_la-tool_writeout_json.o libcurltool_la-tool_xattr.o libcurltool_la-var.o
libtool: link: aarch64-linux-gnu-ranlib .libs/libcurltool.a
libtool: link: ( cd ".libs" && rm -f "libcurltool.la" && ln -s "../libcurltool.la" "libcurltool.la" )
make[1]: Leaving directory '/home/peter/curl-8.16.0/src'
Making all in scripts
make[1]: Entering directory '/home/peter/curl-8.16.0/scripts'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/peter/curl-8.16.0/scripts'
make[1]: Entering directory '/home/peter/curl-8.16.0'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/peter/curl-8.16.0'
↓ 24 lines
Making all in lib make[1]: Entering directory '/home/peter/curl-8.16.0/lib' make all-am make[2]: Entering directory '/home/peter/curl-8.16.0/lib' /bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-altsvc.lo -MD -MP -MF .deps/libcurl_la-altsvc.Tpo -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo './'`altsvc.c /bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-amigaos.lo -MD -MP -MF .deps/libcurl_la-amigaos.Tpo -c -o libcurl_la-amigaos.lo `test -f 'amigaos.c' || echo './'`amigaos.c /bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-asyn-ares.lo -MD -MP -MF .deps/libcurl_la-asyn-ares.Tpo -c -o libcurl_la-asyn-ares.lo `test -f 'asyn-ares.c' || echo './'`asyn-ares.c /bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-system-headers -MT libcurl_la-asyn-base.lo -MD -MP -MF .deps/libcurl_la-asyn-base.Tpo -c -o libcurl_la-asyn-base.lo `test -f 'asyn-base.c' || echo './'`asyn-base.c /bin/bash ../libtool --tag=CC --mode=compile aarch64-linux-gnu-gcc -DHAVE_CONFIG_H -I../include -I../lib -I. -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -isystem /home/peter/aarch64/include -D_GNU_SOURCE -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -isystem /home/peter/aarch64/include -fvisibility=hidden -Werror-implicit-function-declaration -O2 -Wno-syste [command output truncated] td -lbrotlidec -lbrotlidec -lbrotlicommon -lz libtool: link: aarch64-linux-gnu-gcc -Werror-implicit-function-declaration -O2 -Wno-system-headers -o curl curl-config2setopts.o curl-slist_wc.o curl-terminal.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_soc.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_findfile.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_ipfs.o curl-tool_libinfo.o curl-tool_listhelp.o curl-tool_main.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_progress.o curl-tool_setopt.o curl-tool_ssls.o curl-tool_stderr.o curl-tool_strdup.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_writeout_json.o curl-tool_xattr.o curl-var.o curl-tool_hugehelp.o curl-tool_ca_embed.o -L/home/peter/aarch64/lib ../lib/.libs/libcurl.a -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz libtool: link: aarch64-linux-gnu-ar cr .libs/libcurltool.a libcurltool_la-config2setopts.o libcurltool_la-slist_wc.o libcurltool_la-terminal.o libcurltool_la-tool_bname.o libcurltool_la-tool_cb_dbg.o libcurltool_la-tool_cb_hdr.o libcurltool_la-tool_cb_prg.o libcurltool_la-tool_cb_rea.o libcurltool_la-tool_cb_see.o libcurltool_la-tool_cb_soc.o libcurltool_la-tool_cb_wrt.o libcurltool_la-tool_cfgable.o libcurltool_la-tool_dirhie.o libcurltool_la-tool_doswin.o libcurltool_la-tool_easysrc.o libcurltool_la-tool_filetime.o libcurltool_la-tool_findfile.o libcurltool_la-tool_formparse.o libcurltool_la-tool_getparam.o libcurltool_la-tool_getpass.o libcurltool_la-tool_help.o libcurltool_la-tool_helpers.o libcurltool_la-tool_ipfs.o libcurltool_la-tool_libinfo.o libcurltool_la-tool_listhelp.o libcurltool_la-tool_main.o libcurltool_la-tool_msgs.o libcurltool_la-tool_operate.o libcurltool_la-tool_operhlp.o libcurltool_la-tool_paramhlp.o libcurltool_la-tool_parsecfg.o libcurltool_la-tool_progress.o libcurltool_la-tool_setopt.o libcurltool_la-tool_ssls.o libcurltool_la-tool_stderr.o libcurltool_la-tool_strdup.o libcurltool_la-tool_urlglob.o libcurltool_la-tool_util.o libcurltool_la-tool_vms.o libcurltool_la-tool_writeout.o libcurltool_la-tool_writeout_json.o libcurltool_la-tool_xattr.o libcurltool_la-var.o libtool: link: aarch64-linux-gnu-ranlib .libs/libcurltool.a libtool: link: ( cd ".libs" && rm -f "libcurltool.la" && ln -s "../libcurltool.la" "libcurltool.la" ) make[1]: Leaving directory '/home/peter/curl-8.16.0/src' Making all in scripts make[1]: Entering directory '/home/peter/curl-8.16.0/scripts' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/peter/curl-8.16.0/scripts' make[1]: Entering directory '/home/peter/curl-8.16.0' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/peter/curl-8.16.0'
compile-bench> cd /home/peter/curl-8.16.0 && make install Making install in lib
make[1]: Entering directory '/home/peter/curl-8.16.0/lib'
make[2]: Entering directory '/home/peter/curl-8.16.0/lib'
/usr/bin/mkdir -p '/home/peter/result/lib'
/bin/bash ../libtool --mode=install /usr/bin/install -c libcurl.la '/home/peter/result/lib'
libtool: install: /usr/bin/install -c .libs/libcurl.lai /home/peter/result/lib/libcurl.la
libtool: install: /usr/bin/install -c .libs/libcurl.a /home/peter/result/lib/libcurl.a
libtool: install: chmod 644 /home/peter/result/lib/libcurl.a
libtool: install: aarch64-linux-gnu-ranlib /home/peter/result/lib/libcurl.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /home/peter/result/lib
----------------------------------------------------------------------
Libraries have been installed in:
/home/peter/result/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/peter/curl-8.16.0/lib'
make[1]: Leaving directory '/home/peter/curl-8.16.0/lib'
Making install in docs
make[1]: Entering directory '/home/peter/curl-8.16.0/docs'
Making install in .
make[2]: Entering directory '/home/peter/curl-8.16.0/docs'
make[3]: Entering directory '/home/peter/curl-8.16.0/docs'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/man/man1'
/usr/bin/install -c -m 644 curl-config.1 wcurl.1 '/home/peter/result/share/man/man1'
make[3]: Leaving directory '/home/peter/curl-8.16.0/docs'
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs'
Making install in cmdline-opts
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[3]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/man/man1'
/usr/bin/install -c -m 644 curl.1 '/home/peter/result/share/man/man1'
make[3]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
Making install in libcurl
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
Making install in opts
make[3]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl/
[command output truncated]
ng directory '/home/peter/curl-8.16.0/docs/libcurl/opts'
make[5]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl/opts'
make[5]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
make[6]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
make[6]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/aclocal'
/usr/bin/install -c -m 644 libcurl.m4 '/home/peter/result/share/aclocal'
/usr/bin/mkdir -p '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_easy_cleanup.3 curl_easy_duphandle.3 curl_easy_escape.3 curl_easy_getinfo.3 curl_easy_header.3 curl_easy_init.3 curl_easy_nextheader.3 curl_easy_option_by_id.3 curl_easy_option_by_name.3 curl_easy_option_next.3 curl_easy_pause.3 curl_easy_perform.3 curl_easy_recv.3 curl_easy_reset.3 curl_easy_send.3 curl_easy_setopt.3 curl_easy_ssls_export.3 curl_easy_ssls_import.3 curl_easy_strerror.3 curl_easy_unescape.3 curl_easy_upkeep.3 curl_escape.3 curl_formadd.3 curl_formfree.3 curl_formget.3 curl_free.3 curl_getdate.3 curl_getenv.3 curl_global_cleanup.3 curl_global_init.3 curl_global_init_mem.3 curl_global_sslset.3 curl_global_trace.3 curl_mime_addpart.3 curl_mime_data.3 curl_mime_data_cb.3 curl_mime_encoder.3 curl_mime_filedata.3 curl_mime_filename.3 curl_mime_free.3 '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_mime_headers.3 curl_mime_init.3 curl_mime_name.3 curl_mime_subparts.3 curl_mime_type.3 curl_mprintf.3 curl_multi_add_handle.3 curl_multi_assign.3 curl_multi_cleanup.3 curl_multi_fdset.3 curl_multi_get_handles.3 curl_multi_get_offt.3 curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 curl_multi_poll.3 curl_multi_remove_handle.3 curl_multi_setopt.3 curl_multi_socket.3 curl_multi_socket_action.3 curl_multi_socket_all.3 curl_multi_strerror.3 curl_multi_timeout.3 curl_multi_wait.3 curl_multi_waitfds.3 curl_multi_wakeup.3 curl_pushheader_byname.3 curl_pushheader_bynum.3 curl_share_cleanup.3 curl_share_init.3 curl_share_setopt.3 curl_share_strerror.3 curl_slist_append.3 curl_slist_free_all.3 curl_strequal.3 curl_strnequal.3 curl_unescape.3 curl_url.3 curl_url_cleanup.3 curl_url_dup.3 '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_url_get.3 curl_url_set.3 curl_url_strerror.3 curl_version.3 curl_version_info.3 curl_ws_meta.3 curl_ws_recv.3 curl_ws_send.3 curl_ws_start_frame.3 libcurl-easy.3 libcurl-env-dbg.3 libcurl-env.3 libcurl-errors.3 libcurl-multi.3 libcurl-security.3 libcurl-share.3 libcurl-symbols.3 libcurl-thread.3 libcurl-tutorial.3 libcurl-url.3 libcurl-ws.3 libcurl.3 '/home/peter/result/share/man/man3'
make[6]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[5]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[4]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[3]: Leaving directory '/home/peter/curl-8.16.0'
make[2]: Leaving directory '/home/peter/curl-8.16.0'
make[1]: Leaving directory '/home/peter/curl-8.16.0'
↓ 72 lines
Making install in lib
make[1]: Entering directory '/home/peter/curl-8.16.0/lib'
make[2]: Entering directory '/home/peter/curl-8.16.0/lib'
/usr/bin/mkdir -p '/home/peter/result/lib'
/bin/bash ../libtool --mode=install /usr/bin/install -c libcurl.la '/home/peter/result/lib'
libtool: install: /usr/bin/install -c .libs/libcurl.lai /home/peter/result/lib/libcurl.la
libtool: install: /usr/bin/install -c .libs/libcurl.a /home/peter/result/lib/libcurl.a
libtool: install: chmod 644 /home/peter/result/lib/libcurl.a
libtool: install: aarch64-linux-gnu-ranlib /home/peter/result/lib/libcurl.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /home/peter/result/lib
----------------------------------------------------------------------
Libraries have been installed in:
/home/peter/result/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/peter/curl-8.16.0/lib'
make[1]: Leaving directory '/home/peter/curl-8.16.0/lib'
Making install in docs
make[1]: Entering directory '/home/peter/curl-8.16.0/docs'
Making install in .
make[2]: Entering directory '/home/peter/curl-8.16.0/docs'
make[3]: Entering directory '/home/peter/curl-8.16.0/docs'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/man/man1'
/usr/bin/install -c -m 644 curl-config.1 wcurl.1 '/home/peter/result/share/man/man1'
make[3]: Leaving directory '/home/peter/curl-8.16.0/docs'
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs'
Making install in cmdline-opts
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[3]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/man/man1'
/usr/bin/install -c -m 644 curl.1 '/home/peter/result/share/man/man1'
make[3]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
Making install in libcurl
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
Making install in opts
make[3]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl/
[command output truncated]
ng directory '/home/peter/curl-8.16.0/docs/libcurl/opts'
make[5]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl/opts'
make[5]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
make[6]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
make[6]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/peter/result/share/aclocal'
/usr/bin/install -c -m 644 libcurl.m4 '/home/peter/result/share/aclocal'
/usr/bin/mkdir -p '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_easy_cleanup.3 curl_easy_duphandle.3 curl_easy_escape.3 curl_easy_getinfo.3 curl_easy_header.3 curl_easy_init.3 curl_easy_nextheader.3 curl_easy_option_by_id.3 curl_easy_option_by_name.3 curl_easy_option_next.3 curl_easy_pause.3 curl_easy_perform.3 curl_easy_recv.3 curl_easy_reset.3 curl_easy_send.3 curl_easy_setopt.3 curl_easy_ssls_export.3 curl_easy_ssls_import.3 curl_easy_strerror.3 curl_easy_unescape.3 curl_easy_upkeep.3 curl_escape.3 curl_formadd.3 curl_formfree.3 curl_formget.3 curl_free.3 curl_getdate.3 curl_getenv.3 curl_global_cleanup.3 curl_global_init.3 curl_global_init_mem.3 curl_global_sslset.3 curl_global_trace.3 curl_mime_addpart.3 curl_mime_data.3 curl_mime_data_cb.3 curl_mime_encoder.3 curl_mime_filedata.3 curl_mime_filename.3 curl_mime_free.3 '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_mime_headers.3 curl_mime_init.3 curl_mime_name.3 curl_mime_subparts.3 curl_mime_type.3 curl_mprintf.3 curl_multi_add_handle.3 curl_multi_assign.3 curl_multi_cleanup.3 curl_multi_fdset.3 curl_multi_get_handles.3 curl_multi_get_offt.3 curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 curl_multi_poll.3 curl_multi_remove_handle.3 curl_multi_setopt.3 curl_multi_socket.3 curl_multi_socket_action.3 curl_multi_socket_all.3 curl_multi_strerror.3 curl_multi_timeout.3 curl_multi_wait.3 curl_multi_waitfds.3 curl_multi_wakeup.3 curl_pushheader_byname.3 curl_pushheader_bynum.3 curl_share_cleanup.3 curl_share_init.3 curl_share_setopt.3 curl_share_strerror.3 curl_slist_append.3 curl_slist_free_all.3 curl_strequal.3 curl_strnequal.3 curl_unescape.3 curl_url.3 curl_url_cleanup.3 curl_url_dup.3 '/home/peter/result/share/man/man3'
/usr/bin/install -c -m 644 curl_url_get.3 curl_url_set.3 curl_url_strerror.3 curl_version.3 curl_version_info.3 curl_ws_meta.3 curl_ws_recv.3 curl_ws_send.3 curl_ws_start_frame.3 libcurl-easy.3 libcurl-env-dbg.3 libcurl-env.3 libcurl-errors.3 libcurl-multi.3 libcurl-security.3 libcurl-share.3 libcurl-symbols.3 libcurl-thread.3 libcurl-tutorial.3 libcurl-url.3 libcurl-ws.3 libcurl.3 '/home/peter/result/share/man/man3'
make[6]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[5]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[4]: Leaving directory '/home/peter/curl-8.16.0/docs/libcurl'
make[3]: Leaving directory '/home/peter/curl-8.16.0'
make[2]: Leaving directory '/home/peter/curl-8.16.0'
make[1]: Leaving directory '/home/peter/curl-8.16.0'
compile-bench> ls -l /home/peter/result/bin || true total 5956
-rwxr-xr-x 1 peter peter 6077160 Sep 16 21:48 curl
-rwxr-xr-x 1 peter peter 5512 Sep 16 21:48 curl-config
-rwxr-xr-x 1 peter peter 10622 Sep 16 21:48 wcurl
↓ 5 lines
total 5956 -rwxr-xr-x 1 peter peter 6077160 Sep 16 21:48 curl -rwxr-xr-x 1 peter peter 5512 Sep 16 21:48 curl-config -rwxr-xr-x 1 peter peter 10622 Sep 16 21:48 wcurl
compile-bench> file /home/peter/result/bin/curl && aarch64-linux-gnu-readelf -h /home/peter/result/bin/curl | sed -n '1,120p' || true /home/peter/result/bin/curl: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=55bda4796d36da9a5510b7fb098865dbc2cc3da4, for GNU/Linux 3.7.0, not stripped
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Position-Independent Executable file)
Machine: AArch64
Version: 0x1
Entry point address: 0x7e380
Start of program headers: 64 (bytes into file)
Start of section headers: 6075304 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 9
Size of section headers: 64 (bytes)
Number of section headers: 29
Section header string table index: 28
↓ 22 lines
/home/peter/result/bin/curl: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=55bda4796d36da9a5510b7fb098865dbc2cc3da4, for GNU/Linux 3.7.0, not stripped ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: DYN (Position-Independent Executable file) Machine: AArch64 Version: 0x1 Entry point address: 0x7e380 Start of program headers: 64 (bytes into file) Start of section headers: 6075304 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 9 Size of section headers: 64 (bytes) Number of section headers: 29 Section header string table index: 28
compile-bench> cd /home/peter/curl-8.16.0 && make clean && make -j$(nproc) LDFLAGS="-L/home/peter/aarch64/lib -static" V=1 Making clean in lib
make[1]: Entering directory '/home/peter/curl-8.16.0/lib'
test -z "unitprotos.h" || rm -f unitprotos.h
test -z "libcurl.la" || rm -f libcurl.la
rm -f ./so_locations
rm -rf .libs _libs
rm -rf curlx/.libs curlx/_libs
rm -rf vauth/.libs vauth/_libs
rm -rf vquic/.libs vquic/_libs
rm -rf vssh/.libs vssh/_libs
rm -rf vtls/.libs vtls/_libs
test -z "libcurlu.la" || rm -f libcurlu.la
rm -f ./so_locations
rm -f *.o
rm -f curlx/*.o
rm -f curlx/*.lo
rm -f vauth/*.o
rm -f vauth/*.lo
rm -f vquic/*.o
rm -f vquic/*.lo
rm -f vssh/*.o
rm -f vssh/*.lo
rm -f vtls/*.o
rm -f vtls/*.lo
rm -f *.lo
make[1]: Leaving directory '/home/peter/curl-8.16.0/lib'
Making clean in docs
make[1]: Entering directory '/home/peter/curl-8.16.0/docs'
Making clean in .
make[2]: Entering directory '/home/peter/curl-8.16.0/docs'
test -z "mk-ca-bundle.1 curl-config.1 wcurl.1 runtests.1 testcurl.1" || rm -f mk-ca-bundle.1 curl-config.1 wcurl.1 runtests.1 testcurl.1
rm -rf .libs _libs
rm -f *.lo
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs'
Making clean in cmdline-opts
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
test -z "curl.1 curl.txt" || rm -f curl.1 curl.txt
rm -rf .libs _libs
rm -f *.lo
make[2]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts'
Making clean in libcurl
make[2]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl'
Making clean in opts
make[3]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl/opts'
test -z "CURLINFO_ACTIVESOCKET.3 CURLINFO_APPCONNECT_TIME.3 CURLINFO_APPCONNECT_TIME_T.3 CURLINFO_CAINFO.3 CURLINFO_CAPATH.3 CURLINFO_CERTINFO.3 CURLINFO_CONDITION_UNMET.3 CURLINFO_CONNECT_TIME.3 CURLINFO_CONN_ID.3 CURLINFO_CONNECT_TIME_T.3 CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 CURLINFO_CONTENT_LENGTH_UPLOAD.3 CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 CURLINFO_CONTENT_TYPE.3 CURLINFO_COOKIELIST.3 CURLINFO_EARLYDATA_SENT_T.3 CURLINFO_EFFECTIVE_METHOD.3 CURLINFO_EFFECTIVE_URL.3 CURLINFO_FILETIME.3 CURLINFO_FILETIME_T.3 CURLINFO_FTP_ENTRY_PATH.3 CURLINFO_HEADER_SIZE.3 CURLINFO_HTTP_CONNECTCODE.3 CURLINFO_HTTP_VERSION.3 CURLINFO_HTTPAUTH_AVAIL.3 CURLINFO_HTTPAUTH_USED.3 CURLINFO_LASTSOCKET.3 CURLINFO_LOCAL_IP.3 CURLINFO_LOCAL_PORT.3 CURLINFO_NAMELOOKUP_TIME.3 CURLINFO_NAMELOOKUP_TIME_T.3 CURLINFO_NUM_CONNECTS.3 CURLINFO_OS_ERRNO.3 CURLINFO_PRETRANSFER_TIME.3 CURLINFO_PRETRANSFER_TIME_T.3 CURLINFO_POSTTRANSFER_TIME_T.3 CURLINFO_PRIMARY_IP.3 CURLINFO_PRIMARY_PORT.3 CURLINFO_PRIVATE.3 CURLINFO_PROTOCOL.3 CURLINFO_PROXY_ERROR.3 CURLINFO_PROXY_SSL_VERIFYRESULT.3 CURLINFO_PROXYAUTH_AVAIL.3 CURLINFO_PROXYAUTH_USED.3 CURLINFO_QUEUE_TIME_T.3 CURLINFO_REDIRECT_COUNT.3 CURLINFO_REDIRECT_TIME.3 CURLINFO_REDIRECT_TIME_T.3 CURLINFO_REDIRECT_URL.3 CURLINFO_REFERER.3 CURLINFO_REQUEST_SIZE.3 CURLINFO_RESPONSE_CODE.3 CURLINFO_RETRY_AFTER.3 CURLINFO_RTSP_CLIENT_CSEQ.3 CURLINFO_RTSP_CSEQ_RECV.3 CURLINFO_RTSP_SERVER_CSEQ.3 CURLINFO_RTSP_SESSION_ID.3 CUR
[command output truncated]
td -lbrotlidec -lbrotlidec -lbrotlicommon -lz
libtool: link: aarch64-linux-gnu-gcc -Werror-implicit-function-declaration -O2 -Wno-system-headers -o curl curl-config2setopts.o curl-slist_wc.o curl-terminal.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_soc.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_findfile.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_ipfs.o curl-tool_libinfo.o curl-tool_listhelp.o curl-tool_main.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_progress.o curl-tool_setopt.o curl-tool_ssls.o curl-tool_stderr.o curl-tool_strdup.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_writeout_json.o curl-tool_xattr.o curl-var.o curl-tool_hugehelp.o curl-tool_ca_embed.o -L/home/peter/aarch64/lib ../lib/.libs/libcurl.a -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz
libtool: link: aarch64-linux-gnu-ar cr .libs/libcurltool.a libcurltool_la-config2setopts.o libcurltool_la-slist_wc.o libcurltool_la-terminal.o libcurltool_la-tool_bname.o libcurltool_la-tool_cb_dbg.o libcurltool_la-tool_cb_hdr.o libcurltool_la-tool_cb_prg.o libcurltool_la-tool_cb_rea.o libcurltool_la-tool_cb_see.o libcurltool_la-tool_cb_soc.o libcurltool_la-tool_cb_wrt.o libcurltool_la-tool_cfgable.o libcurltool_la-tool_dirhie.o libcurltool_la-tool_doswin.o libcurltool_la-tool_easysrc.o libcurltool_la-tool_filetime.o libcurltool_la-tool_findfile.o libcurltool_la-tool_formparse.o libcurltool_la-tool_getparam.o libcurltool_la-tool_getpass.o libcurltool_la-tool_help.o libcurltool_la-tool_helpers.o libcurltool_la-tool_ipfs.o libcurltool_la-tool_libinfo.o libcurltool_la-tool_listhelp.o libcurltool_la-tool_main.o libcurltool_la-tool_msgs.o libcurltool_la-tool_operate.o libcurltool_la-tool_operhlp.o libcurltool_la-tool_paramhlp.o libcurltool_la-tool_parsecfg.o libcurltool_la-tool_progress.o libcurltool_la-tool_setopt.o libcurltool_la-tool_ssls.o libcurltool_la-tool_stderr.o libcurltool_la-tool_strdup.o libcurltool_la-tool_urlglob.o libcurltool_la-tool_util.o libcurltool_la-tool_vms.o libcurltool_la-tool_writeout.o libcurltool_la-tool_writeout_json.o libcurltool_la-tool_xattr.o libcurltool_la-var.o
libtool: link: aarch64-linux-gnu-ranlib .libs/libcurltool.a
libtool: link: ( cd ".libs" && rm -f "libcurltool.la" && ln -s "../libcurltool.la" "libcurltool.la" )
make[1]: Leaving directory '/home/peter/curl-8.16.0/src'
Making all in scripts
make[1]: Entering directory '/home/peter/curl-8.16.0/scripts'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/peter/curl-8.16.0/scripts'
make[1]: Entering directory '/home/peter/curl-8.16.0'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/peter/curl-8.16.0'
↓ 60 lines
Making clean in lib make[1]: Entering directory '/home/peter/curl-8.16.0/lib' test -z "unitprotos.h" || rm -f unitprotos.h test -z "libcurl.la" || rm -f libcurl.la rm -f ./so_locations rm -rf .libs _libs rm -rf curlx/.libs curlx/_libs rm -rf vauth/.libs vauth/_libs rm -rf vquic/.libs vquic/_libs rm -rf vssh/.libs vssh/_libs rm -rf vtls/.libs vtls/_libs test -z "libcurlu.la" || rm -f libcurlu.la rm -f ./so_locations rm -f *.o rm -f curlx/*.o rm -f curlx/*.lo rm -f vauth/*.o rm -f vauth/*.lo rm -f vquic/*.o rm -f vquic/*.lo rm -f vssh/*.o rm -f vssh/*.lo rm -f vtls/*.o rm -f vtls/*.lo rm -f *.lo make[1]: Leaving directory '/home/peter/curl-8.16.0/lib' Making clean in docs make[1]: Entering directory '/home/peter/curl-8.16.0/docs' Making clean in . make[2]: Entering directory '/home/peter/curl-8.16.0/docs' test -z "mk-ca-bundle.1 curl-config.1 wcurl.1 runtests.1 testcurl.1" || rm -f mk-ca-bundle.1 curl-config.1 wcurl.1 runtests.1 testcurl.1 rm -rf .libs _libs rm -f *.lo make[2]: Leaving directory '/home/peter/curl-8.16.0/docs' Making clean in cmdline-opts make[2]: Entering directory '/home/peter/curl-8.16.0/docs/cmdline-opts' test -z "curl.1 curl.txt" || rm -f curl.1 curl.txt rm -rf .libs _libs rm -f *.lo make[2]: Leaving directory '/home/peter/curl-8.16.0/docs/cmdline-opts' Making clean in libcurl make[2]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl' Making clean in opts make[3]: Entering directory '/home/peter/curl-8.16.0/docs/libcurl/opts' test -z "CURLINFO_ACTIVESOCKET.3 CURLINFO_APPCONNECT_TIME.3 CURLINFO_APPCONNECT_TIME_T.3 CURLINFO_CAINFO.3 CURLINFO_CAPATH.3 CURLINFO_CERTINFO.3 CURLINFO_CONDITION_UNMET.3 CURLINFO_CONNECT_TIME.3 CURLINFO_CONN_ID.3 CURLINFO_CONNECT_TIME_T.3 CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 CURLINFO_CONTENT_LENGTH_UPLOAD.3 CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 CURLINFO_CONTENT_TYPE.3 CURLINFO_COOKIELIST.3 CURLINFO_EARLYDATA_SENT_T.3 CURLINFO_EFFECTIVE_METHOD.3 CURLINFO_EFFECTIVE_URL.3 CURLINFO_FILETIME.3 CURLINFO_FILETIME_T.3 CURLINFO_FTP_ENTRY_PATH.3 CURLINFO_HEADER_SIZE.3 CURLINFO_HTTP_CONNECTCODE.3 CURLINFO_HTTP_VERSION.3 CURLINFO_HTTPAUTH_AVAIL.3 CURLINFO_HTTPAUTH_USED.3 CURLINFO_LASTSOCKET.3 CURLINFO_LOCAL_IP.3 CURLINFO_LOCAL_PORT.3 CURLINFO_NAMELOOKUP_TIME.3 CURLINFO_NAMELOOKUP_TIME_T.3 CURLINFO_NUM_CONNECTS.3 CURLINFO_OS_ERRNO.3 CURLINFO_PRETRANSFER_TIME.3 CURLINFO_PRETRANSFER_TIME_T.3 CURLINFO_POSTTRANSFER_TIME_T.3 CURLINFO_PRIMARY_IP.3 CURLINFO_PRIMARY_PORT.3 CURLINFO_PRIVATE.3 CURLINFO_PROTOCOL.3 CURLINFO_PROXY_ERROR.3 CURLINFO_PROXY_SSL_VERIFYRESULT.3 CURLINFO_PROXYAUTH_AVAIL.3 CURLINFO_PROXYAUTH_USED.3 CURLINFO_QUEUE_TIME_T.3 CURLINFO_REDIRECT_COUNT.3 CURLINFO_REDIRECT_TIME.3 CURLINFO_REDIRECT_TIME_T.3 CURLINFO_REDIRECT_URL.3 CURLINFO_REFERER.3 CURLINFO_REQUEST_SIZE.3 CURLINFO_RESPONSE_CODE.3 CURLINFO_RETRY_AFTER.3 CURLINFO_RTSP_CLIENT_CSEQ.3 CURLINFO_RTSP_CSEQ_RECV.3 CURLINFO_RTSP_SERVER_CSEQ.3 CURLINFO_RTSP_SESSION_ID.3 CUR [command output truncated] td -lbrotlidec -lbrotlidec -lbrotlicommon -lz libtool: link: aarch64-linux-gnu-gcc -Werror-implicit-function-declaration -O2 -Wno-system-headers -o curl curl-config2setopts.o curl-slist_wc.o curl-terminal.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_soc.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_findfile.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_ipfs.o curl-tool_libinfo.o curl-tool_listhelp.o curl-tool_main.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_progress.o curl-tool_setopt.o curl-tool_ssls.o curl-tool_stderr.o curl-tool_strdup.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_writeout_json.o curl-tool_xattr.o curl-var.o curl-tool_hugehelp.o curl-tool_ca_embed.o -L/home/peter/aarch64/lib ../lib/.libs/libcurl.a -lssl -lcrypto -lzstd -lbrotlidec -lbrotlicommon -lz libtool: link: aarch64-linux-gnu-ar cr .libs/libcurltool.a libcurltool_la-config2setopts.o libcurltool_la-slist_wc.o libcurltool_la-terminal.o libcurltool_la-tool_bname.o libcurltool_la-tool_cb_dbg.o libcurltool_la-tool_cb_hdr.o libcurltool_la-tool_cb_prg.o libcurltool_la-tool_cb_rea.o libcurltool_la-tool_cb_see.o libcurltool_la-tool_cb_soc.o libcurltool_la-tool_cb_wrt.o libcurltool_la-tool_cfgable.o libcurltool_la-tool_dirhie.o libcurltool_la-tool_doswin.o libcurltool_la-tool_easysrc.o libcurltool_la-tool_filetime.o libcurltool_la-tool_findfile.o libcurltool_la-tool_formparse.o libcurltool_la-tool_getparam.o libcurltool_la-tool_getpass.o libcurltool_la-tool_help.o libcurltool_la-tool_helpers.o libcurltool_la-tool_ipfs.o libcurltool_la-tool_libinfo.o libcurltool_la-tool_listhelp.o libcurltool_la-tool_main.o libcurltool_la-tool_msgs.o libcurltool_la-tool_operate.o libcurltool_la-tool_operhlp.o libcurltool_la-tool_paramhlp.o libcurltool_la-tool_parsecfg.o libcurltool_la-tool_progress.o libcurltool_la-tool_setopt.o libcurltool_la-tool_ssls.o libcurltool_la-tool_stderr.o libcurltool_la-tool_strdup.o libcurltool_la-tool_urlglob.o libcurltool_la-tool_util.o libcurltool_la-tool_vms.o libcurltool_la-tool_writeout.o libcurltool_la-tool_writeout_json.o libcurltool_la-tool_xattr.o libcurltool_la-var.o libtool: link: aarch64-linux-gnu-ranlib .libs/libcurltool.a libtool: link: ( cd ".libs" && rm -f "libcurltool.la" && ln -s "../libcurltool.la" "libcurltool.la" ) make[1]: Leaving directory '/home/peter/curl-8.16.0/src' Making all in scripts make[1]: Entering directory '/home/peter/curl-8.16.0/scripts' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/peter/curl-8.16.0/scripts' make[1]: Entering directory '/home/peter/curl-8.16.0' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/peter/curl-8.16.0'
Show reasoning
Inspecting object files
I think the object files might exist in the src/.libs directory, but I noticed that earlier, the linking referred to files like 'curl-config2setopts.o,' which aren't from .libs. I should check where the built objects are located. Many object files likely sit in the src/ root directory. During the build process, they may have been created in the src directory as .o files. I should list these src object files to confirm.
compile-bench> cd /home/peter/curl-8.16.0/src && ls -1 *.o | sed -n '1,200p' || true curl-config2setopts.o
curl-slist_wc.o
curl-terminal.o
curl-tool_bname.o
curl-tool_ca_embed.o
curl-tool_cb_dbg.o
curl-tool_cb_hdr.o
curl-tool_cb_prg.o
curl-tool_cb_rea.o
curl-tool_cb_see.o
curl-tool_cb_soc.o
curl-tool_cb_wrt.o
curl-tool_cfgable.o
curl-tool_dirhie.o
curl-tool_doswin.o
curl-tool_easysrc.o
curl-tool_filetime.o
curl-tool_findfile.o
curl-tool_formparse.o
curl-tool_getparam.o
curl-tool_getpass.o
curl-tool_help.o
curl-tool_helpers.o
curl-tool_hugehelp.o
curl-tool_ipfs.o
curl-tool_libinfo.o
curl-tool_listhelp.o
curl-tool_main.o
curl-tool_msgs.o
curl-tool_operate.o
curl-tool_operhlp.o
curl-tool_paramhlp.o
curl-tool_parsecfg.o
curl-tool_progress.o
curl-tool_setopt.o
curl-tool_ssls.o
curl-tool_stderr.o
curl-tool_strdup.o
curl-tool_urlglob.o
curl-tool_util.o
curl-tool_vms.o
curl-tool_writeout.o
curl-tool_writeout_json.o
curl-tool_xattr.o
curl-var.o
curlinfo.o
libcurltool_la-config2setopts.o
libcurltool_la-slist_wc.o
libcurltool_la-terminal.o
libcurltool_la-tool_bname.o
libcurltool_la-tool_cb_dbg.o
libcurltool_la-tool_cb_hdr.o
libcurltool_la-tool_cb_prg.o
libcurltool_la-tool_cb_rea.o
libcurltool_la-tool_cb_see.o
libcurltool_la-tool_cb_soc.o
libcurltool_la-tool_cb_wrt.o
libcurltool_la-tool_cfgable.o
libcurltool_la-tool_dirhie.o
libcurltool_la-tool_doswin.o
libcurltool_la-tool_easysrc.o
libcurltool_la-tool_filetime.o
libcurltool_la-tool_findfile.o
libcurltool_la-tool_formparse.o
libcurltool_la-tool_getparam.o
libcurltool_la-tool_getpass.o
libcurltool_la-tool_help.o
libcurltool_la-tool_helpers.o
libcurltool_la-tool_ipfs.o
libcurltool_la-tool_libinfo.o
libcurltool_la-tool_listhelp.o
libcurltool_la-tool_main.o
libcurltool_la-tool_msgs.o
libcurltool_la-tool_operate.o
libcurltool_la-tool_operhlp.o
libcurltool_la-tool_paramhlp.o
libcurltool_la-tool_parsecfg.o
libcurltool_la-tool_progress.o
libcurltool_la-tool_setopt.o
libcurltool_la-tool_ssls.o
libcurltool_la-tool_stderr.o
libcurltool_la-tool_strdup.o
libcurltool_la-tool_urlglob.o
libcurltool_la-tool_util.o
libcurltool_la-tool_vms.o
libcurltool_la-tool_writeout.o
libcurltool_la-tool_writeout_json.o
libcurltool_la-tool_xattr.o
libcurltool_la-var.o
↓ 90 lines
curl-config2setopts.o curl-slist_wc.o curl-terminal.o curl-tool_bname.o curl-tool_ca_embed.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_soc.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_findfile.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_hugehelp.o curl-tool_ipfs.o curl-tool_libinfo.o curl-tool_listhelp.o curl-tool_main.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_progress.o curl-tool_setopt.o curl-tool_ssls.o curl-tool_stderr.o curl-tool_strdup.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_writeout_json.o curl-tool_xattr.o curl-var.o curlinfo.o libcurltool_la-config2setopts.o libcurltool_la-slist_wc.o libcurltool_la-terminal.o libcurltool_la-tool_bname.o libcurltool_la-tool_cb_dbg.o libcurltool_la-tool_cb_hdr.o libcurltool_la-tool_cb_prg.o libcurltool_la-tool_cb_rea.o libcurltool_la-tool_cb_see.o libcurltool_la-tool_cb_soc.o libcurltool_la-tool_cb_wrt.o libcurltool_la-tool_cfgable.o libcurltool_la-tool_dirhie.o libcurltool_la-tool_doswin.o libcurltool_la-tool_easysrc.o libcurltool_la-tool_filetime.o libcurltool_la-tool_findfile.o libcurltool_la-tool_formparse.o libcurltool_la-tool_getparam.o libcurltool_la-tool_getpass.o libcurltool_la-tool_help.o libcurltool_la-tool_helpers.o libcurltool_la-tool_ipfs.o libcurltool_la-tool_libinfo.o libcurltool_la-tool_listhelp.o libcurltool_la-tool_main.o libcurltool_la-tool_msgs.o libcurltool_la-tool_operate.o libcurltool_la-tool_operhlp.o libcurltool_la-tool_paramhlp.o libcurltool_la-tool_parsecfg.o libcurltool_la-tool_progress.o libcurltool_la-tool_setopt.o libcurltool_la-tool_ssls.o libcurltool_la-tool_stderr.o libcurltool_la-tool_strdup.o libcurltool_la-tool_urlglob.o libcurltool_la-tool_util.o libcurltool_la-tool_vms.o libcurltool_la-tool_writeout.o libcurltool_la-tool_writeout_json.o libcurltool_la-tool_xattr.o libcurltool_la-var.o
Show reasoning
Considering static linking
It looks like I've got a situation where libcurl.a is already included as a static archive. For creating a static binary, directly specifying libcurl.a usually works fine. I think I'm looking at a need to perform manual linking now. I have to confirm that I'm correctly following the steps to ensure everything runs smoothly without any issues. Let's see what the next steps will be in this process!
compile-bench> aarch64-linux-gnu-gcc -static -O2 -Werror-implicit-function-declaration -o /home/peter/result/curl /home/peter/curl-8.16.0/src/*.o /home/peter/curl-8.16.0/lib/.libs/libcurl.a -L/home/peter/aarch64/lib -lssl -lcrypto -lbrotlienc -lbrotlidec -lbrotlicommon -lzstd -lz -ldl -lpthread -lrt -lm || true /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/curlinfo.o: in function `main':
curlinfo.c:(.text.startup+0x0): multiple definition of `main'; /home/peter/curl-8.16.0/src/curl-tool_main.o:tool_main.c:(.text.startup+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-config2setopts.o: in function `config2setopts':
config2setopts.c:(.text+0x1d4): multiple definition of `config2setopts'; /home/peter/curl-8.16.0/src/curl-config2setopts.o:config2setopts.c:(.text+0x1d4): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-slist_wc.o: in function `slist_wc_append':
slist_wc.c:(.text+0x0): multiple definition of `slist_wc_append'; /home/peter/curl-8.16.0/src/curl-slist_wc.o:slist_wc.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-slist_wc.o: in function `slist_wc_free_all':
slist_wc.c:(.text+0x80): multiple definition of `slist_wc_free_all'; /home/peter/curl-8.16.0/src/curl-slist_wc.o:slist_wc.c:(.text+0x80): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-terminal.o: in function `get_terminal_columns':
terminal.c:(.text+0x0): multiple definition of `get_terminal_columns'; /home/peter/curl-8.16.0/src/curl-terminal.o:terminal.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_dbg.o: in function `tool_debug_cb':
tool_cb_dbg.c:(.text+0x0): multiple definition of `tool_debug_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_dbg.o:tool_cb_dbg.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_hdr.o: in function `tool_write_headers':
tool_cb_hdr.c:(.text+0x0): multiple definition of `tool_write_headers'; /home/peter/curl-8.16.0/src/curl-tool_cb_hdr.o:tool_cb_hdr.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_hdr.o: in function `tool_header_cb':
tool_cb_hdr.c:(.text+0xc0): multiple definition of `tool_header_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_hdr.o:tool_cb_hdr.c:(.text+0xc0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_prg.o: in function `tool_progress_cb':
tool_cb_prg.c:(.text+0x0): multiple definition of `tool_progress_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_prg.o:tool_cb_prg.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aa
[command output truncated]
n.c:(.text+0x390): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_xattr.o: in function `fwrite_xattr':
tool_xattr.c:(.text+0x110): multiple definition of `fwrite_xattr'; /home/peter/curl-8.16.0/src/curl-tool_xattr.o:tool_xattr.c:(.text+0x34): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `varcleanup':
var.c:(.text+0x0): multiple definition of `varcleanup'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x0): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `varexpand':
var.c:(.text+0x50): multiple definition of `varexpand'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x50): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `setvariable':
var.c:(.text+0x780): multiple definition of `setvariable'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x780): first defined here
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/curl-tool_findfile.o: in function `findfile':
tool_findfile.c:(.text+0x214): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/lib/.libs/libcurl.a(libcurl_la-netrc.o): in function `Curl_parsenetrc':
netrc.c:(.text+0x910): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/lib/.libs/libcurl.a(libcurl_la-curl_addrinfo.o): in function `Curl_getaddrinfo_ex':
curl_addrinfo.c:(.text+0x74): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_sock.o): in function `BIO_gethostbyname':
bio_sock.c:(.text+0x70): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
↓ 41 lines
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/curlinfo.o: in function `main': curlinfo.c:(.text.startup+0x0): multiple definition of `main'; /home/peter/curl-8.16.0/src/curl-tool_main.o:tool_main.c:(.text.startup+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-config2setopts.o: in function `config2setopts': config2setopts.c:(.text+0x1d4): multiple definition of `config2setopts'; /home/peter/curl-8.16.0/src/curl-config2setopts.o:config2setopts.c:(.text+0x1d4): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-slist_wc.o: in function `slist_wc_append': slist_wc.c:(.text+0x0): multiple definition of `slist_wc_append'; /home/peter/curl-8.16.0/src/curl-slist_wc.o:slist_wc.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-slist_wc.o: in function `slist_wc_free_all': slist_wc.c:(.text+0x80): multiple definition of `slist_wc_free_all'; /home/peter/curl-8.16.0/src/curl-slist_wc.o:slist_wc.c:(.text+0x80): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-terminal.o: in function `get_terminal_columns': terminal.c:(.text+0x0): multiple definition of `get_terminal_columns'; /home/peter/curl-8.16.0/src/curl-terminal.o:terminal.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_dbg.o: in function `tool_debug_cb': tool_cb_dbg.c:(.text+0x0): multiple definition of `tool_debug_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_dbg.o:tool_cb_dbg.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_hdr.o: in function `tool_write_headers': tool_cb_hdr.c:(.text+0x0): multiple definition of `tool_write_headers'; /home/peter/curl-8.16.0/src/curl-tool_cb_hdr.o:tool_cb_hdr.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_hdr.o: in function `tool_header_cb': tool_cb_hdr.c:(.text+0xc0): multiple definition of `tool_header_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_hdr.o:tool_cb_hdr.c:(.text+0xc0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_cb_prg.o: in function `tool_progress_cb': tool_cb_prg.c:(.text+0x0): multiple definition of `tool_progress_cb'; /home/peter/curl-8.16.0/src/curl-tool_cb_prg.o:tool_cb_prg.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aa [command output truncated] n.c:(.text+0x390): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-tool_xattr.o: in function `fwrite_xattr': tool_xattr.c:(.text+0x110): multiple definition of `fwrite_xattr'; /home/peter/curl-8.16.0/src/curl-tool_xattr.o:tool_xattr.c:(.text+0x34): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `varcleanup': var.c:(.text+0x0): multiple definition of `varcleanup'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x0): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `varexpand': var.c:(.text+0x50): multiple definition of `varexpand'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x50): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/libcurltool_la-var.o: in function `setvariable': var.c:(.text+0x780): multiple definition of `setvariable'; /home/peter/curl-8.16.0/src/curl-var.o:var.c:(.text+0x780): first defined here /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup': dso_dlfcn.c:(.text+0x1c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/src/curl-tool_findfile.o: in function `findfile': tool_findfile.c:(.text+0x214): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/lib/.libs/libcurl.a(libcurl_la-netrc.o): in function `Curl_parsenetrc': netrc.c:(.text+0x910): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/curl-8.16.0/lib/.libs/libcurl.a(libcurl_la-curl_addrinfo.o): in function `Curl_getaddrinfo_ex': curl_addrinfo.c:(.text+0x74): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/peter/aarch64/lib/libcrypto.a(libcrypto-lib-bio_sock.o): in function `BIO_gethostbyname': bio_sock.c:(.text+0x70): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking collect2: error: ld returned 1 exit status
Show reasoning
Considering CMake route
I'm thinking about using the CMake route for my current project. I want to create a toolchain file to help manage the build process more effectively. It seems like a good idea because it can simplify configuration across different platforms. I'll need to outline the necessary configurations in the toolchain file. Let’s make sure I get it right to avoid any complications later on!
compile-bench> cat > /home/peter/aarch64.toolchain.cmake << 'EOF'
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_FIND_ROOT_PATH /home/peter/aarch64)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
EOF
cmake --version cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
↓ 4 lines
cmake version 3.22.1 CMake suite maintained and supported by Kitware (kitware.com/cmake).
compile-bench> cd /home/peter/curl-8.16.0 && mkdir -p build-cmake && cd build-cmake && cmake -DCMAKE_TOOLCHAIN_FILE=/home/peter/aarch64.toolchain.cmake -DCMAKE_EXE_LINKER_FLAGS='-static' -DOPENSSL_ROOT_DIR=/home/peter/aarch64 -DOPENSSL_SSL_LIBRARY=/home/peter/aarch64/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=/home/peter/aarch64/lib/libcrypto.a -DBROTLI_ROOT=/home/peter/aarch64 -DZSTD_ROOT=/home/peter/aarch64 -DZLIB_ROOT=/home/peter/aarch64 -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_HTTP3=ON -DCURL_CA_PATH= -DCMAKE_INSTALL_PREFIX=/home/peter/result .. && cmake --build . -j$(nproc) && cmake --install . --strip -- Using CMake version 3.22.1
-- curl version=[8.16.0]
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake platform flags: UNIX GCC CROSS
-- Cross-compiling: Linux/x86_64 -> Linux/aarch64
-- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion
-- Found Perl: /usr/bin/perl (found version "5.34.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3")
-- Looking for OPENSSL_IS_BORINGSSL
-- Looking for OPENSSL_IS_BORINGSSL - not found
-- Looking for OPENSSL_IS_AWSLC
-- Looking for OPENSSL_IS_AWSLC - not found
-- Looking for LIBRESSL_VERSION_NUMBER
-- Looking for LIBRESSL_VERSION_NUMBER - not found
-- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13")
-- Checking for modules 'libbrotlidec;libbrotlicommon'
-- No package 'libbrotlidec' found
-- No package 'libbrotlicommon' found
-- Found Brotli: /home/peter/aarch64/include
-- Checking for module 'libzstd'
-- No package 'libzstd' found
-- Found Zstd: /home/peter/aarch64/include (found version "1.5.5")
-- Looking for SSL_set0_wbio
-- Looking for SSL_set0_wbio - not found
-- Looking for SSL_CTX_set_srp_username
-- Looking for SSL_CTX_set_srp_username - not found
-- Checking for module 'libnghttp2'
-- No package 'libnghttp2' found
-- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY)
-- Checking for modules 'ldap;lber'
-- No package 'ldap' found
-- No package 'lber' found
-- Could NOT find LDAP (missing: LDAP_INCLUDE_DIR LDAP_LIBRARY LDAP_LBER_LIBRARY)
-- LDAP not found. CURL_DISABLE_LDAP set ON
-- LDAP needs to be enabled to support LDAPS
-- Checking for module 'libidn2'
-- No package 'libidn2' found
-- Could NOT find Libidn2 (missing: LIBIDN2_INCLUDE_DIR LIBIDN2_LIBRARY)
-- Checking for module 'libpsl'
-- No package 'libpsl' found
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Libpsl (missing: LIBPSL_INCLUDE_DIR LIBPSL_LIBRARY)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
CMake/FindLibpsl.cmake:69 (find_package_handle_standard_args)
CMakeLists.txt:1319 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeOutput.log".
See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeError.log".
↓ 68 lines
-- Using CMake version 3.22.1 -- curl version=[8.16.0] -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- CMake platform flags: UNIX GCC CROSS -- Cross-compiling: Linux/x86_64 -> Linux/aarch64 -- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion -- Found Perl: /usr/bin/perl (found version "5.34.0") -- Looking for pthread.h -- Looking for pthread.h - found -- 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 -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success -- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3") -- Looking for OPENSSL_IS_BORINGSSL -- Looking for OPENSSL_IS_BORINGSSL - not found -- Looking for OPENSSL_IS_AWSLC -- Looking for OPENSSL_IS_AWSLC - not found -- Looking for LIBRESSL_VERSION_NUMBER -- Looking for LIBRESSL_VERSION_NUMBER - not found -- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13") -- Checking for modules 'libbrotlidec;libbrotlicommon' -- No package 'libbrotlidec' found -- No package 'libbrotlicommon' found -- Found Brotli: /home/peter/aarch64/include -- Checking for module 'libzstd' -- No package 'libzstd' found -- Found Zstd: /home/peter/aarch64/include (found version "1.5.5") -- Looking for SSL_set0_wbio -- Looking for SSL_set0_wbio - not found -- Looking for SSL_CTX_set_srp_username -- Looking for SSL_CTX_set_srp_username - not found -- Checking for module 'libnghttp2' -- No package 'libnghttp2' found -- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY) -- Checking for modules 'ldap;lber' -- No package 'ldap' found -- No package 'lber' found -- Could NOT find LDAP (missing: LDAP_INCLUDE_DIR LDAP_LIBRARY LDAP_LBER_LIBRARY) -- LDAP not found. CURL_DISABLE_LDAP set ON -- LDAP needs to be enabled to support LDAPS -- Checking for module 'libidn2' -- No package 'libidn2' found -- Could NOT find Libidn2 (missing: LIBIDN2_INCLUDE_DIR LIBIDN2_LIBRARY) -- Checking for module 'libpsl' -- No package 'libpsl' found CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Libpsl (missing: LIBPSL_INCLUDE_DIR LIBPSL_LIBRARY) Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) CMake/FindLibpsl.cmake:69 (find_package_handle_standard_args) CMakeLists.txt:1319 (find_package) -- Configuring incomplete, errors occurred! See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeOutput.log". See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeError.log".
Show reasoning
Troubleshooting CMake error
I ran into an issue where CMake couldn't find libpsl. I noticed that, similar to autoconf, I can disable it using '-DWITH_LIBPSL=OFF' or 'CURL_DISABLE_LIBPSL'. First, I should check the curl CMake options, maybe by running 'cmake -LH' or searching for 'libpsl' in CMakeLists. I'll try passing '-DCURL_DISABLE_LIBPSL=ON' or check if I can switch '-DWITH_LIBPSL=OFF' or even try '-DCURL_USE_LIBPSL=OFF'. Let’s see which option works best!
grep: CMakeLists.txt: No such file or directory
compile-bench> grep -n "psl" -R /home/peter/curl-8.16.0/CMake* || true /home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:24:# Find the libpsl library
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:28:# - `LIBPSL_INCLUDE_DIR`: The libpsl include directory.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:29:# - `LIBPSL_LIBRARY`: Path to `libpsl` library.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:33:# - `LIBPSL_FOUND`: System has libpsl.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:34:# - `LIBPSL_INCLUDE_DIRS`: The libpsl include directories.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:35:# - `LIBPSL_LIBRARIES`: The libpsl library names.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:36:# - `LIBPSL_LIBRARY_DIRS`: The libpsl library directories.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:37:# - `LIBPSL_PC_REQUIRES`: The libpsl pkg-config packages.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:39:# - `LIBPSL_VERSION`: Version of libpsl.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:41:set(LIBPSL_PC_REQUIRES "libpsl")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:51: set(Libpsl_FOUND TRUE)
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:53: message(STATUS "Found Libpsl (via pkg-config): ${LIBPSL_INCLUDE_DIRS} (found version \"${LIBPSL_VERSION}\")")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:55: find_path(LIBPSL_INCLUDE_DIR NAMES "libpsl.h")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:56: find_library(LIBPSL_LIBRARY NAMES "psl" "libpsl")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:59: if(LIBPSL_INCLUDE_DIR AND EXISTS "${LIBPSL_INCLUDE_DIR}/libpsl.h")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:61: file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" _version_str REGEX "${_version_regex}")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:69: find_package_handle_standard_args(Libpsl
/home/peter/curl-8.16.0/CMakeLists.txt:1313:# libpsl
/home/peter/curl-8.16.0/CMakeLists.txt:1314:option(CURL_USE_LIBPSL "Use libpsl" ON)
/home/peter/curl-8.16.0/CMakeLists.txt:1319: find_package(Libpsl REQUIRED)
↓ 21 lines
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:24:# Find the libpsl library
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:28:# - `LIBPSL_INCLUDE_DIR`: The libpsl include directory.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:29:# - `LIBPSL_LIBRARY`: Path to `libpsl` library.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:33:# - `LIBPSL_FOUND`: System has libpsl.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:34:# - `LIBPSL_INCLUDE_DIRS`: The libpsl include directories.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:35:# - `LIBPSL_LIBRARIES`: The libpsl library names.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:36:# - `LIBPSL_LIBRARY_DIRS`: The libpsl library directories.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:37:# - `LIBPSL_PC_REQUIRES`: The libpsl pkg-config packages.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:39:# - `LIBPSL_VERSION`: Version of libpsl.
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:41:set(LIBPSL_PC_REQUIRES "libpsl")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:51: set(Libpsl_FOUND TRUE)
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:53: message(STATUS "Found Libpsl (via pkg-config): ${LIBPSL_INCLUDE_DIRS} (found version \"${LIBPSL_VERSION}\")")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:55: find_path(LIBPSL_INCLUDE_DIR NAMES "libpsl.h")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:56: find_library(LIBPSL_LIBRARY NAMES "psl" "libpsl")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:59: if(LIBPSL_INCLUDE_DIR AND EXISTS "${LIBPSL_INCLUDE_DIR}/libpsl.h")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:61: file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" _version_str REGEX "${_version_regex}")
/home/peter/curl-8.16.0/CMake/FindLibpsl.cmake:69: find_package_handle_standard_args(Libpsl
/home/peter/curl-8.16.0/CMakeLists.txt:1313:# libpsl
/home/peter/curl-8.16.0/CMakeLists.txt:1314:option(CURL_USE_LIBPSL "Use libpsl" ON)
/home/peter/curl-8.16.0/CMakeLists.txt:1319: find_package(Libpsl REQUIRED)
Show reasoning
Disabling libpsl in CMake
I found an option, 'CURL_USE_LIBPSL', that is set to default ON. To disable it, I need to pass -DCURL_USE_LIBPSL=OFF. Now, I need to rerun CMake with that option. First, I have to clean the previous build directory named 'build-cmake'. So, I'll remove that directory and then create a new one to run with -DCURL_USE_LIBPSL=OFF. This approach should do the trick!
compile-bench> cd /home/peter/curl-8.16.0 && rm -rf build-cmake && mkdir build-cmake && cd build-cmake && cmake -DCMAKE_TOOLCHAIN_FILE=/home/peter/aarch64.toolchain.cmake -DCMAKE_EXE_LINKER_FLAGS='-static' -DOPENSSL_ROOT_DIR=/home/peter/aarch64 -DOPENSSL_SSL_LIBRARY=/home/peter/aarch64/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=/home/peter/aarch64/lib/libcrypto.a -DBROTLI_ROOT=/home/peter/aarch64 -DZSTD_ROOT=/home/peter/aarch64 -DZLIB_ROOT=/home/peter/aarch64 -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_HTTP3=ON -DCURL_USE_LIBPSL=OFF -DCURL_CA_PATH= -DCMAKE_INSTALL_PREFIX=/home/peter/result .. && cmake --build . -j$(nproc) && cmake --install . --strip -- Using CMake version 3.22.1
-- curl version=[8.16.0]
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake platform flags: UNIX GCC CROSS
-- Cross-compiling: Linux/x86_64 -> Linux/aarch64
-- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion
-- Found Perl: /usr/bin/perl (found version "5.34.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3")
-- Looking for OPENSSL_IS_BORINGSSL
-- Looking for OPENSSL_IS_BORINGSSL - not found
-- Looking for OPENSSL_IS_AWSLC
-- Looking for OPENSSL_IS_AWSLC - not found
-- Looking for LIBRESSL_VERSION_NUMBER
-- Looking for LIBRESSL_VERSION_NUMBER - not found
-- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13")
-- Checking for modules 'libbrotlidec;libbrotlicommon'
-- No package 'libbrotlidec' found
-- No package 'libbrotlicommon' found
-- Found Brotli: /home/peter/aarch64/include
-- Checking for module 'libzstd'
-- No package 'libzstd' found
-- Found Zstd: /home/peter/aarch64/include (found version "1.5.5")
-- Looking for SSL_set0_wbio
-- Looking for SSL_set0_wbio - not found
-- Looking for SSL_CTX_set_srp_username
-- Looking for SSL_CTX_set_srp_username - not found
-- Checking for module 'libnghttp2'
-- No package 'libnghttp2' found
-- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY)
-- Checking for modules 'ldap;lber'
-- No package 'ldap' found
-- No package 'lber' found
-- Could NOT find LDAP (missing: LDAP_INCLUDE_DIR LDAP_LIBRARY LDAP_LBER_LIBRARY)
-- LDAP not found. CURL_DISABLE_LDAP set ON
-- LDAP needs to be enabled to support LDAPS
-- Checking for module 'libidn2'
-- No package 'libidn2' found
-- Could NOT find Libidn2 (missing: LIBIDN2_INCLUDE_DIR LIBIDN2_LIBRARY)
-- Checking for module 'libssh2'
-- No package 'libssh2' found
-- Could NOT find Libssh2 (missing: LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY)
-- Performing Test USE_UNIX_SOCKETS
-- Performing Test USE_UNIX_SOCKETS - Success
CMake Error at CMakeLists.txt:1533 (message):
Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.
-- Configuring incomplete, errors occurred!
See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeOutput.log".
See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeError.log".
↓ 67 lines
-- Using CMake version 3.22.1 -- curl version=[8.16.0] -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- CMake platform flags: UNIX GCC CROSS -- Cross-compiling: Linux/x86_64 -> Linux/aarch64 -- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion -- Found Perl: /usr/bin/perl (found version "5.34.0") -- Looking for pthread.h -- Looking for pthread.h - found -- 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 -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success -- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3") -- Looking for OPENSSL_IS_BORINGSSL -- Looking for OPENSSL_IS_BORINGSSL - not found -- Looking for OPENSSL_IS_AWSLC -- Looking for OPENSSL_IS_AWSLC - not found -- Looking for LIBRESSL_VERSION_NUMBER -- Looking for LIBRESSL_VERSION_NUMBER - not found -- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13") -- Checking for modules 'libbrotlidec;libbrotlicommon' -- No package 'libbrotlidec' found -- No package 'libbrotlicommon' found -- Found Brotli: /home/peter/aarch64/include -- Checking for module 'libzstd' -- No package 'libzstd' found -- Found Zstd: /home/peter/aarch64/include (found version "1.5.5") -- Looking for SSL_set0_wbio -- Looking for SSL_set0_wbio - not found -- Looking for SSL_CTX_set_srp_username -- Looking for SSL_CTX_set_srp_username - not found -- Checking for module 'libnghttp2' -- No package 'libnghttp2' found -- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY) -- Checking for modules 'ldap;lber' -- No package 'ldap' found -- No package 'lber' found -- Could NOT find LDAP (missing: LDAP_INCLUDE_DIR LDAP_LIBRARY LDAP_LBER_LIBRARY) -- LDAP not found. CURL_DISABLE_LDAP set ON -- LDAP needs to be enabled to support LDAPS -- Checking for module 'libidn2' -- No package 'libidn2' found -- Could NOT find Libidn2 (missing: LIBIDN2_INCLUDE_DIR LIBIDN2_LIBRARY) -- Checking for module 'libssh2' -- No package 'libssh2' found -- Could NOT find Libssh2 (missing: LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY) -- Performing Test USE_UNIX_SOCKETS -- Performing Test USE_UNIX_SOCKETS - Success CMake Error at CMakeLists.txt:1533 (message): Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path. -- Configuring incomplete, errors occurred! See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeOutput.log". See also "/home/peter/curl-8.16.0/build-cmake/CMakeFiles/CMakeError.log".
compile-bench> cd /home/peter/curl-8.16.0 && rm -rf build-cmake && mkdir build-cmake && cd build-cmake && cmake -DCMAKE_TOOLCHAIN_FILE=/home/peter/aarch64.toolchain.cmake -DCMAKE_EXE_LINKER_FLAGS='-static' -DOPENSSL_ROOT_DIR=/home/peter/aarch64 -DOPENSSL_SSL_LIBRARY=/home/peter/aarch64/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=/home/peter/aarch64/lib/libcrypto.a -DBROTLI_ROOT=/home/peter/aarch64 -DZSTD_ROOT=/home/peter/aarch64 -DZLIB_ROOT=/home/peter/aarch64 -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_HTTP3=ON -DCURL_USE_LIBPSL=OFF -DCURL_CA_PATH=none -DCMAKE_INSTALL_PREFIX=/home/peter/result .. && cmake --build . -j$(nproc) && cmake --install . --strip -- Using CMake version 3.22.1
-- curl version=[8.16.0]
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake platform flags: UNIX GCC CROSS
-- Cross-compiling: Linux/x86_64 -> Linux/aarch64
-- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion
-- Found Perl: /usr/bin/perl (found version "5.34.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3")
-- Looking for OPENSSL_IS_BORINGSSL
-- Looking for OPENSSL_IS_BORINGSSL - not found
-- Looking for OPENSSL_IS_AWSLC
-- Looking for OPENSSL_IS_AWSLC - not found
-- Looking for LIBRESSL_VERSION_NUMBER
-- Looking for LIBRESSL_VERSION_NUMBER - not found
-- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13")
-- Checking for modules 'libbrotlidec;libbrotlicommon'
-- No package 'libbrotlidec' found
-- No package 'libbrotlicommon' found
-- Found Brotli: /home/peter/aarch64/include
-- Checking for module 'libzstd'
-- No package 'libzstd' found
-- Found Zstd: /home/peter/aarch64/include (found version "1.5.5")
-- Looking for SSL_set0_wbio
-- Looking for SSL_set0_wbio - not found
-- Looking for SSL_CTX_set_srp_username
-- Looking for SSL_CTX_set_srp_username - not found
-- Checking for
[command output truncated]
lding C object src/CMakeFiles/curl.dir/tool_cb_hdr.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_prg.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_rea.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_see.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_soc.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_wrt.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cfgable.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_dirhie.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_doswin.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_easysrc.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_filetime.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_findfile.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_formparse.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_getparam.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_getpass.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_help.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_helpers.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_ipfs.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_libinfo.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_listhelp.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_main.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_msgs.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_operate.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_operhlp.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_paramhlp.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_parsecfg.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_progress.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_setopt.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_ssls.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_stderr.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_strdup.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_urlglob.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_util.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_vms.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_writeout.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_writeout_json.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_xattr.c.o
[100%] Building C object src/CMakeFiles/curl.dir/var.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_hugehelp.c.o
[100%] Linking C executable curl
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: attempted static link of dynamic object `/home/peter/aarch64/lib/libz.so'
collect2: error: ld returned 1 exit status
gmake[2]: *** [src/CMakeFiles/curl.dir/build.make:806: src/curl] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:852: src/CMakeFiles/curl.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
↓ 90 lines
-- Using CMake version 3.22.1 -- curl version=[8.16.0] -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- CMake platform flags: UNIX GCC CROSS -- Cross-compiling: Linux/x86_64 -> Linux/aarch64 -- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion -- Found Perl: /usr/bin/perl (found version "5.34.0") -- Looking for pthread.h -- Looking for pthread.h - found -- 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 -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success -- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3") -- Looking for OPENSSL_IS_BORINGSSL -- Looking for OPENSSL_IS_BORINGSSL - not found -- Looking for OPENSSL_IS_AWSLC -- Looking for OPENSSL_IS_AWSLC - not found -- Looking for LIBRESSL_VERSION_NUMBER -- Looking for LIBRESSL_VERSION_NUMBER - not found -- Found ZLIB: /home/peter/aarch64/lib/libz.so (found version "1.2.13") -- Checking for modules 'libbrotlidec;libbrotlicommon' -- No package 'libbrotlidec' found -- No package 'libbrotlicommon' found -- Found Brotli: /home/peter/aarch64/include -- Checking for module 'libzstd' -- No package 'libzstd' found -- Found Zstd: /home/peter/aarch64/include (found version "1.5.5") -- Looking for SSL_set0_wbio -- Looking for SSL_set0_wbio - not found -- Looking for SSL_CTX_set_srp_username -- Looking for SSL_CTX_set_srp_username - not found -- Checking for [command output truncated] lding C object src/CMakeFiles/curl.dir/tool_cb_hdr.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_prg.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_rea.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_see.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_soc.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_wrt.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cfgable.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_dirhie.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_doswin.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_easysrc.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_filetime.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_findfile.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_formparse.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_getparam.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_getpass.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_help.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_helpers.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_ipfs.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_libinfo.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_listhelp.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_main.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_msgs.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_operate.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_operhlp.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_paramhlp.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_parsecfg.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_progress.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_setopt.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_ssls.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_stderr.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_strdup.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_urlglob.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_util.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_vms.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_writeout.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_writeout_json.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_xattr.c.o [100%] Building C object src/CMakeFiles/curl.dir/var.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_hugehelp.c.o [100%] Linking C executable curl /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: attempted static link of dynamic object `/home/peter/aarch64/lib/libz.so' collect2: error: ld returned 1 exit status gmake[2]: *** [src/CMakeFiles/curl.dir/build.make:806: src/curl] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:852: src/CMakeFiles/curl.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2
Show reasoning
Rebuilding with CMake
I'm focusing on rerunning CMake, which means I need to remove the existing build files for CMake. After that, I’ll rebuild the project while making sure to specify the use of explicit static libraries. It’s important to get this right, as having the proper setup can really affect how everything runs. I just want to make sure I'm following the steps correctly to avoid any errors down the road!
compile-bench> cd /home/peter/curl-8.16.0 && rm -rf build-cmake && mkdir build-cmake && cd build-cmake && cmake -DCMAKE_TOOLCHAIN_FILE=/home/peter/aarch64.toolchain.cmake -DCMAKE_EXE_LINKER_FLAGS='-static' -DOPENSSL_ROOT_DIR=/home/peter/aarch64 -DOPENSSL_SSL_LIBRARY=/home/peter/aarch64/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=/home/peter/aarch64/lib/libcrypto.a -DOPENSSL_USE_STATIC_LIBS=TRUE -DBROTLI_ROOT=/home/peter/aarch64 -DBROTLI_LIBRARIES=/home/peter/aarch64/lib/libbrotlidec.a -DBROTLI_INCLUDE_DIR=/home/peter/aarch64/include -DZSTD_ROOT=/home/peter/aarch64 -DZSTD_LIBRARY=/home/peter/aarch64/lib/libzstd.a -DZSTD_INCLUDE_DIR=/home/peter/aarch64/include -DZLIB_ROOT=/home/peter/aarch64 -DZLIB_LIBRARY=/home/peter/aarch64/lib/libz.a -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_HTTP3=ON -DCURL_USE_LIBPSL=OFF -DCURL_CA_PATH=none -DCMAKE_INSTALL_PREFIX=/home/peter/result .. && cmake --build . -j$(nproc) && cmake --install . --strip -- Using CMake version 3.22.1
-- curl version=[8.16.0]
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake platform flags: UNIX GCC CROSS
-- Cross-compiling: Linux/x86_64 -> Linux/aarch64
-- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion
-- Found Perl: /usr/bin/perl (found version "5.34.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3")
-- Looking for OPENSSL_IS_BORINGSSL
-- Looking for OPENSSL_IS_BORINGSSL - not found
-- Looking for OPENSSL_IS_AWSLC
-- Looking for OPENSSL_IS_AWSLC - not found
-- Looking for LIBRESSL_VERSION_NUMBER
-- Looking for LIBRESSL_VERSION_NUMBER - not found
-- Found ZLIB: /home/peter/aarch64/lib/libz.a (found version "1.2.13")
-- Found Brotli: /home/peter/aarch64/include
-- Found Zstd: /home/peter/aarch64/include (found version "1.5.5")
-- Looking for SSL_set0_wbio
-- Looking for SSL_set0_wbio - found
-- Looking for SSL_CTX_set_srp_username
-- Looking for SSL_CTX_set_srp_username - found
-- Checking for module 'libnghttp2'
-- No package 'libnghttp2' found
-- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY)
-- Checking for modules 'ldap;lber'
-- No package 'ldap' found
-- No pack
[command output truncated]
object src/CMakeFiles/curl.dir/tool_cb_dbg.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_prg.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_rea.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_see.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_soc.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_wrt.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_cfgable.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_dirhie.c.o
[ 85%] Building C object src/CMakeFiles/curl.dir/tool_doswin.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_easysrc.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_filetime.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_findfile.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_formparse.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_getparam.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_getpass.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_help.c.o
[ 89%] Building C object src/CMakeFiles/curl.dir/tool_helpers.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_ipfs.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_libinfo.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_listhelp.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_main.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_msgs.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_operate.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_operhlp.c.o
[ 92%] Building C object src/CMakeFiles/curl.dir/tool_paramhlp.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_parsecfg.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_progress.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_setopt.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_ssls.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_stderr.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_strdup.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_urlglob.c.o
[ 96%] Building C object src/CMakeFiles/curl.dir/tool_util.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_vms.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_writeout.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_writeout_json.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_xattr.c.o
[100%] Building C object src/CMakeFiles/curl.dir/var.c.o
[100%] Building C object src/CMakeFiles/curl.dir/tool_hugehelp.c.o
[100%] Linking C executable curl
/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: attempted static link of dynamic object `/home/peter/aarch64/lib/libbrotlidec.so'
collect2: error: ld returned 1 exit status
gmake[2]: *** [src/CMakeFiles/curl.dir/build.make:806: src/curl] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:852: src/CMakeFiles/curl.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
↓ 90 lines
-- Using CMake version 3.22.1 -- curl version=[8.16.0] -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- CMake platform flags: UNIX GCC CROSS -- Cross-compiling: Linux/x86_64 -> Linux/aarch64 -- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion -- Found Perl: /usr/bin/perl (found version "5.34.0") -- Looking for pthread.h -- Looking for pthread.h - found -- 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 -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success -- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3") -- Looking for OPENSSL_IS_BORINGSSL -- Looking for OPENSSL_IS_BORINGSSL - not found -- Looking for OPENSSL_IS_AWSLC -- Looking for OPENSSL_IS_AWSLC - not found -- Looking for LIBRESSL_VERSION_NUMBER -- Looking for LIBRESSL_VERSION_NUMBER - not found -- Found ZLIB: /home/peter/aarch64/lib/libz.a (found version "1.2.13") -- Found Brotli: /home/peter/aarch64/include -- Found Zstd: /home/peter/aarch64/include (found version "1.5.5") -- Looking for SSL_set0_wbio -- Looking for SSL_set0_wbio - found -- Looking for SSL_CTX_set_srp_username -- Looking for SSL_CTX_set_srp_username - found -- Checking for module 'libnghttp2' -- No package 'libnghttp2' found -- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY) -- Checking for modules 'ldap;lber' -- No package 'ldap' found -- No pack [command output truncated] object src/CMakeFiles/curl.dir/tool_cb_dbg.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_prg.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_rea.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_see.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_soc.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cb_wrt.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_cfgable.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_dirhie.c.o [ 85%] Building C object src/CMakeFiles/curl.dir/tool_doswin.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_easysrc.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_filetime.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_findfile.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_formparse.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_getparam.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_getpass.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_help.c.o [ 89%] Building C object src/CMakeFiles/curl.dir/tool_helpers.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_ipfs.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_libinfo.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_listhelp.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_main.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_msgs.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_operate.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_operhlp.c.o [ 92%] Building C object src/CMakeFiles/curl.dir/tool_paramhlp.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_parsecfg.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_progress.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_setopt.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_ssls.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_stderr.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_strdup.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_urlglob.c.o [ 96%] Building C object src/CMakeFiles/curl.dir/tool_util.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_vms.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_writeout.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_writeout_json.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_xattr.c.o [100%] Building C object src/CMakeFiles/curl.dir/var.c.o [100%] Building C object src/CMakeFiles/curl.dir/tool_hugehelp.c.o [100%] Linking C executable curl /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: attempted static link of dynamic object `/home/peter/aarch64/lib/libbrotlidec.so' collect2: error: ld returned 1 exit status gmake[2]: *** [src/CMakeFiles/curl.dir/build.make:806: src/curl] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:852: src/CMakeFiles/curl.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2
compile-bench> cd /home/peter/aarch64/lib && for f in libbrotlienc.so libbrotlidec.so libbrotlicommon.so libzstd.so libz.so libz.so.1 libzstd.so.1 libbrotlienc.so.1 libbrotlidec.so.1 libbrotlicommon.so.1; do if [ -e "$f" ]; then mv "$f" "$f.disabled"; fi; done && ls -l | sed -n '1,240p' total 14628
drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 engines-3
-rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a
lrwxrwxrwx 1 peter peter 24 Sep 16 21:47 libbrotlicommon.a -> libbrotlicommon-static.a
-rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9
lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1.disabled -> libbrotlicommon.so.1.0.9
lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so.disabled -> libbrotlicommon.so.1
-rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a
lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlidec.a -> libbrotlidec-static.a
-rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1.disabled -> libbrotlidec.so.1.0.9
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so.disabled -> libbrotlidec.so.1
-rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a
lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlienc.a -> libbrotlienc-static.a
-rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9
lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1.disabled -> libbrotlienc.so.1.0.9
lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so.disabled -> libbrotlienc.so.1
-rw-r--r-- 1 peter peter 9800734 Sep 16 21:44 libcrypto.a
-rw-r--r-- 1 peter peter 1308484 Sep 16 21:44 libssl.a
-rw-r--r-- 1 peter peter 148694 Sep 16 21:44 libz.a
-rwxr-xr-x 1 peter peter 119520 Sep 16 21:44 libz.so.1.2.13
lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.1.disabled -> libz.so.1.2.13
lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.disabled -> libz.so.1.2.13
-rw-r--r-- 1 peter peter 1036716 Sep 16 21:45 libzstd.a
-rwxr-xr-x 1 peter peter 862952 Sep 16 21:45 libzstd.so.1.5.5
lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.1.disabled -> libzstd.so.1.5.5
lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.disabled -> libzstd.so.1.5.5
drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 ossl-modules
drwxr-xr-x 2 peter peter 4096 Sep 16 21:45 pkgconfig
↓ 30 lines
total 14628 drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 engines-3 -rw-r--r-- 1 peter peter 136780 Sep 16 21:44 libbrotlicommon-static.a lrwxrwxrwx 1 peter peter 24 Sep 16 21:47 libbrotlicommon.a -> libbrotlicommon-static.a -rw-r--r-- 1 peter peter 140400 Sep 16 21:44 libbrotlicommon.so.1.0.9 lrwxrwxrwx 1 peter peter 24 Sep 16 21:45 libbrotlicommon.so.1.disabled -> libbrotlicommon.so.1.0.9 lrwxrwxrwx 1 peter peter 20 Sep 16 21:45 libbrotlicommon.so.disabled -> libbrotlicommon.so.1 -rw-r--r-- 1 peter peter 51872 Sep 16 21:44 libbrotlidec-static.a lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlidec.a -> libbrotlidec-static.a -rw-r--r-- 1 peter peter 48360 Sep 16 21:44 libbrotlidec.so.1.0.9 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlidec.so.1.disabled -> libbrotlidec.so.1.0.9 lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlidec.so.disabled -> libbrotlidec.so.1 -rw-r--r-- 1 peter peter 680112 Sep 16 21:45 libbrotlienc-static.a lrwxrwxrwx 1 peter peter 21 Sep 16 21:47 libbrotlienc.a -> libbrotlienc-static.a -rw-r--r-- 1 peter peter 605784 Sep 16 21:45 libbrotlienc.so.1.0.9 lrwxrwxrwx 1 peter peter 21 Sep 16 21:45 libbrotlienc.so.1.disabled -> libbrotlienc.so.1.0.9 lrwxrwxrwx 1 peter peter 17 Sep 16 21:45 libbrotlienc.so.disabled -> libbrotlienc.so.1 -rw-r--r-- 1 peter peter 9800734 Sep 16 21:44 libcrypto.a -rw-r--r-- 1 peter peter 1308484 Sep 16 21:44 libssl.a -rw-r--r-- 1 peter peter 148694 Sep 16 21:44 libz.a -rwxr-xr-x 1 peter peter 119520 Sep 16 21:44 libz.so.1.2.13 lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.1.disabled -> libz.so.1.2.13 lrwxrwxrwx 1 peter peter 14 Sep 16 21:44 libz.so.disabled -> libz.so.1.2.13 -rw-r--r-- 1 peter peter 1036716 Sep 16 21:45 libzstd.a -rwxr-xr-x 1 peter peter 862952 Sep 16 21:45 libzstd.so.1.5.5 lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.1.disabled -> libzstd.so.1.5.5 lrwxrwxrwx 1 peter peter 16 Sep 16 21:45 libzstd.so.disabled -> libzstd.so.1.5.5 drwxr-xr-x 2 peter peter 4096 Sep 16 21:44 ossl-modules drwxr-xr-x 2 peter peter 4096 Sep 16 21:45 pkgconfig
compile-bench> cd /home/peter/curl-8.16.0 && rm -rf build-cmake && mkdir build-cmake && cd build-cmake && cmake -DCMAKE_TOOLCHAIN_FILE=/home/peter/aarch64.toolchain.cmake -DCMAKE_EXE_LINKER_FLAGS='-static' -DOPENSSL_ROOT_DIR=/home/peter/aarch64 -DOPENSSL_SSL_LIBRARY=/home/peter/aarch64/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=/home/peter/aarch64/lib/libcrypto.a -DOPENSSL_USE_STATIC_LIBS=TRUE -DBROTLI_ROOT=/home/peter/aarch64 -DBROTLI_LIBRARIES=/home/peter/aarch64/lib/libbrotlidec.a -DBROTLI_INCLUDE_DIR=/home/peter/aarch64/include -DZSTD_ROOT=/home/peter/aarch64 -DZSTD_LIBRARY=/home/peter/aarch64/lib/libzstd.a -DZSTD_INCLUDE_DIR=/home/peter/aarch64/include -DZLIB_ROOT=/home/peter/aarch64 -DZLIB_LIBRARY=/home/peter/aarch64/lib/libz.a -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_HTTP3=ON -DCURL_USE_LIBPSL=OFF -DCURL_CA_PATH=none -DCMAKE_INSTALL_PREFIX=/home/peter/result .. && cmake --build . -j$(nproc) && cmake --install . --strip -- Using CMake version 3.22.1
-- curl version=[8.16.0]
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake platform flags: UNIX GCC CROSS
-- Cross-compiling: Linux/x86_64 -> Linux/aarch64
-- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion
-- Found Perl: /usr/bin/perl (found version "5.34.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3")
-- Looking for OPENSSL_IS_BORINGSSL
-- Looking for OPENSSL_IS_BORINGSSL - not found
-- Looking for OPENSSL_IS_AWSLC
-- Looking for OPENSSL_IS_AWSLC - not found
-- Looking for LIBRESSL_VERSION_NUMBER
-- Looking for LIBRESSL_VERSION_NUMBER - not found
-- Found ZLIB: /home/peter/aarch64/lib/libz.a (found version "1.2.13")
-- Found Brotli: /home/peter/aarch64/include
-- Found Zstd: /home/peter/aarch64/include (found version "1.5.5")
-- Looking for SSL_set0_wbio
-- Looking for SSL_set0_wbio - found
-- Looking for SSL_CTX_set_srp_username
-- Looking for SSL_CTX_set_srp_username - found
-- Checking for module 'libnghttp2'
-- No package 'libnghttp2' found
-- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY)
-- Checking for modules 'ldap;lber'
-- No package 'ldap' found
-- No pack
[command output truncated]
alling: /home/peter/result/share/man/man3/CURLOPT_UPLOAD_BUFFERSIZE.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_UPLOAD_FLAGS.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_URL.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_USE_SSL.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_USERAGENT.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_USERNAME.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_USERPWD.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_VERBOSE.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_WILDCARDMATCH.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_WRITEDATA.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_WRITEFUNCTION.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_WS_OPTIONS.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_XFERINFODATA.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_XFERINFOFUNCTION.3
-- Installing: /home/peter/result/share/man/man3/CURLOPT_XOAUTH2_BEARER.3
-- Installing: /home/peter/result/share/man/man3/CURLSHOPT_LOCKFUNC.3
-- Installing: /home/peter/result/share/man/man3/CURLSHOPT_SHARE.3
-- Installing: /home/peter/result/share/man/man3/CURLSHOPT_UNLOCKFUNC.3
-- Installing: /home/peter/result/share/man/man3/CURLSHOPT_UNSHARE.3
-- Installing: /home/peter/result/share/man/man3/CURLSHOPT_USERDATA.3
-- Installing: /home/peter/result/share/man/man1/curl.1
-- Installing: /home/peter/result/share/man/man1/curl-config.1
-- Installing: /home/peter/result/share/man/man1/wcurl.1
-- Installing: /home/peter/result/share/man/man1/runtests.1
-- Installing: /home/peter/result/share/man/man1/testcurl.1
-- Installing: /home/peter/result/lib/libcurl.a
-- Installing: /home/peter/result/bin/curl
-- Installing: /home/peter/result/bin/curl-config
-- Installing: /home/peter/result/lib/pkgconfig/libcurl.pc
-- Up-to-date: /home/peter/result/include/curl
-- Installing: /home/peter/result/include/curl/mprintf.h
-- Installing: /home/peter/result/include/curl/multi.h
-- Installing: /home/peter/result/include/curl/curlver.h
-- Installing: /home/peter/result/include/curl/urlapi.h
-- Installing: /home/peter/result/include/curl/system.h
-- Installing: /home/peter/result/include/curl/easy.h
-- Installing: /home/peter/result/include/curl/header.h
-- Installing: /home/peter/result/include/curl/curl.h
-- Installing: /home/peter/result/include/curl/websockets.h
-- Installing: /home/peter/result/include/curl/typecheck-gcc.h
-- Installing: /home/peter/result/include/curl/stdcheaders.h
-- Installing: /home/peter/result/include/curl/options.h
-- Installing: /home/peter/result/lib/cmake/CURL/CURLTargets.cmake
-- Installing: /home/peter/result/lib/cmake/CURL/CURLTargets-noconfig.cmake
-- Installing: /home/peter/result/lib/cmake/CURL/CURLConfigVersion.cmake
-- Installing: /home/peter/result/lib/cmake/CURL/CURLConfig.cmake
-- Installing: /home/peter/result/bin/wcurl
↓ 92 lines
-- Using CMake version 3.22.1 -- curl version=[8.16.0] -- The C compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- CMake platform flags: UNIX GCC CROSS -- Cross-compiling: Linux/x86_64 -> Linux/aarch64 -- Picky compiler options: -Werror-implicit-function-declaration -W -Wall -pedantic -Wbad-function-cast -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wcast-qual -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wclobbered -Wmissing-parameter-type -Wold-style-declaration -Wpragmas -Wstrict-aliasing=3 -ftree-vrp -Wjump-misses-init -Wdouble-promotion -Wformat=2 -Wtrampolines -Warray-bounds=2 -Wduplicated-cond -Wnull-dereference -fdelete-null-pointer-checks -Wshift-negative-value -Wshift-overflow=2 -Wunused-const-variable -Walloc-zero -Wduplicated-branches -Wformat-truncation=2 -Wimplicit-fallthrough -Wrestrict -Warith-conversion -Wenum-conversion -- Found Perl: /usr/bin/perl (found version "5.34.0") -- Looking for pthread.h -- Looking for pthread.h - found -- 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 -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success -- Found OpenSSL: /home/peter/aarch64/lib/libcrypto.a (found version "3.1.3") -- Looking for OPENSSL_IS_BORINGSSL -- Looking for OPENSSL_IS_BORINGSSL - not found -- Looking for OPENSSL_IS_AWSLC -- Looking for OPENSSL_IS_AWSLC - not found -- Looking for LIBRESSL_VERSION_NUMBER -- Looking for LIBRESSL_VERSION_NUMBER - not found -- Found ZLIB: /home/peter/aarch64/lib/libz.a (found version "1.2.13") -- Found Brotli: /home/peter/aarch64/include -- Found Zstd: /home/peter/aarch64/include (found version "1.5.5") -- Looking for SSL_set0_wbio -- Looking for SSL_set0_wbio - found -- Looking for SSL_CTX_set_srp_username -- Looking for SSL_CTX_set_srp_username - found -- Checking for module 'libnghttp2' -- No package 'libnghttp2' found -- Could NOT find NGHTTP2 (missing: NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY) -- Checking for modules 'ldap;lber' -- No package 'ldap' found -- No pack [command output truncated] alling: /home/peter/result/share/man/man3/CURLOPT_UPLOAD_BUFFERSIZE.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_UPLOAD_FLAGS.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_URL.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_USE_SSL.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_USERAGENT.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_USERNAME.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_USERPWD.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_VERBOSE.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_WILDCARDMATCH.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_WRITEDATA.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_WRITEFUNCTION.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_WS_OPTIONS.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_XFERINFODATA.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_XFERINFOFUNCTION.3 -- Installing: /home/peter/result/share/man/man3/CURLOPT_XOAUTH2_BEARER.3 -- Installing: /home/peter/result/share/man/man3/CURLSHOPT_LOCKFUNC.3 -- Installing: /home/peter/result/share/man/man3/CURLSHOPT_SHARE.3 -- Installing: /home/peter/result/share/man/man3/CURLSHOPT_UNLOCKFUNC.3 -- Installing: /home/peter/result/share/man/man3/CURLSHOPT_UNSHARE.3 -- Installing: /home/peter/result/share/man/man3/CURLSHOPT_USERDATA.3 -- Installing: /home/peter/result/share/man/man1/curl.1 -- Installing: /home/peter/result/share/man/man1/curl-config.1 -- Installing: /home/peter/result/share/man/man1/wcurl.1 -- Installing: /home/peter/result/share/man/man1/runtests.1 -- Installing: /home/peter/result/share/man/man1/testcurl.1 -- Installing: /home/peter/result/lib/libcurl.a -- Installing: /home/peter/result/bin/curl -- Installing: /home/peter/result/bin/curl-config -- Installing: /home/peter/result/lib/pkgconfig/libcurl.pc -- Up-to-date: /home/peter/result/include/curl -- Installing: /home/peter/result/include/curl/mprintf.h -- Installing: /home/peter/result/include/curl/multi.h -- Installing: /home/peter/result/include/curl/curlver.h -- Installing: /home/peter/result/include/curl/urlapi.h -- Installing: /home/peter/result/include/curl/system.h -- Installing: /home/peter/result/include/curl/easy.h -- Installing: /home/peter/result/include/curl/header.h -- Installing: /home/peter/result/include/curl/curl.h -- Installing: /home/peter/result/include/curl/websockets.h -- Installing: /home/peter/result/include/curl/typecheck-gcc.h -- Installing: /home/peter/result/include/curl/stdcheaders.h -- Installing: /home/peter/result/include/curl/options.h -- Installing: /home/peter/result/lib/cmake/CURL/CURLTargets.cmake -- Installing: /home/peter/result/lib/cmake/CURL/CURLTargets-noconfig.cmake -- Installing: /home/peter/result/lib/cmake/CURL/CURLConfigVersion.cmake -- Installing: /home/peter/result/lib/cmake/CURL/CURLConfig.cmake -- Installing: /home/peter/result/bin/wcurl
compile-bench> file /home/peter/result/bin/curl && aarch64-linux-gnu-readelf -h /home/peter/result/bin/curl | sed -n '1,120p' || true /home/peter/result/bin/curl: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=84955c0d57ed83e9c35f88b463151ac6f7f9e28a, for GNU/Linux 3.7.0, stripped
ELF Header:
Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - GNU
ABI Version: 0
Type: EXEC (Executable file)
Machine: AArch64
Version: 0x1
Entry point address: 0x401440
Start of program headers: 64 (bytes into file)
Start of section headers: 6436480 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 6
Size of section headers: 64 (bytes)
Number of section headers: 27
Section header string table index: 26
↓ 22 lines
/home/peter/result/bin/curl: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=84955c0d57ed83e9c35f88b463151ac6f7f9e28a, for GNU/Linux 3.7.0, stripped ELF Header: Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - GNU ABI Version: 0 Type: EXEC (Executable file) Machine: AArch64 Version: 0x1 Entry point address: 0x401440 Start of program headers: 64 (bytes into file) Start of section headers: 6436480 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 6 Size of section headers: 64 (bytes) Number of section headers: 27 Section header string table index: 26
compile-bench> ln -sf /home/peter/result/bin/curl /home/peter/result/curl && ls -l /home/peter/result/curl /home/peter/result/bin/curl -rwxr-xr-x 1 peter peter 6438208 Sep 16 21:52 /home/peter/result/bin/curl
lrwxrwxrwx 1 peter peter 27 Sep 16 21:52 /home/peter/result/curl -> /home/peter/result/bin/curl
↓ 3 lines
-rwxr-xr-x 1 peter peter 6438208 Sep 16 21:52 /home/peter/result/bin/curl lrwxrwxrwx 1 peter peter 27 Sep 16 21:52 /home/peter/result/curl -> /home/peter/result/bin/curl
Show reasoning
Verifying SSL Support
I need to check if it builds with SSL TLS v1.3 support, Brotli, zlib, and zstd. To ensure OpenSSL supports TLS 1.3, running 'curl --version' isn't possible since it would run an aarch64 binary on an x86 host. I could inspect the binary features using 'strings' or 'nm' to find 'TLSv1.3' or check the linking to libssl. Since the binary is statically linked, I should also check 'curl-config' for features, although I can't run that directly. I'll explore directories to find relevant configurations.Confirming OpenSSL and TLS Support
I should start by reviewing the earlier CMake output, which mentioned finding OpenSSL version 3.1.3, and checking for 'SSL_set0_wbio' confirmation. It's good to know OpenSSL v3 supports TLS 1.3 by default. Flutter needs 'OpenSSL >=1.1.1', but I'll verify TLS v1.3 support within curl by examining the config files. I’ll look for 'TLS' in either 'curlver.h' or 'curl_config.h,' and check 'CMakeCache.txt' for OpenSSL settings. If I can't run the curl binary, I might use 'readelf' on it to identify related symbols.Searching for Libraries
I want to run 'strings' and use 'grep' to search for mentions of TLS 1.3, Brotli, zstd, and zlib. This should help me confirm whether these libraries are being referenced correctly in my build. It’s a straightforward way to check if everything's in place without diving too deep into the codebase just yet. I’m hoping this gives me a clearer picture of what’s supported! Let’s see what I can find.
compile-bench> strings /home/peter/result/bin/curl | egrep -i "openssl|tlsv|tls|brotli|zstd|zlib|HTTP2|TLSv1.3|1.3" | sed -n '1,200p' || true Montgomery Multiplication for ARMv8, CRYPTOGAMS by <[email protected]>
ECP_NISTZ256 for ARMv8, CRYPTOGAMS by <[email protected]>
GHASH for ARMv8, CRYPTOGAMS by <[email protected]>
GHASH for ARMv8, CRYPTOGAMS by <[email protected]>
Keccak-1600 absorb and squeeze for ARMv8, CRYPTOGAMS by <[email protected]>
SHA1 block transform for ARMv8, CRYPTOGAMS by <[email protected]>
SHA256 block transform for ARMv8, CRYPTOGAMS by <[email protected]>
SHA512 block transform for ARMv8, CRYPTOGAMS by <[email protected]>
Poly1305 for ARMv8, CRYPTOGAMS by <[email protected]>
CURLOPT_TLS13_CIPHERS
--tls13-ciphers
CURLOPT_PROXY_TLS13_CIPHERS
--proxy-tls13-ciphers
CURLOPT_TLSAUTH_USERNAME
CURLOPT_TLSAUTH_PASSWORD
CURLOPT_TLSAUTH_TYPE
CURLOPT_PROXY_TLSAUTH_USERNAME
CURLOPT_PROXY_TLSAUTH_PASSWORD
CURLOPT_PROXY_TLSAUTH_TYPE
http2
http2-prior-knowledge
proxy-http2
proxy-tls13-ciphers
proxy-tlsauthtype
proxy-tlspassword
proxy-tlsuser
proxy-tlsv1
tls-earlydata
tls-max
tls13-ciphers
tlsauthtype
tlspassword
tlsuser
tlsv1
tlsv1.0
tlsv1.1
tlsv1.2
tlsv1.3
Minimum TLS version set higher than max
--tls-max set lower than minimum accepted version
TLS/SSL related
brotli
HTTP2
TLS-SRP
zstd
TLS 1.2 (1.1, 1.0) ciphers to use
(EC) TLS key exchange algorithms to request
Enable TLS False Start
Require TLS for login, clear for transfer
--http2
--http2-prior-knowledge
Disable the ALPN TLS extension
Disable the NPN TLS extension
TLS 1.2 (1.1, 1.0) ciphers to use for proxy
--proxy-http2
--proxy-tls13-ciphers <list>
TLS 1.3 proxy cipher suites
--proxy-tlsauthtype <type>
TLS authentication type for HTTPS proxy
--proxy-tlspassword <string>
TLS password for HTTPS proxy
--proxy-tlsuser <name>
TLS username for HTTPS proxy
--proxy-tlsv1
TLSv1 for HTTPS proxy
TLS signature algorithms to use
Try enabling TLS
Require SSL/TLS
--tls-earlydata
Allow use of TLSv1.3 early data (0RTT)
[command output truncated]
STARTTLS
STARTTLS denied, code %d
STARTTLS not supported.
UPGRADETLS
OpenSSL CF BIO
unable do create OpenSSL user-interface method
Failed to open OpenSSL store: %s
No private key found in the openssl store: %s
No cert found in the openssl store: %s
BIO_new_mem_buf NULL, OpenSSL error %s
BIO_new return NULL, OpenSSL error %s
could not parse PKCS12 file, check password, OpenSSL error %s
could not load PKCS12 client certificate, OpenSSL error %s
could not load PEM client certificate from %s, OpenSSL error %s, (no key found, wrong pass phrase, or wrong file format?)
could not load ASN1 client certificate from %s, OpenSSL error %s, (no key found, wrong pass phrase, or wrong file format?)
Failed to load default openssl config. Proceeding.
/home/peter/curl-8.16.0/lib/vtls/openssl.c
TLS header
TLS change cipher
TLS alert
TLS handshake
TLS app data
TLS Unknown
TLSv1.0
TLSv1.1
TLSv1.2
TLSv1.3
tls:ossl:x509:share
SSL session not accepted by OpenSSL, continuing without
QUIC needs at least TLS version 1.3
failed setting TLS 1.3 cipher suite: %s
TLS 1.3 cipher selection: %s
Using TLS-SRP username: %s
TLS cert problem: %s
TLS connect error: %s
OpenSSL SSL_connect: %s in connection to %s:%d
OpenSSL SSL_write:early_data: %s, errno %d
OpenSSL SSL_write_early_data: %s, errno %d
OpenSSL SSL_write: %s, errno %d
OpenSSL SSL_read: %s, errno %d
tls-server-end-point:
OpenSSL
openssl
TLS_EMPTY_RENEGOTIATION_INFO_SCSV
TLS_FALLBACK_SCSV
TLS_RSA_WITH_NULL_MD5
TLS_RSA_WITH_NULL_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DH_anon_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DH_anon_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_NULL_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_DH_anon_WITH_AES_128_CBC_SHA256
TLS_DH_anon_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
↓ 141 lines
Montgomery Multiplication for ARMv8, CRYPTOGAMS by <[email protected]> ECP_NISTZ256 for ARMv8, CRYPTOGAMS by <[email protected]> GHASH for ARMv8, CRYPTOGAMS by <[email protected]> GHASH for ARMv8, CRYPTOGAMS by <[email protected]> Keccak-1600 absorb and squeeze for ARMv8, CRYPTOGAMS by <[email protected]> SHA1 block transform for ARMv8, CRYPTOGAMS by <[email protected]> SHA256 block transform for ARMv8, CRYPTOGAMS by <[email protected]> SHA512 block transform for ARMv8, CRYPTOGAMS by <[email protected]> Poly1305 for ARMv8, CRYPTOGAMS by <[email protected]> CURLOPT_TLS13_CIPHERS --tls13-ciphers CURLOPT_PROXY_TLS13_CIPHERS --proxy-tls13-ciphers CURLOPT_TLSAUTH_USERNAME CURLOPT_TLSAUTH_PASSWORD CURLOPT_TLSAUTH_TYPE CURLOPT_PROXY_TLSAUTH_USERNAME CURLOPT_PROXY_TLSAUTH_PASSWORD CURLOPT_PROXY_TLSAUTH_TYPE http2 http2-prior-knowledge proxy-http2 proxy-tls13-ciphers proxy-tlsauthtype proxy-tlspassword proxy-tlsuser proxy-tlsv1 tls-earlydata tls-max tls13-ciphers tlsauthtype tlspassword tlsuser tlsv1 tlsv1.0 tlsv1.1 tlsv1.2 tlsv1.3 Minimum TLS version set higher than max --tls-max set lower than minimum accepted version TLS/SSL related brotli HTTP2 TLS-SRP zstd TLS 1.2 (1.1, 1.0) ciphers to use (EC) TLS key exchange algorithms to request Enable TLS False Start Require TLS for login, clear for transfer --http2 --http2-prior-knowledge Disable the ALPN TLS extension Disable the NPN TLS extension TLS 1.2 (1.1, 1.0) ciphers to use for proxy --proxy-http2 --proxy-tls13-ciphers <list> TLS 1.3 proxy cipher suites --proxy-tlsauthtype <type> TLS authentication type for HTTPS proxy --proxy-tlspassword <string> TLS password for HTTPS proxy --proxy-tlsuser <name> TLS username for HTTPS proxy --proxy-tlsv1 TLSv1 for HTTPS proxy TLS signature algorithms to use Try enabling TLS Require SSL/TLS --tls-earlydata Allow use of TLSv1.3 early data (0RTT) [command output truncated] STARTTLS STARTTLS denied, code %d STARTTLS not supported. UPGRADETLS OpenSSL CF BIO unable do create OpenSSL user-interface method Failed to open OpenSSL store: %s No private key found in the openssl store: %s No cert found in the openssl store: %s BIO_new_mem_buf NULL, OpenSSL error %s BIO_new return NULL, OpenSSL error %s could not parse PKCS12 file, check password, OpenSSL error %s could not load PKCS12 client certificate, OpenSSL error %s could not load PEM client certificate from %s, OpenSSL error %s, (no key found, wrong pass phrase, or wrong file format?) could not load ASN1 client certificate from %s, OpenSSL error %s, (no key found, wrong pass phrase, or wrong file format?) Failed to load default openssl config. Proceeding. /home/peter/curl-8.16.0/lib/vtls/openssl.c TLS header TLS change cipher TLS alert TLS handshake TLS app data TLS Unknown TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3 tls:ossl:x509:share SSL session not accepted by OpenSSL, continuing without QUIC needs at least TLS version 1.3 failed setting TLS 1.3 cipher suite: %s TLS 1.3 cipher selection: %s Using TLS-SRP username: %s TLS cert problem: %s TLS connect error: %s OpenSSL SSL_connect: %s in connection to %s:%d OpenSSL SSL_write:early_data: %s, errno %d OpenSSL SSL_write_early_data: %s, errno %d OpenSSL SSL_write: %s, errno %d OpenSSL SSL_read: %s, errno %d tls-server-end-point: OpenSSL openssl TLS_EMPTY_RENEGOTIATION_INFO_SCSV TLS_FALLBACK_SCSV TLS_RSA_WITH_NULL_MD5 TLS_RSA_WITH_NULL_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DH_anon_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_DH_anon_WITH_AES_256_CBC_SHA TLS_RSA_WITH_NULL_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 TLS_DH_anon_WITH_AES_128_CBC_SHA256 TLS_DH_anon_WITH_AES_256_CBC_SHA256 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
Done — I cross-compiled curl 8.16.0 for aarch64 with OpenSSL (TLS 1.3), brotli, zlib and zstd, installed it to /home/peter/result, and created the requested symlink.
What I did (summary)
- Installed cross-toolchain and build tools.
- Built static/arm64 copies of OpenSSL, zlib, brotli and zstd into /home/peter/aarch64.
- Cross-built curl and installed into /home/peter/result (CMake build used to force a fully static aarch64 binary).
- Created symlink /home/peter/result/curl -> /home/peter/result/bin/curl.
Important paths
- Binary: /home/peter/result/bin/curl
- Symlink: /home/peter/result/curl -> /home/peter/result/bin/curl
- Dependency prefix used while building: /home/peter/aarch64
Verification
- The produced binary is an aarch64 static executable:
- file /home/peter/result/bin/curl
-> ELF 64-bit LSB executable, ARM aarch64, statically linked
- The binary contains TLS v1.3 and the compression libs (checked via strings):
- strings /home/peter/result/bin/curl | egrep -i "openssl|tlsv1.3|brotli|zstd|zlib"
-> shows occurrences of TLSv1.3, OpenSSL, brotli, zstd and zlib symbols/strings
Notes
- The binary is a statically linked aarch64 executable — it will not execute natively on an x86_64 host. To run it you need an aarch64 runtime (or an emulator).
- If you want a dynamic (shared) build instead, or wish to enable/disable further features (nghttp2, ngtcp2/HTTP3, libidn2, libpsl, etc.), I can rebuild with those options.
If you want, I can:
- Provide the exact build commands / full build log.
- Package the /home/peter/result directory into a tarball for download.
- Rebuild with additional/alternate TLS or compression backends.
task failed: curl HTTPS request to google.com did not return content-type: text/html but instead: } [2 bytes data] * SSL certificate problem: unable to get local issuer certificate 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the webpage mentioned above.