| Cost | $0.310 |
| Total elapsed time | 2m7s |
| LLM inference time | 1m35s |
| Command execution time | 32s |
| Commands executed | 29 |
All details >
| Attempt ID | tyxzw6d28m2ey | Attempt group | run-16-09-22-05 |
| Revision | fb5c74bd2fee | AWS Instance | m8i.2xlarge |
| Start time | 2025-09-16T21:54:03.035Z | End time | 2025-09-16T21:56:17.061Z |
| Task | jq-windows | Environment | ubuntu-22.04-amd64-wine |
| Model | | OpenRouter slug | anthropic/claude-sonnet-4 |
| Temperature | 1 | Explicit prompt caching | true |
| User msg after tool call | false | Max tool calls | 100 |
| Total timeout seconds | 2400 | Single command timeout | 1200 |
| Cost | $0.310 | Duration | 2m7s |
| LLM inference time | 1m35s | Command execution time | 32s |
| Final context tokens | 23,378 | Total output tokens | 3,305 |
| Output reasoning tokens | 0 | Messages | 61 |
| Assistant messages | 30 | User messages | 1 |
| System messages | 1 | Commands executed | 29 |
jq 1.8.1 is a command-line JSON utility for viewing and transforming JSON.
Project link: github.com/jqlang/jq
Task:
Compile and install jq to a specific location. Cross-compile to Windows, link it statically.
Difficulties:
Cross-compilation to Windows, setting up the cross-compilation toolchain (compilers, etc), making sure that there are no dynamic libraries.
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 jq v1.8.1 source code at jq.tar.gz. Please compile the jq package for amd64 Windows and install it to /home/peter/result/jq.exe. Build it statically.
I'll help you compile jq v1.8.1 for amd64 Windows and install it statically. Let me start by extracting the source code and setting up the cross-compilation environment.
compile-bench> ls -la total 2004
drwxr-x--- 1 peter peter 4096 Sep 16 21:54 .
drwxr-xr-x 1 root root 4096 Sep 15 11:21 ..
-rw-r--r-- 1 peter peter 220 Jan 6 2022 .bash_logout
-rw-r--r-- 1 peter peter 3771 Jan 6 2022 .bashrc
-rw-r--r-- 1 peter peter 807 Jan 6 2022 .profile
-rw-r--r-- 1 peter peter 2026798 Sep 16 21:54 jq.tar.gz
↓ 8 lines
total 2004 drwxr-x--- 1 peter peter 4096 Sep 16 21:54 . drwxr-xr-x 1 root root 4096 Sep 15 11:21 .. -rw-r--r-- 1 peter peter 220 Jan 6 2022 .bash_logout -rw-r--r-- 1 peter peter 3771 Jan 6 2022 .bashrc -rw-r--r-- 1 peter peter 807 Jan 6 2022 .profile -rw-r--r-- 1 peter peter 2026798 Sep 16 21:54 jq.tar.gz
[empty output]
compile-bench> ls -la total 2008
drwxr-x--- 1 peter peter 4096 Sep 16 21:54 .
drwxr-xr-x 1 root root 4096 Sep 15 11:21 ..
-rw-r--r-- 1 peter peter 220 Jan 6 2022 .bash_logout
-rw-r--r-- 1 peter peter 3771 Jan 6 2022 .bashrc
-rw-r--r-- 1 peter peter 807 Jan 6 2022 .profile
drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 jq-1.8.1
-rw-r--r-- 1 peter peter 2026798 Sep 16 21:54 jq.tar.gz
↓ 9 lines
total 2008 drwxr-x--- 1 peter peter 4096 Sep 16 21:54 . drwxr-xr-x 1 root root 4096 Sep 15 11:21 .. -rw-r--r-- 1 peter peter 220 Jan 6 2022 .bash_logout -rw-r--r-- 1 peter peter 3771 Jan 6 2022 .bashrc -rw-r--r-- 1 peter peter 807 Jan 6 2022 .profile drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 jq-1.8.1 -rw-r--r-- 1 peter peter 2026798 Sep 16 21:54 jq.tar.gz
compile-bench> cd jq-1.8.1 && ls -la total 1184
drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 .
drwxr-x--- 1 peter peter 4096 Sep 16 21:54 ..
-rw-r--r-- 1 peter peter 10686 Jul 1 11:39 AUTHORS
-rw-r--r-- 1 peter peter 7887 Jul 1 11:39 COPYING
-rw-r--r-- 1 peter peter 33286 Jul 1 11:39 ChangeLog
-rw-r--r-- 1 peter peter 9090 Jul 1 11:39 Makefile.am
-rw-r--r-- 1 peter peter 75461 Jul 1 11:39 Makefile.in
-rw-r--r-- 1 peter peter 24670 Jul 1 11:39 NEWS.md
-rw-r--r-- 1 peter peter 2434 Jul 1 11:39 README.md
-rw-r--r-- 1 peter peter 46459 Jul 1 11:39 aclocal.m4
drwxr-xr-x 3 peter peter 4096 Jul 1 11:40 config
-rwxr-xr-x 1 peter peter 665647 Jul 1 11:39 configure
-rw-r--r-- 1 peter peter 9881 Jul 1 11:39 configure.ac
drwxr-xr-x 5 peter peter 4096 Jul 1 11:40 docs
-rw-r--r-- 1 peter peter 124253 Jul 1 11:39 jq.1
-rw-r--r-- 1 peter peter 124253 Jul 1 11:39 jq.1.prebuilt
-rw-r--r-- 1 peter peter 1431 Jul 1 11:39 jq.spec
-rw-r--r-- 1 peter peter 255 Jul 1 11:39 libjq.pc
-rw-r--r-- 1 peter peter 246 Jul 1 11:39 libjq.pc.in
drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 m4
drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 scripts
drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 src
drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 tests
drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 vendor
↓ 26 lines
total 1184 drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 . drwxr-x--- 1 peter peter 4096 Sep 16 21:54 .. -rw-r--r-- 1 peter peter 10686 Jul 1 11:39 AUTHORS -rw-r--r-- 1 peter peter 7887 Jul 1 11:39 COPYING -rw-r--r-- 1 peter peter 33286 Jul 1 11:39 ChangeLog -rw-r--r-- 1 peter peter 9090 Jul 1 11:39 Makefile.am -rw-r--r-- 1 peter peter 75461 Jul 1 11:39 Makefile.in -rw-r--r-- 1 peter peter 24670 Jul 1 11:39 NEWS.md -rw-r--r-- 1 peter peter 2434 Jul 1 11:39 README.md -rw-r--r-- 1 peter peter 46459 Jul 1 11:39 aclocal.m4 drwxr-xr-x 3 peter peter 4096 Jul 1 11:40 config -rwxr-xr-x 1 peter peter 665647 Jul 1 11:39 configure -rw-r--r-- 1 peter peter 9881 Jul 1 11:39 configure.ac drwxr-xr-x 5 peter peter 4096 Jul 1 11:40 docs -rw-r--r-- 1 peter peter 124253 Jul 1 11:39 jq.1 -rw-r--r-- 1 peter peter 124253 Jul 1 11:39 jq.1.prebuilt -rw-r--r-- 1 peter peter 1431 Jul 1 11:39 jq.spec -rw-r--r-- 1 peter peter 255 Jul 1 11:39 libjq.pc -rw-r--r-- 1 peter peter 246 Jul 1 11:39 libjq.pc.in drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 m4 drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 scripts drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 src drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 tests drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 vendor
Now I need to install the cross-compilation tools for Windows and set up the build environment.
compile-bench> sudo apt update -y
0% [Working]
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%]
0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
0% [3 InRelease 14.2 kB/128 kB 11%] [1 InRelease 20.0 kB/129 kB 15%]
0% [3 InRelease 70.6 kB/128 kB 55%]
0% [3 InRelease 98.2 kB/128 kB 77%]
0% [Waiting for headers] [Waiting for headers]
0% [Waiting for headers] [Waiting for headers]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3311 kB]
0% [Waiting for headers] [4 Packages 2655 B/3311 kB 0%]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
0% [5 InRelease 2588 B/127 kB 2%] [4 Packages 73.6 kB/3311 kB 2%]
0% [4 Packages 174 kB/3311 kB 5%]
20% [Waiting for headers] [4 Packages 265 kB/3311 kB 8%]
Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1581 kB]
21% [6 Packages 2655 B/1581 kB 0%] [4 Packages 408 kB/3311 kB 12%]
39% [6 Packages 740 kB/1581 kB 47%]
39% [4 Packages store 0 B] [6 Packages 740 kB/1581 kB 47%] [Waiting for headers
Get:7 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5441 kB]
44% [4 Packages store 0 B] [6 Packages 1559 kB/1581 kB 99%] [7 Packages 24.4 kB
44% [4 Packages store 0 B] [Waiting for headers] [7 Packages 149 kB/5441 kB 3%]
Get:8 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3626 kB]
44% [4 Packages store 0 B] [8 Packages 1018 B/3626 kB 0%] [7 Packages 149 kB/54
47% [8 Packages 90.2 kB/3626 kB 2%] [7 Packages 395 kB/5441 kB 7%]
47% [6 Packages store 0 B] [8 Packages 90.2 kB/3626 kB 2%] [7 Packages 395 kB/5
51% [8 Packages 840 kB/3626 kB 23%] [7 Packages 395 kB/5441 kB 7%]
68% [7 Packages 1021 kB/5441 kB 19%]
68% [8 Packages store 0 B] [7 Packages 1021 kB/5441 kB 19%]
73% [7 Packages 1900 kB/5441 kB 35%]
91% [Waiting for headers]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [80.3 kB]
92% [9 Packages 36.9 kB/80.3 kB 46%]
92% [7 Packages store 0 B] [9 Packages 80.3 kB/80.3 kB 100%]
92% [7 Packages store 0 B]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB]
92% [7 Packages store 0 B] [10 Packages 8192 B/1274 kB 1%]
98% [7 Packages store 0 B]
99% [Working]
99% [9 Packages store 0 B]
99% [Working]
99% [10 Packages store 0 B]
100% [Working]
Fetched 15.7 MB in 2s (8480 kB/s)
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... 71%
Reading package lists... 71%
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... 0%
Building dependency tree... 50%
Building dependency tree... 50%
Building dependency tree... Done
Reading state information... 0%
Reading state information... 0%
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
↓ 16 lines
0% [Working] Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] 0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%] Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease 0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%] 0% [Waiting for headers] [1 InRelease 14.2 kB/129 kB 11%] Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] 0% [3 InRelease 14.2 kB/128 kB 11%] [1 InRelease 20.0 kB/129 kB 15%] 0% [3 InRelease 70.6 kB/128 kB 55%] 0% [3 InRelease 98.2 kB/128 kB 77%] 0% [Waiting for headers] [Waiting for headers] 0% [Waiting for headers] [Waiting for headers] Get:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3311 kB] 0% [Waiting for headers] [4 Packages 2655 B/3311 kB 0%] Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB] 0% [5 InRelease 2588 B/127 kB 2%] [4 Packages 73.6 kB/3311 kB 2%] 0% [4 Packages 174 kB/3311 kB 5%] 20% [Waiting for headers] [4 Packages 265 kB/3311 kB 8%] Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1581 kB] 21% [6 Packages 2655 B/1581 kB 0%] [4 Packages 408 kB/3311 kB 12%] 39% [6 Packages 740 kB/1581 kB 47%] 39% [4 Packages store 0 B] [6 Packages 740 kB/1581 kB 47%] [Waiting for headers Get:7 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5441 kB] 44% [4 Packages store 0 B] [6 Packages 1559 kB/1581 kB 99%] [7 Packages 24.4 kB 44% [4 Packages store 0 B] [Waiting for headers] [7 Packages 149 kB/5441 kB 3%] Get:8 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3626 kB] 44% [4 Packages store 0 B] [8 Packages 1018 B/3626 kB 0%] [7 Packages 149 kB/54 47% [8 Packages 90.2 kB/3626 kB 2%] [7 Packages 395 kB/5441 kB 7%] 47% [6 Packages store 0 B] [8 Packages 90.2 kB/3626 kB 2%] [7 Packages 395 kB/5 51% [8 Packages 840 kB/3626 kB 23%] [7 Packages 395 kB/5441 kB 7%] 68% [7 Packages 1021 kB/5441 kB 19%] 68% [8 Packages store 0 B] [7 Packages 1021 kB/5441 kB 19%] 73% [7 Packages 1900 kB/5441 kB 35%] 91% [Waiting for headers] Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [80.3 kB] 92% [9 Packages 36.9 kB/80.3 kB 46%] 92% [7 Packages store 0 B] [9 Packages 80.3 kB/80.3 kB 100%] 92% [7 Packages store 0 B] Get:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB] 92% [7 Packages store 0 B] [10 Packages 8192 B/1274 kB 1%] 98% [7 Packages store 0 B] 99% [Working] 99% [9 Packages store 0 B] 99% [Working] 99% [10 Packages store 0 B] 100% [Working] Fetched 15.7 MB in 2s (8480 kB/s) 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... 71% Reading package lists... 71% 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... 0% Building dependency tree... 50% Building dependency tree... 50% Building dependency tree... Done Reading state information... 0% Reading state information... 0% Reading state information... Done 3 packages can be upgraded. Run 'apt list --upgradable' to see them.
compile-bench> sudo apt install -y gcc-mingw-w64-x86-64 build-essential autotools-dev automake libtool pkg-config
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... 71%
Reading package lists... 71%
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... 69%
Building dependency tree... Done
Reading state information... 0%
Reading state information... 0%
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
The following additional packages will be installed:
autoconf binutils-mingw-w64-x86-64 gcc-mingw-w64-base
gcc-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix-runtime
gcc-mingw-w64-x86-64-win32 gcc-mingw-w64-x86-64-win32-runtime libltdl-dev
libsigsegv2 m4 mingw-w64-common mingw-w64-x86-64-dev
Suggested packages:
autoconf-archive gnu-standards autoconf-doc gettext gcc-10-locales
libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc
The following NEW packages will be installed:
autoconf automake autotools-dev binutils-mingw-w64-x86-64 gcc-mingw-w64-base
gcc-mingw-w64-x86-64 gcc-mingw-w64-x86-64-posix
gcc-mingw-w64-x86-64-posix-runtime gcc-mingw-w64-x86-64-win32
gcc-mingw-w64-x86-64-win32-runtime libltdl-dev libsigsegv2 libtool m4
mingw-w64-common mingw-w64-x86-64-dev pkg-config
0 upgraded, 17 newly installed, 0 to remove and 3 not upgraded.
Need to get 96.8 MB of archives.
After this operation, 526 MB of additional disk space will be used.
0% [Working]
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsigsegv2 amd64 2.13-1ubuntu3 [14.6 kB]
0% [1 libsigsegv2 14.2 kB/14.6 kB 97%]
1% [Working]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 m4 amd64 1.4.18-5ubuntu2 [199 kB]
1% [2 m4 2604 B/199 kB 1%]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 autoconf all 2.71-2 [338 kB]
3% [3 autoconf 404 B/338 kB 0%]
Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 autotools-dev all 20220109.1 [44.9 kB]
4% [4 autotools-dev 2896 B/44.9 kB 6%]
[command output truncated]
to unpack .../12-gcc-mingw-w64-x86-64-win32_10.3.0-14ubuntu1+24.3_amd64.deb ...
Unpacking gcc-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ...
Selecting previously unselected package libltdl-dev:amd64.
Preparing to unpack .../13-libltdl-dev_2.4.6-15build2_amd64.deb ...
Unpacking libltdl-dev:amd64 (2.4.6-15build2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../14-libtool_2.4.6-15build2_all.deb ...
Unpacking libtool (2.4.6-15build2) ...
Selecting previously unselected package pkg-config.
Preparing to unpack .../15-pkg-config_0.29.2-1ubuntu3_amd64.deb ...
Unpacking pkg-config (0.29.2-1ubuntu3) ...
Selecting previously unselected package gcc-mingw-w64-x86-64.
Preparing to unpack .../16-gcc-mingw-w64-x86-64_10.3.0-14ubuntu1+24.3_all.deb ...
Unpacking gcc-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ...
Setting up binutils-mingw-w64-x86-64 (2.38-3ubuntu1+9build1) ...
Setting up gcc-mingw-w64-base:amd64 (10.3.0-14ubuntu1+24.3) ...
Setting up autotools-dev (20220109.1) ...
Setting up libsigsegv2:amd64 (2.13-1ubuntu3) ...
Setting up pkg-config (0.29.2-1ubuntu3) ...
Setting up gcc-mingw-w64-x86-64-win32-runtime (10.3.0-14ubuntu1+24.3) ...
Setting up mingw-w64-common (8.0.0-1) ...
Setting up mingw-w64-x86-64-dev (8.0.0-1) ...
Setting up libtool (2.4.6-15build2) ...
Setting up gcc-mingw-w64-x86-64-posix-runtime (10.3.0-14ubuntu1+24.3) ...
Setting up m4 (1.4.18-5ubuntu2) ...
Setting up gcc-mingw-w64-x86-64-posix (10.3.0-14ubuntu1+24.3) ...
update-alternatives: using /usr/bin/x86_64-w64-mingw32-gcc-posix to provide /usr/bin/x86_64-w64-mingw32-gcc (x86_64-w64-mingw32-gcc) in auto mode
Setting up gcc-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: using /usr/bin/x86_64-w64-mingw32-gcc-win32 to provide /usr/bin/x86_64-w64-mingw32-gcc (x86_64-w64-mingw32-gcc) in auto mode
Setting up gcc-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/x86_64-w64-mingw32-gcc-win32 because link group x86_64-w64-mingw32-gcc is broken
update-alternatives: warning: skip creation of /usr/bin/x86_64-w64-mingw32-gcc-8 because associated file /usr/bin/x86_64-w64-mingw32-gcc-8.3-win32 (of link group x86_64-w64-mingw32-gcc) doesn't exist
Setting up autoconf (2.71-2) ...
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 libltdl-dev:amd64 (2.4.6-15build2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
Processing triggers for libwine:amd64 (6.0.3~repack-1) ...
↓ 68 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... 71% Reading package lists... 71% 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... 69% Building dependency tree... Done Reading state information... 0% Reading state information... 0% Reading state information... Done build-essential is already the newest version (12.9ubuntu3). The following additional packages will be installed: autoconf binutils-mingw-w64-x86-64 gcc-mingw-w64-base gcc-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix-runtime gcc-mingw-w64-x86-64-win32 gcc-mingw-w64-x86-64-win32-runtime libltdl-dev libsigsegv2 m4 mingw-w64-common mingw-w64-x86-64-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc gettext gcc-10-locales libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc The following NEW packages will be installed: autoconf automake autotools-dev binutils-mingw-w64-x86-64 gcc-mingw-w64-base gcc-mingw-w64-x86-64 gcc-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix-runtime gcc-mingw-w64-x86-64-win32 gcc-mingw-w64-x86-64-win32-runtime libltdl-dev libsigsegv2 libtool m4 mingw-w64-common mingw-w64-x86-64-dev pkg-config 0 upgraded, 17 newly installed, 0 to remove and 3 not upgraded. Need to get 96.8 MB of archives. After this operation, 526 MB of additional disk space will be used. 0% [Working] Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsigsegv2 amd64 2.13-1ubuntu3 [14.6 kB] 0% [1 libsigsegv2 14.2 kB/14.6 kB 97%] 1% [Working] Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 m4 amd64 1.4.18-5ubuntu2 [199 kB] 1% [2 m4 2604 B/199 kB 1%] Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 autoconf all 2.71-2 [338 kB] 3% [3 autoconf 404 B/338 kB 0%] Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 autotools-dev all 20220109.1 [44.9 kB] 4% [4 autotools-dev 2896 B/44.9 kB 6%] [command output truncated] to unpack .../12-gcc-mingw-w64-x86-64-win32_10.3.0-14ubuntu1+24.3_amd64.deb ... Unpacking gcc-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ... Selecting previously unselected package libltdl-dev:amd64. Preparing to unpack .../13-libltdl-dev_2.4.6-15build2_amd64.deb ... Unpacking libltdl-dev:amd64 (2.4.6-15build2) ... Selecting previously unselected package libtool. Preparing to unpack .../14-libtool_2.4.6-15build2_all.deb ... Unpacking libtool (2.4.6-15build2) ... Selecting previously unselected package pkg-config. Preparing to unpack .../15-pkg-config_0.29.2-1ubuntu3_amd64.deb ... Unpacking pkg-config (0.29.2-1ubuntu3) ... Selecting previously unselected package gcc-mingw-w64-x86-64. Preparing to unpack .../16-gcc-mingw-w64-x86-64_10.3.0-14ubuntu1+24.3_all.deb ... Unpacking gcc-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ... Setting up binutils-mingw-w64-x86-64 (2.38-3ubuntu1+9build1) ... Setting up gcc-mingw-w64-base:amd64 (10.3.0-14ubuntu1+24.3) ... Setting up autotools-dev (20220109.1) ... Setting up libsigsegv2:amd64 (2.13-1ubuntu3) ... Setting up pkg-config (0.29.2-1ubuntu3) ... Setting up gcc-mingw-w64-x86-64-win32-runtime (10.3.0-14ubuntu1+24.3) ... Setting up mingw-w64-common (8.0.0-1) ... Setting up mingw-w64-x86-64-dev (8.0.0-1) ... Setting up libtool (2.4.6-15build2) ... Setting up gcc-mingw-w64-x86-64-posix-runtime (10.3.0-14ubuntu1+24.3) ... Setting up m4 (1.4.18-5ubuntu2) ... Setting up gcc-mingw-w64-x86-64-posix (10.3.0-14ubuntu1+24.3) ... update-alternatives: using /usr/bin/x86_64-w64-mingw32-gcc-posix to provide /usr/bin/x86_64-w64-mingw32-gcc (x86_64-w64-mingw32-gcc) in auto mode Setting up gcc-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ... update-alternatives: using /usr/bin/x86_64-w64-mingw32-gcc-win32 to provide /usr/bin/x86_64-w64-mingw32-gcc (x86_64-w64-mingw32-gcc) in auto mode Setting up gcc-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ... update-alternatives: warning: forcing reinstallation of alternative /usr/bin/x86_64-w64-mingw32-gcc-win32 because link group x86_64-w64-mingw32-gcc is broken update-alternatives: warning: skip creation of /usr/bin/x86_64-w64-mingw32-gcc-8 because associated file /usr/bin/x86_64-w64-mingw32-gcc-8.3-win32 (of link group x86_64-w64-mingw32-gcc) doesn't exist Setting up autoconf (2.71-2) ... 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 libltdl-dev:amd64 (2.4.6-15build2) ... Processing triggers for libc-bin (2.35-0ubuntu3.10) ... Processing triggers for libwine:amd64 (6.0.3~repack-1) ...
Now I need to create the result directory and check the build dependencies for jq:
[empty output]
compile-bench> cd jq-1.8.1 && cat README.md | head -20 # jq
`jq` is a lightweight and flexible command-line JSON processor akin to `sed`,`awk`,`grep`, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.
## Documentation
- **Official Documentation**: [jqlang.org](https://jqlang.org)
- **Try jq Online**: [play.jqlang.org](https://play.jqlang.org)
## Installation
### Prebuilt Binaries
Download the latest releases from the [GitHub release page](https://github.com/jqlang/jq/releases).
### Docker Image
Pull the [jq image](https://github.com/jqlang/jq/pkgs/container/jq) to start quickly with Docker.
#### Run with Docker
↓ 21 lines
# jq `jq` is a lightweight and flexible command-line JSON processor akin to `sed`,`awk`,`grep`, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data. ## Documentation - **Official Documentation**: [jqlang.org](https://jqlang.org) - **Try jq Online**: [play.jqlang.org](https://play.jqlang.org) ## Installation ### Prebuilt Binaries Download the latest releases from the [GitHub release page](https://github.com/jqlang/jq/releases). ### Docker Image Pull the [jq image](https://github.com/jqlang/jq/pkgs/container/jq) to start quickly with Docker. #### Run with Docker
Let me check what dependencies jq needs:
compile-bench> cd jq-1.8.1 && cat configure.ac | grep -i "PKG_CHECK\|AC_CHECK" AC_CHECK_PROGS(LEX, flex lex)
AC_CHECK_FUNCS(memmem)
AC_CHECK_HEADER("sys/cygwin.h", [have_cygwin=1;])
AC_CHECK_HEADER("shlwapi.h",[have_shlwapi=1;])
AC_CHECK_PROGS([PIPENV], pipenv)
AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE([HAVE_TM_TM_GMT_OFF],1,[Define to 1 if the system has the tm_gmt_off field in struct tm])],
AC_CHECK_MEMBER([struct tm.__tm_gmtoff], [AC_DEFINE([HAVE_TM___TM_GMT_OFF],1,[Define to 1 if the system has the __tm_gmt_off field in struct tm])],
AC_CHECK_MATH_FUNC(acos)
AC_CHECK_MATH_FUNC(acosh)
AC_CHECK_MATH_FUNC(asin)
AC_CHECK_MATH_FUNC(asinh)
AC_CHECK_MATH_FUNC(atan2)
AC_CHECK_MATH_FUNC(atan)
AC_CHECK_MATH_FUNC(atanh)
AC_CHECK_MATH_FUNC(cbrt)
AC_CHECK_MATH_FUNC(ceil)
AC_CHECK_MATH_FUNC(copysign)
AC_CHECK_MATH_FUNC(cos)
AC_CHECK_MATH_FUNC(cosh)
AC_CHECK_MATH_FUNC(drem)
AC_CHECK_MATH_FUNC(erf)
AC_CHECK_MATH_FUNC(erfc)
AC_CHECK_MATH_FUNC(exp10)
AC_CHECK_MATH_FUNC(__exp10) dnl macOS has an __exp10
AC_CHECK_MATH_FUNC(exp2)
AC_CHECK_MATH_FUNC(exp)
AC_CHECK_MATH_FUNC(expm1)
AC_CHECK_MATH_FUNC(fabs)
AC_CHECK_MATH_FUNC(fdim)
AC_CHECK_MATH_FUNC(floor)
AC_CHECK_MATH_FUNC(fma)
AC_CHECK_MATH_FUNC(fmax)
AC_CHECK_MATH_FUNC(fmin)
AC_CHECK_MATH_FUNC(fmod)
AC_CHECK_MATH_FUNC(frexp)
AC_CHECK_MATH_FUNC(gamma)
AC_CHECK_MATH_FUNC(hypot)
AC_CHECK_MATH_FUNC(j0)
AC_CHECK_MATH_FUNC(j1)
AC_CHECK_MATH_FUNC(jn)
AC_CHECK_MATH_FUNC(ldexp)
AC_CHECK_MATH_FUNC(lgamma)
AC_CHECK_MATH_FUNC(log10)
AC_CHECK_MATH_FUNC(log1p)
AC_CHECK_MATH_FUNC(log2)
AC_CHECK_MATH_FUNC(log)
AC_CHECK_MATH_FUNC(logb)
AC_CHECK_MATH_FUNC(modf)
AC_CHECK_MATH_FUNC(lgamma_r)
AC_CHECK_MATH_FUNC(nearbyint)
AC_CHECK_MATH_FUNC(nextafter)
AC_CHECK_MATH_FUNC(nexttoward)
AC_CHECK_MATH_FUNC(pow)
AC_CHECK_MATH_FUNC(remainder)
AC_CHECK_MATH_FUNC(rint)
AC_CHECK_MATH_FUNC(round)
AC_CHECK_MATH_FUNC(scalb)
AC_CHECK_MATH_FUNC(scalbln)
AC_CHECK_MATH_FUNC(significand)
AC_CHECK_MATH_FUNC(scalbn)
AC_CHECK_MATH_FUNC(ilogb)
AC_CHECK_MATH_FUNC(sin)
AC_CHECK_MATH_FUNC(sinh)
AC_CHECK_MATH_FUNC(sqrt)
AC_CHECK_MATH_FUNC(tan)
AC_CHECK_MATH_FUNC(tanh)
AC_CHECK_MATH_FUNC(tgamma)
AC_CHECK_MATH_FUNC(trunc)
AC_CHECK_MATH_FUNC(y0)
AC_CHECK_MATH_FUNC(y1)
AC_CHECK_MATH_FUNC(yn)
AC_CHECK_HEADER("oniguruma.h",
AC_CHECK_LIB([onig],[onig_version]))
↓ 74 lines
AC_CHECK_PROGS(LEX, flex lex)
AC_CHECK_FUNCS(memmem)
AC_CHECK_HEADER("sys/cygwin.h", [have_cygwin=1;])
AC_CHECK_HEADER("shlwapi.h",[have_shlwapi=1;])
AC_CHECK_PROGS([PIPENV], pipenv)
AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE([HAVE_TM_TM_GMT_OFF],1,[Define to 1 if the system has the tm_gmt_off field in struct tm])],
AC_CHECK_MEMBER([struct tm.__tm_gmtoff], [AC_DEFINE([HAVE_TM___TM_GMT_OFF],1,[Define to 1 if the system has the __tm_gmt_off field in struct tm])],
AC_CHECK_MATH_FUNC(acos)
AC_CHECK_MATH_FUNC(acosh)
AC_CHECK_MATH_FUNC(asin)
AC_CHECK_MATH_FUNC(asinh)
AC_CHECK_MATH_FUNC(atan2)
AC_CHECK_MATH_FUNC(atan)
AC_CHECK_MATH_FUNC(atanh)
AC_CHECK_MATH_FUNC(cbrt)
AC_CHECK_MATH_FUNC(ceil)
AC_CHECK_MATH_FUNC(copysign)
AC_CHECK_MATH_FUNC(cos)
AC_CHECK_MATH_FUNC(cosh)
AC_CHECK_MATH_FUNC(drem)
AC_CHECK_MATH_FUNC(erf)
AC_CHECK_MATH_FUNC(erfc)
AC_CHECK_MATH_FUNC(exp10)
AC_CHECK_MATH_FUNC(__exp10) dnl macOS has an __exp10
AC_CHECK_MATH_FUNC(exp2)
AC_CHECK_MATH_FUNC(exp)
AC_CHECK_MATH_FUNC(expm1)
AC_CHECK_MATH_FUNC(fabs)
AC_CHECK_MATH_FUNC(fdim)
AC_CHECK_MATH_FUNC(floor)
AC_CHECK_MATH_FUNC(fma)
AC_CHECK_MATH_FUNC(fmax)
AC_CHECK_MATH_FUNC(fmin)
AC_CHECK_MATH_FUNC(fmod)
AC_CHECK_MATH_FUNC(frexp)
AC_CHECK_MATH_FUNC(gamma)
AC_CHECK_MATH_FUNC(hypot)
AC_CHECK_MATH_FUNC(j0)
AC_CHECK_MATH_FUNC(j1)
AC_CHECK_MATH_FUNC(jn)
AC_CHECK_MATH_FUNC(ldexp)
AC_CHECK_MATH_FUNC(lgamma)
AC_CHECK_MATH_FUNC(log10)
AC_CHECK_MATH_FUNC(log1p)
AC_CHECK_MATH_FUNC(log2)
AC_CHECK_MATH_FUNC(log)
AC_CHECK_MATH_FUNC(logb)
AC_CHECK_MATH_FUNC(modf)
AC_CHECK_MATH_FUNC(lgamma_r)
AC_CHECK_MATH_FUNC(nearbyint)
AC_CHECK_MATH_FUNC(nextafter)
AC_CHECK_MATH_FUNC(nexttoward)
AC_CHECK_MATH_FUNC(pow)
AC_CHECK_MATH_FUNC(remainder)
AC_CHECK_MATH_FUNC(rint)
AC_CHECK_MATH_FUNC(round)
AC_CHECK_MATH_FUNC(scalb)
AC_CHECK_MATH_FUNC(scalbln)
AC_CHECK_MATH_FUNC(significand)
AC_CHECK_MATH_FUNC(scalbn)
AC_CHECK_MATH_FUNC(ilogb)
AC_CHECK_MATH_FUNC(sin)
AC_CHECK_MATH_FUNC(sinh)
AC_CHECK_MATH_FUNC(sqrt)
AC_CHECK_MATH_FUNC(tan)
AC_CHECK_MATH_FUNC(tanh)
AC_CHECK_MATH_FUNC(tgamma)
AC_CHECK_MATH_FUNC(trunc)
AC_CHECK_MATH_FUNC(y0)
AC_CHECK_MATH_FUNC(y1)
AC_CHECK_MATH_FUNC(yn)
AC_CHECK_HEADER("oniguruma.h",
AC_CHECK_LIB([onig],[onig_version]))
Let me check what's in the vendor directory to see if jq includes its dependencies:
compile-bench> cd jq-1.8.1/vendor && ls -la total 16
drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 .
drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 ..
drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 decNumber
drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 oniguruma
↓ 6 lines
total 16 drwxr-xr-x 4 peter peter 4096 Jul 1 11:40 . drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 .. drwxr-xr-x 2 peter peter 4096 Jul 1 11:40 decNumber drwxr-xr-x 9 peter peter 4096 Jul 1 11:40 oniguruma
Great! jq includes the oniguruma library as a vendor dependency. Now let me configure and build jq for Windows. I'll use the POSIX threading model which is better for static linking:
compile-bench> cd jq-1.8.1 && ./configure --host=x86_64-w64-mingw32 --enable-static --disable-shared --enable-all-static CC=x86_64-w64-mingw32-gcc-posix checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc-posix
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-w64-mingw32-gcc-posix accepts -g... yes
checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... yes
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 wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-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 whether make supports nested variables... yes
checking dependency style of x86_64-w64-mingw32-gcc-posix... gcc3
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking the archiver (x86_64-w64-mingw32-ar) interface... ar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for x86_64-w64-mingw32-gcc... (cached) x86_64-w64-mingw32-gcc-posix
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-w64-mingw32-gcc-posix accepts -g... (cached) yes
checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... (cached) none needed
checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc-posix -E
checking for bison... no
checking for byacc... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by x86_64-w64-mingw32-gcc-posix... /usr/bin/x86_64-w64-mingw32-ld
checking if the linker (/usr/bin/x86_64-w64-mingw32-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B
checking the
[command output truncated]
4-mingw32-objdump... x86_64-w64-mingw32-objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc-posix object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... no
checking if : is a manifest tool... no
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 dlfcn.h... no
checking for objdir... .libs
checking if x86_64-w64-mingw32-gcc-posix supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc-posix option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc-posix PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc-posix static flag -static works... yes
checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc-posix linker (/usr/bin/x86_64-w64-mingw32-ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether make sets $(MAKE)... (cached) yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for sys/times.h... no
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of void*... 8
checking for size_t... yes
checking for working alloca.h... no
checking for alloca... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating test/Makefile
config.status: creating sample/Makefile
config.status: creating onig-config
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
↓ 119 lines
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc-posix checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... yes checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether x86_64-w64-mingw32-gcc-posix accepts -g... yes checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... none needed checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... yes 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 wchar.h... yes checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-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 whether make supports nested variables... yes checking dependency style of x86_64-w64-mingw32-gcc-posix... gcc3 checking whether make supports nested variables... (cached) yes checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar checking the archiver (x86_64-w64-mingw32-ar) interface... ar checking whether to enable maintainer-specific portions of Makefiles... no checking for x86_64-w64-mingw32-gcc... (cached) x86_64-w64-mingw32-gcc-posix checking whether the compiler supports GNU C... (cached) yes checking whether x86_64-w64-mingw32-gcc-posix accepts -g... (cached) yes checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... (cached) none needed checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... (cached) yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc-posix -E checking for bison... no checking for byacc... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-w64-mingw32 checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by x86_64-w64-mingw32-gcc-posix... /usr/bin/x86_64-w64-mingw32-ld checking if the linker (/usr/bin/x86_64-w64-mingw32-ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B checking the [command output truncated] 4-mingw32-objdump... x86_64-w64-mingw32-objdump checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool checking how to associate runtime and link libraries... func_cygming_dll_for_implib checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar checking for archiver @FILE support... @ checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc-posix object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for x86_64-w64-mingw32-mt... no checking for mt... no checking if : is a manifest tool... no 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 dlfcn.h... no checking for objdir... .libs checking if x86_64-w64-mingw32-gcc-posix supports -fno-rtti -fno-exceptions... no checking for x86_64-w64-mingw32-gcc-posix option to produce PIC... -DDLL_EXPORT -DPIC checking if x86_64-w64-mingw32-gcc-posix PIC flag -DDLL_EXPORT -DPIC works... yes checking if x86_64-w64-mingw32-gcc-posix static flag -static works... yes checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... yes checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... (cached) yes checking whether the x86_64-w64-mingw32-gcc-posix linker (/usr/bin/x86_64-w64-mingw32-ld) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking whether make sets $(MAKE)... (cached) yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking for sys/times.h... no checking size of int... 4 checking size of long... 4 checking size of long long... 8 checking size of void*... 8 checking for size_t... yes checking for working alloca.h... no checking for alloca... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating sample/Makefile config.status: creating onig-config config.status: creating src/config.h config.status: executing depfiles commands config.status: executing libtool commands config.status: executing default commands
It looks like the configure failed with a dependency issue. Let me check if we need to install flex/bison:
compile-bench> sudo apt install -y flex bison
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... 71%
Reading package lists... 71%
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... 0%
Reading state information... 0%
Reading state information... Done
The following additional packages will be installed:
libfl-dev libfl2
Suggested packages:
bison-doc flex-doc
The following NEW packages will be installed:
bison flex libfl-dev libfl2
0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
Need to get 1072 kB of archives.
After this operation, 3667 kB of additional disk space will be used.
0% [Working]
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 flex amd64 2.6.4-8build2 [307 kB]
1% [1 flex 14.2 kB/307 kB 5%]
28% [Working]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 bison amd64 2:3.8.2+dfsg-1build1 [748 kB]
28% [2 bison 2613 B/748 kB 0%]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfl2 amd64 2.6.4-8build2 [10.7 kB]
89% [3 libfl2 1438 B/10.7 kB 13%]
95% [Waiting for headers]
Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfl-dev amd64 2.6.4-8build2 [6236 B]
95% [4 libfl-dev 3506 B/6236 B 56%]
100% [Working]
Fetched 1072 kB in 1s (1045 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package flex.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 23943 files and directories currently installed.)
Preparing to unpack .../flex_2.6.4-8build2_amd64.deb ...
Unpacking flex (2.6.4-8build2) ...
Selecting previously unselected package bison.
Preparing to unpack .../bison_2%3a3.8.2+dfsg-1build1_amd64.deb ...
Unpacking bison (2:3.8.2+dfsg-1build1) ...
Selecting previously unselected package libfl2:amd64.
Preparing to unpack .../libfl2_2.6.4-8build2_amd64.deb ...
Unpacking libfl2:amd64 (2.6.4-8build2) ...
Selecting previously unselected package libfl-dev:amd64.
Preparing to unpack .../libfl-dev_2.6.4-8build2_amd64.deb ...
Unpacking libfl-dev:amd64 (2.6.4-8build2) ...
Setting up flex (2.6.4-8build2) ...
Setting up libfl2:amd64 (2.6.4-8build2) ...
Setting up bison (2:3.8.2+dfsg-1build1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/yacc.1.gz because associated file /usr/share/man/man1/bison.yacc.1.gz (of link group yacc) doesn't exist
Setting up libfl-dev:amd64 (2.6.4-8build2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
↓ 39 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... 71% Reading package lists... 71% 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... 0% Reading state information... 0% Reading state information... Done The following additional packages will be installed: libfl-dev libfl2 Suggested packages: bison-doc flex-doc The following NEW packages will be installed: bison flex libfl-dev libfl2 0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded. Need to get 1072 kB of archives. After this operation, 3667 kB of additional disk space will be used. 0% [Working] Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 flex amd64 2.6.4-8build2 [307 kB] 1% [1 flex 14.2 kB/307 kB 5%] 28% [Working] Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 bison amd64 2:3.8.2+dfsg-1build1 [748 kB] 28% [2 bison 2613 B/748 kB 0%] Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfl2 amd64 2.6.4-8build2 [10.7 kB] 89% [3 libfl2 1438 B/10.7 kB 13%] 95% [Waiting for headers] Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfl-dev amd64 2.6.4-8build2 [6236 B] 95% [4 libfl-dev 3506 B/6236 B 56%] 100% [Working] Fetched 1072 kB in 1s (1045 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package flex. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 23943 files and directories currently installed.) Preparing to unpack .../flex_2.6.4-8build2_amd64.deb ... Unpacking flex (2.6.4-8build2) ... Selecting previously unselected package bison. Preparing to unpack .../bison_2%3a3.8.2+dfsg-1build1_amd64.deb ... Unpacking bison (2:3.8.2+dfsg-1build1) ... Selecting previously unselected package libfl2:amd64. Preparing to unpack .../libfl2_2.6.4-8build2_amd64.deb ... Unpacking libfl2:amd64 (2.6.4-8build2) ... Selecting previously unselected package libfl-dev:amd64. Preparing to unpack .../libfl-dev_2.6.4-8build2_amd64.deb ... Unpacking libfl-dev:amd64 (2.6.4-8build2) ... Setting up flex (2.6.4-8build2) ... Setting up libfl2:amd64 (2.6.4-8build2) ... Setting up bison (2:3.8.2+dfsg-1build1) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/yacc.1.gz because associated file /usr/share/man/man1/bison.yacc.1.gz (of link group yacc) doesn't exist Setting up libfl-dev:amd64 (2.6.4-8build2) ... Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
Now let me try configuring again:
compile-bench> cd jq-1.8.1 && make clean Making clean in vendor/oniguruma
make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
Making clean in src
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
test -z "libonig.la" || rm -f libonig.la
rm -f ./so_locations
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
Making clean in test
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
rm -f test_utf8.exe test_syntax.exe test_options.exe testc.exe testcu.exe test_regset.exe test_back.exe
rm -f test_utf8 test_syntax test_options testc testcu test_regset test_back
rm -rf .libs _libs
rm -f *.o
test -z "test_utf8.log test_syntax.log test_options.log testc.log testcu.log test_regset.log test_back.log" || rm -f test_utf8.log test_syntax.log test_options.log testc.log testcu.log test_regset.log test_back.log
test -z "test_utf8.trs test_syntax.trs test_options.trs testc.trs testcu.trs test_regset.trs test_back.trs" || rm -f test_utf8.trs test_syntax.trs test_options.trs testc.trs testcu.trs test_regset.trs test_back.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
Making clean in sample
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
rm -f encode.exe listcap.exe names.exe simple.exe sql.exe syntax.exe user_property.exe callout.exe echo.exe count.exe bug_fix.exe regset.exe scan.exe callback_each_match.exe
rm -f encode listcap names simple sql syntax user_property callout echo count bug_fix regset scan callback_each_match
rm -rf .libs _libs
rm -f *.o
test -z "encode.log listcap.log names.log simple.log sql.log syntax.log user_property.log callout.log echo.log count.log bug_fix.log regset.log scan.log callback_each_match.log" || rm -f encode.log listcap.log names.log simple.log sql.log syntax.log user_property.log callout.log echo.log count.log bug_fix.log regset.log scan.log callback_each_match.log
test -z "encode.trs listcap.trs names.trs simple.trs sql.trs syntax.trs user_property.trs callout.trs echo.trs count.trs bug_fix.trs regset.trs scan.trs callback_each_match.trs" || rm -f encode.trs listcap.trs names.trs simple.trs sql.trs syntax.trs user_property.trs callout.trs echo.trs count.trs bug_fix.trs regset.trs scan.trs callback_each_match.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
rm -rf .libs _libs
rm -f *.lo
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[1]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[1]: Entering directory '/home/peter/jq-1.8.1'
rm -f jq.exe
rm -f jq
test -z "src/version.h .remake-version-h src/builtin.inc src/config_opts.inc jq.1" || rm -f src/version.h .remake-version-h src/builtin.inc src/config_opts.inc jq.1
test -z "libjq.la " || rm -f libjq.la
rm -f ./so_locations
rm -rf .libs _libs
rm -rf src/.libs src/_libs
rm -rf vendor/decNumber/.libs vendor/decNumber/_libs
rm -f *.o
rm -f src/*.o
rm -f src/*.lo
rm -f vendor/decNumber/*.o
rm -f vendor/decNumber/*.lo
test -z "tests/mantest.log tests/jqtest.log tests/shtest.log tests/utf8test.log tests/base64test.log tests/uritest.log tests/onigtest.log tests/manonigtest.log" || rm -f tests/mantest.log tests/jqtest.log tests/shtest.log tests/utf8test.log tests/base64test.log tests/uritest.log tests/onigtest.log tests/manonigtest.log
test -z "tests/mantest.trs tests/jqtest.trs tests/shtest.trs tests/utf8test.trs tests/base64test.trs tests/uritest.trs tests/onigtest.trs tests/manonigtest.trs" || rm -f tests/mantest.trs tests/jqtest.trs tests/shtest.trs tests/utf8test.trs tests/base64test.trs tests/uritest.trs tests/onigtest.trs tests/manonigtest.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
make[1]: Leaving directory '/home/peter/jq-1.8.1'
↓ 57 lines
Making clean in vendor/oniguruma make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma' Making clean in src make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src' test -z "libonig.la" || rm -f libonig.la rm -f ./so_locations rm -rf .libs _libs rm -f *.o rm -f *.lo make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src' Making clean in test make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/test' rm -f test_utf8.exe test_syntax.exe test_options.exe testc.exe testcu.exe test_regset.exe test_back.exe rm -f test_utf8 test_syntax test_options testc testcu test_regset test_back rm -rf .libs _libs rm -f *.o test -z "test_utf8.log test_syntax.log test_options.log testc.log testcu.log test_regset.log test_back.log" || rm -f test_utf8.log test_syntax.log test_options.log testc.log testcu.log test_regset.log test_back.log test -z "test_utf8.trs test_syntax.trs test_options.trs testc.trs testcu.trs test_regset.trs test_back.trs" || rm -f test_utf8.trs test_syntax.trs test_options.trs testc.trs testcu.trs test_regset.trs test_back.trs test -z "test-suite.log" || rm -f test-suite.log rm -f *.lo make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/test' Making clean in sample make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample' rm -f encode.exe listcap.exe names.exe simple.exe sql.exe syntax.exe user_property.exe callout.exe echo.exe count.exe bug_fix.exe regset.exe scan.exe callback_each_match.exe rm -f encode listcap names simple sql syntax user_property callout echo count bug_fix regset scan callback_each_match rm -rf .libs _libs rm -f *.o test -z "encode.log listcap.log names.log simple.log sql.log syntax.log user_property.log callout.log echo.log count.log bug_fix.log regset.log scan.log callback_each_match.log" || rm -f encode.log listcap.log names.log simple.log sql.log syntax.log user_property.log callout.log echo.log count.log bug_fix.log regset.log scan.log callback_each_match.log test -z "encode.trs listcap.trs names.trs simple.trs sql.trs syntax.trs user_property.trs callout.trs echo.trs count.trs bug_fix.trs regset.trs scan.trs callback_each_match.trs" || rm -f encode.trs listcap.trs names.trs simple.trs sql.trs syntax.trs user_property.trs callout.trs echo.trs count.trs bug_fix.trs regset.trs scan.trs callback_each_match.trs test -z "test-suite.log" || rm -f test-suite.log rm -f *.lo make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample' make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma' rm -rf .libs _libs rm -f *.lo make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma' make[1]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma' make[1]: Entering directory '/home/peter/jq-1.8.1' rm -f jq.exe rm -f jq test -z "src/version.h .remake-version-h src/builtin.inc src/config_opts.inc jq.1" || rm -f src/version.h .remake-version-h src/builtin.inc src/config_opts.inc jq.1 test -z "libjq.la " || rm -f libjq.la rm -f ./so_locations rm -rf .libs _libs rm -rf src/.libs src/_libs rm -rf vendor/decNumber/.libs vendor/decNumber/_libs rm -f *.o rm -f src/*.o rm -f src/*.lo rm -f vendor/decNumber/*.o rm -f vendor/decNumber/*.lo test -z "tests/mantest.log tests/jqtest.log tests/shtest.log tests/utf8test.log tests/base64test.log tests/uritest.log tests/onigtest.log tests/manonigtest.log" || rm -f tests/mantest.log tests/jqtest.log tests/shtest.log tests/utf8test.log tests/base64test.log tests/uritest.log tests/onigtest.log tests/manonigtest.log test -z "tests/mantest.trs tests/jqtest.trs tests/shtest.trs tests/utf8test.trs tests/base64test.trs tests/uritest.trs tests/onigtest.trs tests/manonigtest.trs" || rm -f tests/mantest.trs tests/jqtest.trs tests/shtest.trs tests/utf8test.trs tests/base64test.trs tests/uritest.trs tests/onigtest.trs tests/manonigtest.trs test -z "test-suite.log" || rm -f test-suite.log rm -f *.lo make[1]: Leaving directory '/home/peter/jq-1.8.1'
compile-bench> cd jq-1.8.1 && ./configure --host=x86_64-w64-mingw32 --enable-static --disable-shared --enable-all-static CC=x86_64-w64-mingw32-gcc-posix checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc-posix
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-w64-mingw32-gcc-posix accepts -g... yes
checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... yes
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 wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-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 whether make supports nested variables... yes
checking dependency style of x86_64-w64-mingw32-gcc-posix... gcc3
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking the archiver (x86_64-w64-mingw32-ar) interface... ar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for x86_64-w64-mingw32-gcc... (cached) x86_64-w64-mingw32-gcc-posix
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-w64-mingw32-gcc-posix accepts -g... (cached) yes
checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... (cached) none needed
checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc-posix -E
checking for bison... bison -y
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by x86_64-w64-mingw32-gcc-posix... /usr/bin/x86_64-w64-mingw32-ld
checking if the linker (/usr/bin/x86_64-w64-mingw32-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B
checking the name lister (/usr/bi
[command output truncated]
jdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc-posix object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... no
checking if : is a manifest tool... no
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 dlfcn.h... no
checking for objdir... .libs
checking if x86_64-w64-mingw32-gcc-posix supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc-posix option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc-posix PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc-posix static flag -static works... yes
checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc-posix linker (/usr/bin/x86_64-w64-mingw32-ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether make sets $(MAKE)... (cached) yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for sys/times.h... no
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of void*... 8
checking for size_t... yes
checking for working alloca.h... no
checking for alloca... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating test/Makefile
config.status: creating sample/Makefile
config.status: creating onig-config
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
↓ 119 lines
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc-posix checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... yes checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether x86_64-w64-mingw32-gcc-posix accepts -g... yes checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... none needed checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... yes 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 wchar.h... yes checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-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 whether make supports nested variables... yes checking dependency style of x86_64-w64-mingw32-gcc-posix... gcc3 checking whether make supports nested variables... (cached) yes checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar checking the archiver (x86_64-w64-mingw32-ar) interface... ar checking whether to enable maintainer-specific portions of Makefiles... no checking for x86_64-w64-mingw32-gcc... (cached) x86_64-w64-mingw32-gcc-posix checking whether the compiler supports GNU C... (cached) yes checking whether x86_64-w64-mingw32-gcc-posix accepts -g... (cached) yes checking for x86_64-w64-mingw32-gcc-posix option to enable C11 features... (cached) none needed checking whether x86_64-w64-mingw32-gcc-posix understands -c and -o together... (cached) yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc-posix -E checking for bison... bison -y checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-w64-mingw32 checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by x86_64-w64-mingw32-gcc-posix... /usr/bin/x86_64-w64-mingw32-ld checking if the linker (/usr/bin/x86_64-w64-mingw32-ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B checking the name lister (/usr/bi [command output truncated] jdump checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool checking how to associate runtime and link libraries... func_cygming_dll_for_implib checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar checking for archiver @FILE support... @ checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc-posix object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for x86_64-w64-mingw32-mt... no checking for mt... no checking if : is a manifest tool... no 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 dlfcn.h... no checking for objdir... .libs checking if x86_64-w64-mingw32-gcc-posix supports -fno-rtti -fno-exceptions... no checking for x86_64-w64-mingw32-gcc-posix option to produce PIC... -DDLL_EXPORT -DPIC checking if x86_64-w64-mingw32-gcc-posix PIC flag -DDLL_EXPORT -DPIC works... yes checking if x86_64-w64-mingw32-gcc-posix static flag -static works... yes checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... yes checking if x86_64-w64-mingw32-gcc-posix supports -c -o file.o... (cached) yes checking whether the x86_64-w64-mingw32-gcc-posix linker (/usr/bin/x86_64-w64-mingw32-ld) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking whether make sets $(MAKE)... (cached) yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking for sys/times.h... no checking size of int... 4 checking size of long... 4 checking size of long long... 8 checking size of void*... 8 checking for size_t... yes checking for working alloca.h... no checking for alloca... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating sample/Makefile config.status: creating onig-config config.status: creating src/config.h config.status: src/config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands config.status: executing default commands
It looks like it's still configuring the oniguruma library instead of jq itself. Let me check if there's an issue with the configuration or if we need to configure in the right directory:
-rwxr-xr-x 1 peter peter 58915 Sep 16 21:55 config.status
compile-bench> cd jq-1.8.1 && head -10 config.status #! /bin/bash
# Generated by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
↓ 10 lines
#! /bin/bash # Generated by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false
Let me check what was actually configured by looking at the Makefile:
compile-bench> cd jq-1.8.1 && head -20 Makefile # Makefile.in generated by automake 1.16.5 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
### C source files to be built and distributed.
↓ 18 lines
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. ### C source files to be built and distributed.
It seems like the configuration went through. Let me check the configuration by looking at the build target:
[empty output]
compile-bench> cd jq-1.8.1 && grep -A5 -B5 "jq" Makefile | head -20 esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/jq
pkgincludedir = $(includedir)/jq
pkglibdir = $(libdir)/jq
pkglibexecdir = $(libexecdir)/jq
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
--
### Code coverage with gcov
#am__append_6 = --coverage --no-inline
### Error injection for testing
#am__append_7 = libinject_errors.la
↓ 21 lines
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/jq
pkgincludedir = $(includedir)/jq
pkglibdir = $(libdir)/jq
pkglibexecdir = $(libexecdir)/jq
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
--
### Code coverage with gcov
#am__append_6 = --coverage --no-inline
### Error injection for testing
#am__append_7 = libinject_errors.la
Let me check the actual build targets:
compile-bench> cd jq-1.8.1 && make --dry-run | head -10 mkdir -p src
echo " GEN " src/builtin.inc; od -v -A n -t o1 -- src/builtin.jq | \
sed -e 's/$/ /' \
-e 's/\([0123456789]\) /\1, /g' \
-e 's/ $//' \
-e 's/ 0/ 0/g' \
-e 's/ \([123456789]\)/ 0\1/g' > src/builtin.inc
mkdir -p src
echo " GEN " src/config_opts.inc; if test -x ./config.status; then \
./config.status --config; \
↓ 11 lines
mkdir -p src
echo " GEN " src/builtin.inc; od -v -A n -t o1 -- src/builtin.jq | \
sed -e 's/$/ /' \
-e 's/\([0123456789]\) /\1, /g' \
-e 's/ $//' \
-e 's/ 0/ 0/g' \
-e 's/ \([123456789]\)/ 0\1/g' > src/builtin.inc
mkdir -p src
echo " GEN " src/config_opts.inc; if test -x ./config.status; then \
./config.status --config; \
Perfect! The configuration is for jq. Now let me build it:
compile-bench> cd jq-1.8.1 && make -j$(nproc) mkdir -p src
mkdir -p src
GEN src/builtin.inc
GEN src/config_opts.inc
mkdir -p src
GEN src/version.h
make all-recursive
make[1]: Entering directory '/home/peter/jq-1.8.1'
Making all in vendor/oniguruma
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
Making all in src
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
make all-am
make[4]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c -o regparse.lo regparse.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c -o regcomp.lo regcomp.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c -o regexec.lo regexec.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c -o regenc.lo regenc.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c -o regerror.lo regerror.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c -o regext.lo regext.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regsyntax.lo -MD -MP -MF .deps/regsyntax.Tpo -c -o regsyntax.lo regsyntax.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c -o regtrav.lo regtrav.c
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regsyntax.lo -MD -MP -MF .deps/regsyntax.Tpo -c regsyntax.c -o regsyntax.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c regenc.c -o regenc.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c regparse.c -o regparse.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c regcomp.c -o regcomp.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c regerror.c -o regerror.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compil
[command output truncated]
undefined symbols not allowed in x86_64-w64-mingw32 shared libraries; building static only
libtool: link: x86_64-w64-mingw32-ar cr .libs/libonig.a regparse.o regcomp.o regexec.o regenc.o regerror.o regext.o regsyntax.o regtrav.o regversion.o st.o reggnu.o unicode.o unicode_unfold_key.o unicode_fold1_key.o unicode_fold2_key.o unicode_fold3_key.o ascii.o utf8.o utf16_be.o utf16_le.o utf32_be.o utf32_le.o euc_jp.o euc_jp_prop.o sjis.o sjis_prop.o iso8859_1.o iso8859_2.o iso8859_3.o iso8859_4.o iso8859_5.o iso8859_6.o iso8859_7.o iso8859_8.o iso8859_9.o iso8859_10.o iso8859_11.o iso8859_13.o iso8859_14.o iso8859_15.o iso8859_16.o euc_tw.o euc_kr.o big5.o gb18030.o koi8_r.o cp1251.o onig_init.o
libtool: link: x86_64-w64-mingw32-ranlib .libs/libonig.a
libtool: link: ( cd ".libs" && rm -f "libonig.la" && ln -s "../libonig.la" "libonig.la" )
make[4]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
Making all in test
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
Making all in sample
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
sed -e 's,[@]datadir[@],/usr/local/share,g' -e 's,[@]datarootdir[@],/usr/local/share,g' -e 's,[@]PACKAGE_VERSION[@],6.9.10,g' -e 's,[@]prefix[@],/usr/local,g' -e 's,[@]exec_prefix[@],/usr/local,g' -e 's,[@]libdir[@],/usr/local/lib,g' -e 's,[@]includedir[@],/usr/local/include,g' < ./oniguruma.pc.in > oniguruma.pc
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[2]: Entering directory '/home/peter/jq-1.8.1'
GEN jq.1
CC src/builtin.lo
CC src/bytecode.lo
CC src/compile.lo
CC src/execute.lo
CC src/jv.lo
CC src/jv_alloc.lo
CC src/jq_test.lo
CC src/jv_aux.lo
CC src/jv_dtoa.lo
CC src/jv_file.lo
CC src/jv_parse.lo
CC src/jv_print.lo
CC src/jv_unicode.lo
CC src/linker.lo
CC src/locfile.lo
CC src/util.lo
CC src/jv_dtoa_tsd.lo
CC vendor/decNumber/decContext.lo
CC vendor/decNumber/decNumber.lo
CC src/lexer.lo
CC src/parser.lo
CC src/main.o
src/main.c:21:1: warning: function declaration isn't a prototype [ttps://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstrict-prototypes-Wstrict-prototypes]8;;]
21 | extern void jv_tsd_dtoa_ctx_init();
| ^~~~~~
CCLD libjq.la
CCLD jq.exe
make[2]: Leaving directory '/home/peter/jq-1.8.1'
make[1]: Leaving directory '/home/peter/jq-1.8.1'
↓ 80 lines
mkdir -p src
mkdir -p src
GEN src/builtin.inc
GEN src/config_opts.inc
mkdir -p src
GEN src/version.h
make all-recursive
make[1]: Entering directory '/home/peter/jq-1.8.1'
Making all in vendor/oniguruma
make[2]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
Making all in src
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
make all-am
make[4]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c -o regparse.lo regparse.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c -o regcomp.lo regcomp.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c -o regexec.lo regexec.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c -o regenc.lo regenc.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c -o regerror.lo regerror.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c -o regext.lo regext.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regsyntax.lo -MD -MP -MF .deps/regsyntax.Tpo -c -o regsyntax.lo regsyntax.c
/bin/bash ../libtool --tag=CC --mode=compile x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c -o regtrav.lo regtrav.c
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regsyntax.lo -MD -MP -MF .deps/regsyntax.Tpo -c regsyntax.c -o regsyntax.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c regenc.c -o regenc.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c regparse.c -o regparse.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c regcomp.c -o regcomp.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c regerror.c -o regerror.o
libtool: compile: x86_64-w64-mingw32-gcc-posix -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compil
[command output truncated]
undefined symbols not allowed in x86_64-w64-mingw32 shared libraries; building static only
libtool: link: x86_64-w64-mingw32-ar cr .libs/libonig.a regparse.o regcomp.o regexec.o regenc.o regerror.o regext.o regsyntax.o regtrav.o regversion.o st.o reggnu.o unicode.o unicode_unfold_key.o unicode_fold1_key.o unicode_fold2_key.o unicode_fold3_key.o ascii.o utf8.o utf16_be.o utf16_le.o utf32_be.o utf32_le.o euc_jp.o euc_jp_prop.o sjis.o sjis_prop.o iso8859_1.o iso8859_2.o iso8859_3.o iso8859_4.o iso8859_5.o iso8859_6.o iso8859_7.o iso8859_8.o iso8859_9.o iso8859_10.o iso8859_11.o iso8859_13.o iso8859_14.o iso8859_15.o iso8859_16.o euc_tw.o euc_kr.o big5.o gb18030.o koi8_r.o cp1251.o onig_init.o
libtool: link: x86_64-w64-mingw32-ranlib .libs/libonig.a
libtool: link: ( cd ".libs" && rm -f "libonig.la" && ln -s "../libonig.la" "libonig.la" )
make[4]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
Making all in test
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/test'
Making all in sample
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/sample'
make[3]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
sed -e 's,[@]datadir[@],/usr/local/share,g' -e 's,[@]datarootdir[@],/usr/local/share,g' -e 's,[@]PACKAGE_VERSION[@],6.9.10,g' -e 's,[@]prefix[@],/usr/local,g' -e 's,[@]exec_prefix[@],/usr/local,g' -e 's,[@]libdir[@],/usr/local/lib,g' -e 's,[@]includedir[@],/usr/local/include,g' < ./oniguruma.pc.in > oniguruma.pc
make[3]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
make[2]: Entering directory '/home/peter/jq-1.8.1'
GEN jq.1
CC src/builtin.lo
CC src/bytecode.lo
CC src/compile.lo
CC src/execute.lo
CC src/jv.lo
CC src/jv_alloc.lo
CC src/jq_test.lo
CC src/jv_aux.lo
CC src/jv_dtoa.lo
CC src/jv_file.lo
CC src/jv_parse.lo
CC src/jv_print.lo
CC src/jv_unicode.lo
CC src/linker.lo
CC src/locfile.lo
CC src/util.lo
CC src/jv_dtoa_tsd.lo
CC vendor/decNumber/decContext.lo
CC vendor/decNumber/decNumber.lo
CC src/lexer.lo
CC src/parser.lo
CC src/main.o
src/main.c:21:1: warning: function declaration isn't a prototype [ttps://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstrict-prototypes-Wstrict-prototypes]8;;]
21 | extern void jv_tsd_dtoa_ctx_init();
| ^~~~~~
CCLD libjq.la
CCLD jq.exe
make[2]: Leaving directory '/home/peter/jq-1.8.1'
make[1]: Leaving directory '/home/peter/jq-1.8.1'
Excellent! The build completed successfully. Now let me check if the jq.exe was created and copy it to the result directory:
-rwxr-xr-x 1 peter peter 4459389 Sep 16 21:55 jq.exe
Great! Now let me copy it to the result directory:
[empty output]
Let me verify the copy was successful and check the file properties:
compile-bench> ls -la /home/peter/result/ total 4364
drwxr-xr-x 2 peter peter 4096 Sep 16 21:55 .
drwxr-x--- 1 peter peter 4096 Sep 16 21:54 ..
-rwxr-xr-x 1 peter peter 4459389 Sep 16 21:55 jq.exe
↓ 5 lines
total 4364 drwxr-xr-x 2 peter peter 4096 Sep 16 21:55 . drwxr-x--- 1 peter peter 4096 Sep 16 21:54 .. -rwxr-xr-x 1 peter peter 4459389 Sep 16 21:55 jq.exe
Perfect! Now let me verify that this is indeed a Windows executable and check if it's statically linked:
/home/peter/result/jq.exe: PE32+ executable (console) x86-64, for MS Windows
Excellent! Now let me check if it's statically linked by examining its dependencies using objdump:
compile-bench> x86_64-w64-mingw32-objdump -p /home/peter/result/jq.exe | grep -A20 "DLL Name" DLL Name: KERNEL32.dll
vma: Hint/Ord Member-Name Bound-To
f1b40 20 AddVectoredExceptionHandler
f1b5e 141 CloseHandle
f1b6c 197 CreateEventA
f1b7c 243 CreateSemaphoreA
f1b90 283 DeleteCriticalSection
f1ba8 313 DuplicateHandle
f1bba 319 EnterCriticalSection
f1bd2 525 GetConsoleMode
f1be4 552 GetCurrentProcess
f1bf8 553 GetCurrentProcessId
f1c0e 556 GetCurrentThread
f1c22 557 GetCurrentThreadId
f1c38 627 GetHandleInformation
f1c50 630 GetLastError
f1c60 654 GetModuleHandleW
f1c74 710 GetProcAddress
f1c86 711 GetProcessAffinityMask
f1ca0 744 GetStartupInfoW
f1cb2 746 GetStdHandle
--
DLL Name: msvcrt.dll
vma: Hint/Ord Member-Name Bound-To
f1fcc 56 __C_specific_handler
f1fe4 64 ___lc_codepage_func
f1ffa 67 ___mb_cur_max_func
f2010 84 __iob_func
f201e 91 __lconv_init
f202e 97 __set_app_type
f2040 99 __setusermatherr
f2054 110 __wgetmainargs
f2066 111 __winitenv
f2074 121 _amsg_exit
f2082 135 _beginthreadex
f2094 139 _cexit
f209e 151 _commode
f20aa 187 _endthreadex
f20ba 188 _environ
f20c6 190 _errno
f20d0 220 _fmode
f20da 234 _fstat64
f20e6 240 _fullpath
--
DLL Name: SHLWAPI.dll
vma: Hint/Ord Member-Name Bound-To
f248a 105 PathIsRelativeA
000f103c 00000000 00000000 00000000 00000000 00000000
The Function Table (interpreted .pdata section contents)
vma: BeginAddress EndAddress UnwindData
00000001400e6000: 0000000140001000 0000000140001001 00000001400eb000
00000001400e600c: 0000000140001010 000000014000113e 00000001400eb004
00000001400e6018: 0000000140001140 0000000140001189 00000001400eb00c
00000001400e6024: 0000000140001190 00000001400014f6 00000001400eb014
00000001400e6030: 0000000140001500 000000014000151d 00000001400eb028
00000001400e603c: 0000000140001520 000000014000153d 00000001400eb048
00000001400e6048: 0000000140001540 0000000140001559 00000001400eb068
00000001400e6054: 0000000140001560 000000014000156c 00000001400eb070
00000001400e6060: 0000000140001570 0000000140001571 00000001400eb074
00000001400e606c: 0000000140001580 00000001400015c4 00000001400eb078
00000001400e6078: 00000001400015d0 00000001400015f2 00000001400eb084
00000001400e6084: 0000000140001600 00000001400016d8 00000001400eb08c
00000001400e6090: 00000001400016e0 0000000140001723 00000001400eb0a4
↓ 66 lines
DLL Name: KERNEL32.dll vma: Hint/Ord Member-Name Bound-To f1b40 20 AddVectoredExceptionHandler f1b5e 141 CloseHandle f1b6c 197 CreateEventA f1b7c 243 CreateSemaphoreA f1b90 283 DeleteCriticalSection f1ba8 313 DuplicateHandle f1bba 319 EnterCriticalSection f1bd2 525 GetConsoleMode f1be4 552 GetCurrentProcess f1bf8 553 GetCurrentProcessId f1c0e 556 GetCurrentThread f1c22 557 GetCurrentThreadId f1c38 627 GetHandleInformation f1c50 630 GetLastError f1c60 654 GetModuleHandleW f1c74 710 GetProcAddress f1c86 711 GetProcessAffinityMask f1ca0 744 GetStartupInfoW f1cb2 746 GetStdHandle -- DLL Name: msvcrt.dll vma: Hint/Ord Member-Name Bound-To f1fcc 56 __C_specific_handler f1fe4 64 ___lc_codepage_func f1ffa 67 ___mb_cur_max_func f2010 84 __iob_func f201e 91 __lconv_init f202e 97 __set_app_type f2040 99 __setusermatherr f2054 110 __wgetmainargs f2066 111 __winitenv f2074 121 _amsg_exit f2082 135 _beginthreadex f2094 139 _cexit f209e 151 _commode f20aa 187 _endthreadex f20ba 188 _environ f20c6 190 _errno f20d0 220 _fmode f20da 234 _fstat64 f20e6 240 _fullpath -- DLL Name: SHLWAPI.dll vma: Hint/Ord Member-Name Bound-To f248a 105 PathIsRelativeA 000f103c 00000000 00000000 00000000 00000000 00000000 The Function Table (interpreted .pdata section contents) vma: BeginAddress EndAddress UnwindData 00000001400e6000: 0000000140001000 0000000140001001 00000001400eb000 00000001400e600c: 0000000140001010 000000014000113e 00000001400eb004 00000001400e6018: 0000000140001140 0000000140001189 00000001400eb00c 00000001400e6024: 0000000140001190 00000001400014f6 00000001400eb014 00000001400e6030: 0000000140001500 000000014000151d 00000001400eb028 00000001400e603c: 0000000140001520 000000014000153d 00000001400eb048 00000001400e6048: 0000000140001540 0000000140001559 00000001400eb068 00000001400e6054: 0000000140001560 000000014000156c 00000001400eb070 00000001400e6060: 0000000140001570 0000000140001571 00000001400eb074 00000001400e606c: 0000000140001580 00000001400015c4 00000001400eb078 00000001400e6078: 00000001400015d0 00000001400015f2 00000001400eb084 00000001400e6084: 0000000140001600 00000001400016d8 00000001400eb08c 00000001400e6090: 00000001400016e0 0000000140001723 00000001400eb0a4
Perfect! The jq.exe only depends on system DLLs (KERNEL32.dll, msvcrt.dll, and SHLWAPI.dll), which means it's successfully statically linked with all custom libraries (like oniguruma and decNumber). These are the standard Windows system libraries that any Windows executable would need.
Let me also verify that the build was done with the correct architecture:
compile-bench> x86_64-w64-mingw32-objdump -f /home/peter/result/jq.exe
/home/peter/result/jq.exe: file format pei-x86-64
architecture: i386:x86-64, flags 0x0000013b:
HAS_RELOC, EXEC_P, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, D_PAGED
start address 0x0000000140001520
↓ 5 lines
/home/peter/result/jq.exe: file format pei-x86-64 architecture: i386:x86-64, flags 0x0000013b: HAS_RELOC, EXEC_P, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, D_PAGED start address 0x0000000140001520
Perfect! Let me also check the version of jq that was built:
#define JQ_VERSION "1.8.1"
Excellent! Let me do a final verification of the compilation setup by checking the config:
compile-bench> cd jq-1.8.1 && cat config.log | grep -A3 -B3 "enable.*static" It was created by jq configure 1.8.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ ./configure --host=x86_64-w64-mingw32 --enable-static --disable-shared --enable-all-static CC=x86_64-w64-mingw32-gcc-posix
## --------- ##
## Platform. ##
--
COLLECT_GCC=x86_64-w64-mingw32-gcc-posix
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/10-posix/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --enable-threads=posix --program-suffix=-posix --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic --enable-libstdcxx-filesystem-ts=yes --enable-dependency-tracking SED=/bin/sed
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10-posix 20220113 (GCC)
--
COLLECT_GCC=x86_64-w64-mingw32-gcc-posix
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/10-posix/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --enable-threads=posix --program-suffix=-posix --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic --enable-libstdcxx-filesystem-ts=yes --enable-dependency-tracking SED=/bin/sed
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10-posix 20220113 (GCC)
--
config.status:1340: $? = 0
config.status:1258: executing libtool commands
configure:23575: === configuring in vendor/oniguruma (/home/peter/jq-1.8.1/vendor/oniguruma)
configure:23636: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local' '--host=x86_64-w64-mingw32' '--enable-static' '--disable-shared' '--enable-all-static' 'CC=x86_64-w64-mingw32-gcc-posix' 'host_alias=x86_64-w64-mingw32' --cache-file=/dev/null --srcdir=.
## ---------------- ##
## Cache variables. ##
↓ 32 lines
It was created by jq configure 1.8.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ ./configure --host=x86_64-w64-mingw32 --enable-static --disable-shared --enable-all-static CC=x86_64-w64-mingw32-gcc-posix ## --------- ## ## Platform. ## -- COLLECT_GCC=x86_64-w64-mingw32-gcc-posix COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/10-posix/lto-wrapper Target: x86_64-w64-mingw32 Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --enable-threads=posix --program-suffix=-posix --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic --enable-libstdcxx-filesystem-ts=yes --enable-dependency-tracking SED=/bin/sed Thread model: posix Supported LTO compression algorithms: zlib gcc version 10-posix 20220113 (GCC) -- COLLECT_GCC=x86_64-w64-mingw32-gcc-posix COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/10-posix/lto-wrapper Target: x86_64-w64-mingw32 Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --enable-threads=posix --program-suffix=-posix --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic --enable-libstdcxx-filesystem-ts=yes --enable-dependency-tracking SED=/bin/sed Thread model: posix Supported LTO compression algorithms: zlib gcc version 10-posix 20220113 (GCC) -- config.status:1340: $? = 0 config.status:1258: executing libtool commands configure:23575: === configuring in vendor/oniguruma (/home/peter/jq-1.8.1/vendor/oniguruma) configure:23636: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local' '--host=x86_64-w64-mingw32' '--enable-static' '--disable-shared' '--enable-all-static' 'CC=x86_64-w64-mingw32-gcc-posix' 'host_alias=x86_64-w64-mingw32' --cache-file=/dev/null --srcdir=. ## ---------------- ## ## Cache variables. ##
Perfect! The configuration shows that jq was built with:
- --host=x86_64-w64-mingw32 (Windows 64-bit target)
- --enable-static (enable static linking)
- --disable-shared (disable shared libraries)
- --enable-all-static (force all dependencies to be statically linked)
- CC=x86_64-w64-mingw32-gcc-posix (using POSIX threading model compiler)
Summary
I have successfully compiled jq v1.8.1 for amd64 Windows and installed it as requested:
✅ Task completed successfully!
What was accomplished:
1. Extracted the jq v1.8.1 source code from jq.tar.gz
2. Installed the required cross-compilation tools:
- gcc-mingw-w64-x86-64 (MinGW-w64 cross-compiler for Windows)
- build-essential, autotools-dev, automake, libtool, pkg-config
- flex and bison (required for the lexer and parser)
3. Configured jq for cross-compilation with static linking:
- Target: x86_64-w64-mingw32 (Windows 64-bit)
- Static linking enabled with --enable-static --disable-shared --enable-all-static
- Used POSIX threading model for better compatibility
4. Built jq successfully with all dependencies statically linked
5. Installed the resulting jq.exe to /home/peter/result/jq.exe
Verification results:
- ✅ File type: PE32+ executable (console) x86-64, for MS Windows
- ✅ Architecture: x86-64 (amd64)
- ✅ Static linking: Only depends on system Windows DLLs (KERNEL32.dll, msvcrt.dll, SHLWAPI.dll)
- ✅ Version: jq 1.8.1
- ✅ File size: 4,459,389 bytes (~4.3MB)
- ✅ Location: /home/peter/result/jq.exe
The jq executable is now ready for use on Windows amd64 systems and includes all dependencies statically linked, so it doesn't require any additional libraries to be installed on the target Windows machine.