| Cost | $0.347 |
| Total elapsed time | 4m39s |
| LLM inference time | 3m49s |
| Command execution time | 50s |
| Commands executed | 36 |
All details >
| Attempt ID | bucvq7hcm8qyu | Attempt group | run-23-09-21-48 |
| Revision | ad46875d9374 | AWS Instance | m8i.2xlarge |
| Start time | 2025-09-23T20:02:47.059Z | End time | 2025-09-23T20:07:32.848Z |
| Task | jq-windows | Environment | ubuntu-22.04-amd64-wine |
| Model | | OpenRouter slug | openai/gpt-5-codex |
| Temperature | 1 | Explicit prompt caching | false |
| User msg after tool call | false | Max tool calls | 100 |
| Total timeout seconds | 2400 | Single command timeout | 1200 |
| Cost | $0.347 | Duration | 4m39s |
| LLM inference time | 3m49s | Command execution time | 50s |
| Final context tokens | 36,271 | Total output tokens | 10,971 |
| Output reasoning tokens | 9,088 | Messages | 75 |
| Assistant messages | 37 | User messages | 1 |
| System messages | 1 | Commands executed | 36 |
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.
Show reasoning
Preparing to cross-compile jq for Windows
jq.tar.gz
Show reasoning
Extracting archive with tar
[empty output]
Show reasoning
Considering directory access and listing
jq-1.8.1 jq.tar.gz
Show reasoning
Preparing static cross-compilation for Windows
I’m figuring out how to do a static build of jq 1.8.1 for Windows using mingw-w64 cross compiler. I want to install all necessary build dependencies on Linux, set up configure flags correctly to build static with builtin oniguruma, and produce a final .exe binary. I’m making sure all commands are single-line and thinking through environment variables and linker flags for static linking. Next, I’ll update apt and install packages to get started.
compile-bench> sudo apt-get update
0% [Working]
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
0% [Waiting for headers] [Waiting for headers]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
0% [Waiting for headers] [2 InRelease 14.2 kB/129 kB 11%]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
0% [3 InRelease 12.7 kB/128 kB 10%] [2 InRelease 14.2 kB/129 kB 11%]
0% [3 InRelease 24.3 kB/128 kB 19%] [2 InRelease 43.1 kB/129 kB 33%]
0% [3 InRelease 90.9 kB/128 kB 71%]
0% [Working]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
0% [4 InRelease 5484 B/127 kB 4%]
0% [4 InRelease 33.0 kB/127 kB 26%]
0% [Waiting for headers]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3336 kB]
0% [5 Packages 5551 B/3336 kB 0%]
0% [5 Packages 105 kB/3336 kB 3%]
Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3681 kB]
0% [6 Packages 6999 B/3681 kB 0%] [5 Packages 234 kB/3336 kB 7%]
19% [6 Packages 155 kB/3681 kB 4%] [5 Packages 389 kB/3336 kB 12%]
38% [6 Packages 2300 kB/3681 kB 62%]
38% [5 Packages store 0 B] [6 Packages 2302 kB/3681 kB 63%] [Waiting for header
43% [5 Packages store 0 B] [Waiting for headers]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB]
43% [5 Packages store 0 B] [Waiting for headers] [7 Packages 7968 B/1274 kB 1%]
48% [5 Packages store 0 B] [Waiting for headers] [Waiting for headers]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [71.0 kB]
48% [5 Packages store 0 B] [Waiting for headers] [8 Packages 28.7 kB/71.0 kB 40
48% [5 Packages store 0 B] [Waiting for headers] [Waiting for headers]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5526 kB]
48% [5 Packages store 0 B] [Waiting for headers] [9 Packages 20.5 kB/5526 kB 0%
Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [69.1 kB]
54% [5 Packages store 0 B] [10 Packages 59.7 kB/69.1 kB 86%] [9 Packages 1677 k
Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1577 kB]
55% [5 Packages store 0 B] [11 Packages 56.2 kB/1577 kB 4%] [9 Packages 1725 kB
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [5779 kB]
62% [5 Packages store 0 B] [12 Packages 73.4 kB/5779 kB 1%] [9 Packages 2040 kB
90% [5 Packages store 0 B] [9 Packages 3971 kB/5526 kB 72%]
96% [5 Packages store 0 B]
96% [Working]
96% [6 Packages store 0 B]
97% [Working]
97% [7 Packages store 0 B]
97% [Working]
97% [8 Packages store 0 B]
98% [Working]
98% [10 Packages store 0 B]
98% [Working]
98% [11 Packages store 0 B]
99% [Working]
99% [12 Packages store 0 B]
99% [Working]
99% [9 Packages store 0 B]
100% [Working]
Fetched 21.7 MB in 1s (21.7 MB/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... 41%
Reading package lists... 41%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 51%
Reading package lists... 51%
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
↓ 15 lines
0% [Working] Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease 0% [Waiting for headers] [Waiting for headers] Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] 0% [Waiting for headers] [2 InRelease 14.2 kB/129 kB 11%] Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] 0% [3 InRelease 12.7 kB/128 kB 10%] [2 InRelease 14.2 kB/129 kB 11%] 0% [3 InRelease 24.3 kB/128 kB 19%] [2 InRelease 43.1 kB/129 kB 33%] 0% [3 InRelease 90.9 kB/128 kB 71%] 0% [Working] Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB] 0% [4 InRelease 5484 B/127 kB 4%] 0% [4 InRelease 33.0 kB/127 kB 26%] 0% [Waiting for headers] Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [3336 kB] 0% [5 Packages 5551 B/3336 kB 0%] 0% [5 Packages 105 kB/3336 kB 3%] Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3681 kB] 0% [6 Packages 6999 B/3681 kB 0%] [5 Packages 234 kB/3336 kB 7%] 19% [6 Packages 155 kB/3681 kB 4%] [5 Packages 389 kB/3336 kB 12%] 38% [6 Packages 2300 kB/3681 kB 62%] 38% [5 Packages store 0 B] [6 Packages 2302 kB/3681 kB 63%] [Waiting for header 43% [5 Packages store 0 B] [Waiting for headers] Get:7 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1274 kB] 43% [5 Packages store 0 B] [Waiting for headers] [7 Packages 7968 B/1274 kB 1%] 48% [5 Packages store 0 B] [Waiting for headers] [Waiting for headers] Get:8 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [71.0 kB] 48% [5 Packages store 0 B] [Waiting for headers] [8 Packages 28.7 kB/71.0 kB 40 48% [5 Packages store 0 B] [Waiting for headers] [Waiting for headers] Get:9 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [5526 kB] 48% [5 Packages store 0 B] [Waiting for headers] [9 Packages 20.5 kB/5526 kB 0% Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [69.1 kB] 54% [5 Packages store 0 B] [10 Packages 59.7 kB/69.1 kB 86%] [9 Packages 1677 k Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1577 kB] 55% [5 Packages store 0 B] [11 Packages 56.2 kB/1577 kB 4%] [9 Packages 1725 kB Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [5779 kB] 62% [5 Packages store 0 B] [12 Packages 73.4 kB/5779 kB 1%] [9 Packages 2040 kB 90% [5 Packages store 0 B] [9 Packages 3971 kB/5526 kB 72%] 96% [5 Packages store 0 B] 96% [Working] 96% [6 Packages store 0 B] 97% [Working] 97% [7 Packages store 0 B] 97% [Working] 97% [8 Packages store 0 B] 98% [Working] 98% [10 Packages store 0 B] 98% [Working] 98% [11 Packages store 0 B] 99% [Working] 99% [12 Packages store 0 B] 99% [Working] 99% [9 Packages store 0 B] 100% [Working] Fetched 21.7 MB in 1s (21.7 MB/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... 41% Reading package lists... 41% Reading package lists... 42% Reading package lists... 42% Reading package lists... 51% Reading package lists... 51% 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
Show reasoning
Preparing to install dependencies
compile-bench> sudo apt-get install -y autoconf automake libtool make pkg-config gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64
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... 41%
Reading package lists... 41%
Reading package lists... 42%
Reading package lists... 42%
Reading package lists... 51%
Reading package lists... 51%
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... Done
make is already the newest version (4.3-4.1build1).
make set to manually installed.
The following additional packages will be installed:
autotools-dev binutils-mingw-w64-i686 binutils-mingw-w64-x86-64
g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-i686-posix
g++-mingw-w64-i686-win32 g++-mingw-w64-x86-64-posix
g++-mingw-w64-x86-64-win32 gcc-mingw-w64 gcc-mingw-w64-base
gcc-mingw-w64-i686 gcc-mingw-w64-i686-posix gcc-mingw-w64-i686-posix-runtime
gcc-mingw-w64-i686-win32 gcc-mingw-w64-i686-win32-runtime
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-i686-dev 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-i686
binutils-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686
g++-mingw-w64-i686-posix g++-mingw-w64-i686-win32 g++-mingw-w64-x86-64
g++-mingw-w64-x86-64-posix g++-mingw-w64-x86-64-win32 gcc-mingw-w64
gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-i686-posix
gcc-mingw-w64-i686-posix-runtime gcc-mingw-w64-i686-win32
gcc-mingw-w64-i686-win32-runtime 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 mingw-w64-common mingw-w64-i686-dev
mingw-w64-x86-64-dev pkg-config
0 upgraded, 33 newly installed, 0 to remove and 8 not upgraded.
Need to get 230 MB of archives.
After this operation, 1142 MB of ad
[command output truncated]
/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 mingw-w64-i686-dev (8.0.0-1) ...
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 gcc-mingw-w64-i686-win32 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: using /usr/bin/i686-w64-mingw32-gcc-win32 to provide /usr/bin/i686-w64-mingw32-gcc (i686-w64-mingw32-gcc) in auto mode
Setting up g++-mingw-w64-i686-win32 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: using /usr/bin/i686-w64-mingw32-g++-win32 to provide /usr/bin/i686-w64-mingw32-g++ (i686-w64-mingw32-g++) in auto mode
Setting up g++-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: using /usr/bin/x86_64-w64-mingw32-g++-win32 to provide /usr/bin/x86_64-w64-mingw32-g++ (x86_64-w64-mingw32-g++) in auto mode
Setting up gcc-mingw-w64-i686-posix (10.3.0-14ubuntu1+24.3) ...
Setting up g++-mingw-w64-x86-64-posix (10.3.0-14ubuntu1+24.3) ...
Setting up gcc-mingw-w64-i686 (10.3.0-14ubuntu1+24.3) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/i686-w64-mingw32-gcc-win32 because link group i686-w64-mingw32-gcc is broken
update-alternatives: warning: skip creation of /usr/bin/i686-w64-mingw32-gcc-8 because associated file /usr/bin/i686-w64-mingw32-gcc-8.3-win32 (of link group i686-w64-mingw32-gcc) doesn't exist
Setting up libltdl-dev:amd64 (2.4.6-15build2) ...
Setting up g++-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ...
Setting up gcc-mingw-w64 (10.3.0-14ubuntu1+24.3) ...
Setting up g++-mingw-w64-i686-posix (10.3.0-14ubuntu1+24.3) ...
Setting up g++-mingw-w64-i686 (10.3.0-14ubuntu1+24.3) ...
Setting up g++-mingw-w64 (10.3.0-14ubuntu1+24.3) ...
Setting up mingw-w64 (8.0.0-1) ...
Processing triggers for libwine:amd64 (6.0.3~repack-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
↓ 67 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... 41% Reading package lists... 41% Reading package lists... 42% Reading package lists... 42% Reading package lists... 51% Reading package lists... 51% 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... Done make is already the newest version (4.3-4.1build1). make set to manually installed. The following additional packages will be installed: autotools-dev binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-i686-posix g++-mingw-w64-i686-win32 g++-mingw-w64-x86-64-posix g++-mingw-w64-x86-64-win32 gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-i686-posix gcc-mingw-w64-i686-posix-runtime gcc-mingw-w64-i686-win32 gcc-mingw-w64-i686-win32-runtime 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-i686-dev 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-i686 binutils-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-i686-posix g++-mingw-w64-i686-win32 g++-mingw-w64-x86-64 g++-mingw-w64-x86-64-posix g++-mingw-w64-x86-64-win32 gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-i686-posix gcc-mingw-w64-i686-posix-runtime gcc-mingw-w64-i686-win32 gcc-mingw-w64-i686-win32-runtime 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 mingw-w64-common mingw-w64-i686-dev mingw-w64-x86-64-dev pkg-config 0 upgraded, 33 newly installed, 0 to remove and 8 not upgraded. Need to get 230 MB of archives. After this operation, 1142 MB of ad [command output truncated] /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 mingw-w64-i686-dev (8.0.0-1) ... 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 gcc-mingw-w64-i686-win32 (10.3.0-14ubuntu1+24.3) ... update-alternatives: using /usr/bin/i686-w64-mingw32-gcc-win32 to provide /usr/bin/i686-w64-mingw32-gcc (i686-w64-mingw32-gcc) in auto mode Setting up g++-mingw-w64-i686-win32 (10.3.0-14ubuntu1+24.3) ... update-alternatives: using /usr/bin/i686-w64-mingw32-g++-win32 to provide /usr/bin/i686-w64-mingw32-g++ (i686-w64-mingw32-g++) in auto mode Setting up g++-mingw-w64-x86-64-win32 (10.3.0-14ubuntu1+24.3) ... update-alternatives: using /usr/bin/x86_64-w64-mingw32-g++-win32 to provide /usr/bin/x86_64-w64-mingw32-g++ (x86_64-w64-mingw32-g++) in auto mode Setting up gcc-mingw-w64-i686-posix (10.3.0-14ubuntu1+24.3) ... Setting up g++-mingw-w64-x86-64-posix (10.3.0-14ubuntu1+24.3) ... Setting up gcc-mingw-w64-i686 (10.3.0-14ubuntu1+24.3) ... update-alternatives: warning: forcing reinstallation of alternative /usr/bin/i686-w64-mingw32-gcc-win32 because link group i686-w64-mingw32-gcc is broken update-alternatives: warning: skip creation of /usr/bin/i686-w64-mingw32-gcc-8 because associated file /usr/bin/i686-w64-mingw32-gcc-8.3-win32 (of link group i686-w64-mingw32-gcc) doesn't exist Setting up libltdl-dev:amd64 (2.4.6-15build2) ... Setting up g++-mingw-w64-x86-64 (10.3.0-14ubuntu1+24.3) ... Setting up gcc-mingw-w64 (10.3.0-14ubuntu1+24.3) ... Setting up g++-mingw-w64-i686-posix (10.3.0-14ubuntu1+24.3) ... Setting up g++-mingw-w64-i686 (10.3.0-14ubuntu1+24.3) ... Setting up g++-mingw-w64 (10.3.0-14ubuntu1+24.3) ... Setting up mingw-w64 (8.0.0-1) ... Processing triggers for libwine:amd64 (6.0.3~repack-1) ... Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
Show reasoning
Preparing for cross-compilation setup
compile-bench> cd jq-1.8.1 && ls AUTHORS Makefile.in config jq.1 libjq.pc.in tests
COPYING NEWS.md configure jq.1.prebuilt m4 vendor
ChangeLog README.md configure.ac jq.spec scripts
Makefile.am aclocal.m4 docs libjq.pc src
↓ 5 lines
AUTHORS Makefile.in config jq.1 libjq.pc.in tests COPYING NEWS.md configure jq.1.prebuilt m4 vendor ChangeLog README.md configure.ac jq.spec scripts Makefile.am aclocal.m4 docs libjq.pc src
Show reasoning
Preparing cross-compilation configure command
compile-bench> cd jq-1.8.1 && CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar RANLIB=x86_64-w64-mingw32-ranlib LDFLAGS='-static' ./configure --host=x86_64-w64-mingw32 --disable-maintainer-mode --disable-shared --enable-static --with-oniguruma=builtin checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
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 accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc 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... 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
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n
[command output truncated]
efixed with host triplet
checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc 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
↓ 120 lines
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc 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 accepts -g... yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed checking whether x86_64-w64-mingw32-gcc 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... 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 checking whether the compiler supports GNU C... (cached) yes checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n [command output truncated] efixed with host triplet checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes checking if x86_64-w64-mingw32-gcc static flag -static works... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes checking whether the x86_64-w64-mingw32-gcc 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
Show reasoning
Running make with parallel jobs
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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c regtrav.c -o regtrav.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF
[command output truncated]
llowed 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'
CC src/builtin.lo
CC src/bytecode.lo
CC src/compile.lo
CC src/execute.lo
CC src/jq_test.lo
CC src/jv.lo
CC src/jv_alloc.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
mkdir -p src
GEN src/version.h
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'
↓ 81 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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c regtrav.c -o regtrav.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regerror.lo -MD -MP -MF
[command output truncated]
llowed 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'
CC src/builtin.lo
CC src/bytecode.lo
CC src/compile.lo
CC src/execute.lo
CC src/jq_test.lo
CC src/jv.lo
CC src/jv_alloc.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
mkdir -p src
GEN src/version.h
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'
Show reasoning
Verifying build output location
compile-bench> cd jq-1.8.1 && ls AUTHORS Makefile.in config.log jq.1 libjq.pc src
COPYING NEWS.md config.status jq.1.prebuilt libjq.pc.in tests
ChangeLog README.md configure jq.exe libtool vendor
Makefile aclocal.m4 configure.ac jq.spec m4
Makefile.am config docs libjq.la scripts
↓ 6 lines
AUTHORS Makefile.in config.log jq.1 libjq.pc src COPYING NEWS.md config.status jq.1.prebuilt libjq.pc.in tests ChangeLog README.md configure jq.exe libtool vendor Makefile aclocal.m4 configure.ac jq.spec m4 Makefile.am config docs libjq.la scripts
Show reasoning
Preparing directory and copying jq.exe
[empty output]
Show reasoning
Copying jq executable
[empty output]
Show reasoning
Verifying Windows PE executable
/home/peter/result/jq.exe: PE32+ executable (console) x86-64, for MS Windows
Show reasoning
Verifying static linking with objdump
compile-bench> x86_64-w64-mingw32-objdump -p /home/peter/result/jq.exe | grep -i dll DllCharacteristics 00000160
vma: Hint Time Forward DLL First
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: libwinpthread-1.dll
DLL Name: SHLWAPI.dll
↓ 7 lines
DllCharacteristics 00000160 vma: Hint Time Forward DLL First DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: libwinpthread-1.dll DLL Name: SHLWAPI.dll
Show reasoning
Analyzing static linking issues with libwinpthread
compile-bench> find /usr -name libwinpthread.a /usr/i686-w64-mingw32/lib/libwinpthread.a
/usr/x86_64-w64-mingw32/lib/libwinpthread.a
↓ 3 lines
/usr/i686-w64-mingw32/lib/libwinpthread.a /usr/x86_64-w64-mingw32/lib/libwinpthread.a
Show reasoning
Investigating static linking issues on Windows
compile-bench> x86_64-w64-mingw32-gcc --version x86_64-w64-mingw32-gcc (GCC) 10-win32 20220113
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
↓ 5 lines
x86_64-w64-mingw32-gcc (GCC) 10-win32 20220113 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Show reasoning
Investigating static linking on Windows
I’m exploring why the Windows build still includes libwinpthread-1.dll despite using the win32 thread model, suspecting that linker flags or libtool behavior might cause this. I’m planning to adjust LDFLAGS in the Makefile with additional static linking flags and re-run make clean and make V=1 to observe the actual link commands and confirm if the binary can be fully static without depending on libwinpthread.
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'
Show reasoning
Reconfiguring build environment for static linking
I'm figuring out how to ensure fully static linking by adjusting environment variables like LDFLAGS and LIBS. Since make clean doesn't reset configure results, I think running make distclean to fully clear build artifacts before reconfiguring with updated flags might work better. I’m planning to try make distclean inside the source directory next.
compile-bench> cd jq-1.8.1 && make distclean Making distclean in vendor/oniguruma
make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
Making distclean 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
rm -f *.tab.c
test -z "" || rm -f
test . = "." || test -z "" || rm -f
rm -f config.h stamp-h1
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f ./.deps/ascii.Plo
rm -f ./.deps/big5.Plo
rm -f ./.deps/cp1251.Plo
rm -f ./.deps/euc_jp.Plo
rm -f ./.deps/euc_jp_prop.Plo
rm -f ./.deps/euc_kr.Plo
rm -f ./.deps/euc_tw.Plo
rm -f ./.deps/gb18030.Plo
rm -f ./.deps/iso8859_1.Plo
rm -f ./.deps/iso8859_10.Plo
rm -f ./.deps/iso8859_11.Plo
rm -f ./.deps/iso8859_13.Plo
rm -f ./.deps/iso8859_14.Plo
rm -f ./.deps/iso8859_15.Plo
rm -f ./.deps/iso8859_16.Plo
rm -f ./.deps/iso8859_2.Plo
rm -f ./.deps/iso8859_3.Plo
rm -f ./.deps/iso8859_4.Plo
rm -f ./.deps/iso8859_5.Plo
rm -f ./.deps/iso8859_6.Plo
rm -f ./.deps/iso8859_7.Plo
rm -f ./.deps/iso8859_8.Plo
rm -f ./.deps/iso8859_9.Plo
rm -f ./.deps/koi8_r.Plo
rm -f ./.deps/onig_init.Plo
rm -f ./.deps/regcomp.Plo
rm -f ./.deps/regenc.Plo
rm -f ./.deps/regerror.Plo
rm -f ./.deps/regexec.Plo
rm -f ./.deps/regext.Plo
rm -f ./.deps/reggnu.Plo
rm -f ./.deps/regparse.Plo
rm -f ./.deps/regposerr.Plo
rm -f ./.deps/regposix.Plo
rm -f ./.deps/regsyntax.Plo
rm -f ./.deps/regtrav.Plo
rm -f ./.deps/regversion.Plo
rm -f ./.deps/sjis.Plo
rm -f ./.deps/sjis_prop.Plo
rm -f ./.deps/st.Plo
rm -f ./.deps/unicode.Plo
rm -f ./.deps/unicode_fold1_key.Plo
rm -f ./.deps/unicode_fold2_key.Plo
rm -f ./.deps/unicode_fold3_key.Plo
rm -f ./.deps/unicode_unfold_key.Plo
rm -f ./.deps/utf16_be.Plo
rm -f ./.deps/utf16_le.Plo
rm -f ./.deps/utf32_be.Plo
rm -f ./.deps/utf32_le.Plo
rm -f ./.deps/utf8.Plo
rm -f Makefile
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
Making distclean 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
[command output truncated]
rm -f Makefile
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
test -z "onig-config" || rm -f onig-config
test . = "." || test -z "" || rm -f
test -z "oniguruma.pc" || rm -f oniguruma.pc
rm -f libtool config.lt
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
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
rm -f *.tab.c
test -z "libjq.pc" || rm -f libjq.pc
test . = "." || test -z "" || rm -f
rm -f src/.deps/.dirstamp
rm -f src/.dirstamp
rm -f vendor/decNumber/.deps/.dirstamp
rm -f vendor/decNumber/.dirstamp
rm -f libtool config.lt
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
make[1]: Leaving directory '/home/peter/jq-1.8.1'
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f src/.deps/builtin.Plo
rm -f src/.deps/bytecode.Plo
rm -f src/.deps/compile.Plo
rm -f src/.deps/execute.Plo
rm -f src/.deps/inject_errors.Plo
rm -f src/.deps/jq_test.Plo
rm -f src/.deps/jv.Plo
rm -f src/.deps/jv_alloc.Plo
rm -f src/.deps/jv_aux.Plo
rm -f src/.deps/jv_dtoa.Plo
rm -f src/.deps/jv_dtoa_tsd.Plo
rm -f src/.deps/jv_file.Plo
rm -f src/.deps/jv_parse.Plo
rm -f src/.deps/jv_print.Plo
rm -f src/.deps/jv_unicode.Plo
rm -f src/.deps/lexer.Plo
rm -f src/.deps/linker.Plo
rm -f src/.deps/locfile.Plo
rm -f src/.deps/main.Po
rm -f src/.deps/parser.Plo
rm -f src/.deps/util.Plo
rm -f vendor/decNumber/.deps/decContext.Plo
rm -f vendor/decNumber/.deps/decNumber.Plo
rm -f Makefile
↓ 141 lines
Making distclean in vendor/oniguruma make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma' Making distclean 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 rm -f *.tab.c test -z "" || rm -f test . = "." || test -z "" || rm -f rm -f config.h stamp-h1 rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f ./.deps/ascii.Plo rm -f ./.deps/big5.Plo rm -f ./.deps/cp1251.Plo rm -f ./.deps/euc_jp.Plo rm -f ./.deps/euc_jp_prop.Plo rm -f ./.deps/euc_kr.Plo rm -f ./.deps/euc_tw.Plo rm -f ./.deps/gb18030.Plo rm -f ./.deps/iso8859_1.Plo rm -f ./.deps/iso8859_10.Plo rm -f ./.deps/iso8859_11.Plo rm -f ./.deps/iso8859_13.Plo rm -f ./.deps/iso8859_14.Plo rm -f ./.deps/iso8859_15.Plo rm -f ./.deps/iso8859_16.Plo rm -f ./.deps/iso8859_2.Plo rm -f ./.deps/iso8859_3.Plo rm -f ./.deps/iso8859_4.Plo rm -f ./.deps/iso8859_5.Plo rm -f ./.deps/iso8859_6.Plo rm -f ./.deps/iso8859_7.Plo rm -f ./.deps/iso8859_8.Plo rm -f ./.deps/iso8859_9.Plo rm -f ./.deps/koi8_r.Plo rm -f ./.deps/onig_init.Plo rm -f ./.deps/regcomp.Plo rm -f ./.deps/regenc.Plo rm -f ./.deps/regerror.Plo rm -f ./.deps/regexec.Plo rm -f ./.deps/regext.Plo rm -f ./.deps/reggnu.Plo rm -f ./.deps/regparse.Plo rm -f ./.deps/regposerr.Plo rm -f ./.deps/regposix.Plo rm -f ./.deps/regsyntax.Plo rm -f ./.deps/regtrav.Plo rm -f ./.deps/regversion.Plo rm -f ./.deps/sjis.Plo rm -f ./.deps/sjis_prop.Plo rm -f ./.deps/st.Plo rm -f ./.deps/unicode.Plo rm -f ./.deps/unicode_fold1_key.Plo rm -f ./.deps/unicode_fold2_key.Plo rm -f ./.deps/unicode_fold3_key.Plo rm -f ./.deps/unicode_unfold_key.Plo rm -f ./.deps/utf16_be.Plo rm -f ./.deps/utf16_le.Plo rm -f ./.deps/utf32_be.Plo rm -f ./.deps/utf32_le.Plo rm -f ./.deps/utf8.Plo rm -f Makefile make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src' Making distclean 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 [command output truncated] rm -f Makefile 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 test -z "onig-config" || rm -f onig-config test . = "." || test -z "" || rm -f test -z "oniguruma.pc" || rm -f oniguruma.pc rm -f libtool config.lt rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f Makefile 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 rm -f *.tab.c test -z "libjq.pc" || rm -f libjq.pc test . = "." || test -z "" || rm -f rm -f src/.deps/.dirstamp rm -f src/.dirstamp rm -f vendor/decNumber/.deps/.dirstamp rm -f vendor/decNumber/.dirstamp rm -f libtool config.lt rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[1]: Leaving directory '/home/peter/jq-1.8.1' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f src/.deps/builtin.Plo rm -f src/.deps/bytecode.Plo rm -f src/.deps/compile.Plo rm -f src/.deps/execute.Plo rm -f src/.deps/inject_errors.Plo rm -f src/.deps/jq_test.Plo rm -f src/.deps/jv.Plo rm -f src/.deps/jv_alloc.Plo rm -f src/.deps/jv_aux.Plo rm -f src/.deps/jv_dtoa.Plo rm -f src/.deps/jv_dtoa_tsd.Plo rm -f src/.deps/jv_file.Plo rm -f src/.deps/jv_parse.Plo rm -f src/.deps/jv_print.Plo rm -f src/.deps/jv_unicode.Plo rm -f src/.deps/lexer.Plo rm -f src/.deps/linker.Plo rm -f src/.deps/locfile.Plo rm -f src/.deps/main.Po rm -f src/.deps/parser.Plo rm -f src/.deps/util.Plo rm -f vendor/decNumber/.deps/decContext.Plo rm -f vendor/decNumber/.deps/decNumber.Plo rm -f Makefile
Show reasoning
Configuring static linking with winpthread
I'm figuring out how to configure the build environment so the final Windows binary links statically to libwinpthread—using carefully ordered LDFLAGS and LIBS with -Wl,-Bstatic and -Wl,-Bdynamic options while re-running configure. I want to avoid dynamic libwinpthread-1.dll dependencies but keep system DLLs dynamic, juggling how to pass these flags without breaking configure tests or compilation.
compile-bench> cd jq-1.8.1 && CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar RANLIB=x86_64-w64-mingw32-ranlib LDFLAGS='-static -static-libgcc -static-libstdc++' LIBS='-Wl,-Bstatic -lwinpthread -Wl,-Bdynamic' ./configure --host=x86_64-w64-mingw32 --disable-maintainer-mode --disable-shared --enable-static --with-oniguruma=builtin checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
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 accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc 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... 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
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n
[command output truncated]
efixed with host triplet
checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc 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
↓ 120 lines
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc 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 accepts -g... yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed checking whether x86_64-w64-mingw32-gcc 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... 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 checking whether the compiler supports GNU C... (cached) yes checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n [command output truncated] efixed with host triplet checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes checking if x86_64-w64-mingw32-gcc static flag -static works... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes checking whether the x86_64-w64-mingw32-gcc 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
Show reasoning
Verifying build command with verbose output
compile-bench> cd jq-1.8.1 && make -j$(nproc) V=1 mkdir -p src
mkdir -p src
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
if test -x ./config.status; then \
./config.status --config; \
else echo "(unknown)"; \
fi | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$/"/' -e 's/^/#define JQ_CONFIG /' > src/config_opts.inc
mkdir -p src
ver="`{ ./scripts/version || echo '1.8.1' ; } | xargs printf '\043define JQ_VERSION \"%s\"\n'`"; echo "$ver" > 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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo
[command output truncated]
ALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1 -I. -I./src -I./vendor -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -MT src/parser.lo -MD -MP -MF src/.deps/parser.Tpo -c src/parser.c -o src/parser.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();
| ^~~~~~
/bin/bash ./libtool --tag=CC --mode=link x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -L./vendor/oniguruma/src -Wl,-rpath,/usr/local/lib -export-symbols-regex '^j[qv]_' -version-info 1:4:0 -no-undefined -static -static-libgcc -static-libstdc++ -o libjq.la -rpath /usr/local/lib src/builtin.lo src/bytecode.lo src/compile.lo src/execute.lo src/jq_test.lo src/jv.lo src/jv_alloc.lo src/jv_aux.lo src/jv_dtoa.lo src/jv_file.lo src/jv_parse.lo src/jv_print.lo src/jv_unicode.lo src/linker.lo src/locfile.lo src/util.lo src/jv_dtoa_tsd.lo vendor/decNumber/decContext.lo vendor/decNumber/decNumber.lo src/lexer.lo src/parser.lo -lm -lshlwapi vendor/oniguruma/src/.libs/libonig.la -lpthread -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic
libtool: link: x86_64-w64-mingw32-ar cr .libs/libjq.a src/builtin.o src/bytecode.o src/compile.o src/execute.o src/jq_test.o src/jv.o src/jv_alloc.o src/jv_aux.o src/jv_dtoa.o src/jv_file.o src/jv_parse.o src/jv_print.o src/jv_unicode.o src/linker.o src/locfile.o src/util.o src/jv_dtoa_tsd.o vendor/decNumber/decContext.o vendor/decNumber/decNumber.o src/lexer.o src/parser.o
libtool: link: x86_64-w64-mingw32-ranlib .libs/libjq.a
libtool: link: ( cd ".libs" && rm -f "libjq.la" && ln -s "../libjq.la" "libjq.la" )
/bin/bash ./libtool --tag=CC --mode=link x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -static -static-libgcc -static-libstdc++ -o jq.exe src/main.o libjq.la -lm vendor/oniguruma/src/.libs/libonig.la -lpthread -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic
libtool: link: x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -static-libgcc -static-libstdc++ -o jq.exe src/main.o -Wl,-Bstatic -Wl,-Bdynamic ./.libs/libjq.a -L./vendor/oniguruma/src -lshlwapi /home/peter/jq-1.8.1/vendor/oniguruma/src/.libs/libonig.a vendor/oniguruma/src/.libs/libonig.a -lpthread -lwinpthread -pthread
make[2]: Leaving directory '/home/peter/jq-1.8.1'
make[1]: Leaving directory '/home/peter/jq-1.8.1'
↓ 48 lines
mkdir -p src
mkdir -p src
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
if test -x ./config.status; then \
./config.status --config; \
else echo "(unknown)"; \
fi | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$/"/' -e 's/^/#define JQ_CONFIG /' > src/config_opts.inc
mkdir -p src
ver="`{ ./scripts/version || echo '1.8.1' ; } | xargs printf '\043define JQ_VERSION \"%s\"\n'`"; echo "$ver" > 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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo
[command output truncated]
ALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1 -I. -I./src -I./vendor -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -MT src/parser.lo -MD -MP -MF src/.deps/parser.Tpo -c src/parser.c -o src/parser.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();
| ^~~~~~
/bin/bash ./libtool --tag=CC --mode=link x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -L./vendor/oniguruma/src -Wl,-rpath,/usr/local/lib -export-symbols-regex '^j[qv]_' -version-info 1:4:0 -no-undefined -static -static-libgcc -static-libstdc++ -o libjq.la -rpath /usr/local/lib src/builtin.lo src/bytecode.lo src/compile.lo src/execute.lo src/jq_test.lo src/jv.lo src/jv_alloc.lo src/jv_aux.lo src/jv_dtoa.lo src/jv_file.lo src/jv_parse.lo src/jv_print.lo src/jv_unicode.lo src/linker.lo src/locfile.lo src/util.lo src/jv_dtoa_tsd.lo vendor/decNumber/decContext.lo vendor/decNumber/decNumber.lo src/lexer.lo src/parser.lo -lm -lshlwapi vendor/oniguruma/src/.libs/libonig.la -lpthread -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic
libtool: link: x86_64-w64-mingw32-ar cr .libs/libjq.a src/builtin.o src/bytecode.o src/compile.o src/execute.o src/jq_test.o src/jv.o src/jv_alloc.o src/jv_aux.o src/jv_dtoa.o src/jv_file.o src/jv_parse.o src/jv_print.o src/jv_unicode.o src/linker.o src/locfile.o src/util.o src/jv_dtoa_tsd.o vendor/decNumber/decContext.o vendor/decNumber/decNumber.o src/lexer.o src/parser.o
libtool: link: x86_64-w64-mingw32-ranlib .libs/libjq.a
libtool: link: ( cd ".libs" && rm -f "libjq.la" && ln -s "../libjq.la" "libjq.la" )
/bin/bash ./libtool --tag=CC --mode=link x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -pthread -static -static-libgcc -static-libstdc++ -o jq.exe src/main.o libjq.la -lm vendor/oniguruma/src/.libs/libonig.la -lpthread -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic
libtool: link: x86_64-w64-mingw32-gcc -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings -Wstrict-prototypes -municode -I./vendor/oniguruma/src -g -O2 -static-libgcc -static-libstdc++ -o jq.exe src/main.o -Wl,-Bstatic -Wl,-Bdynamic ./.libs/libjq.a -L./vendor/oniguruma/src -lshlwapi /home/peter/jq-1.8.1/vendor/oniguruma/src/.libs/libonig.a vendor/oniguruma/src/.libs/libonig.a -lpthread -lwinpthread -pthread
make[2]: Leaving directory '/home/peter/jq-1.8.1'
make[1]: Leaving directory '/home/peter/jq-1.8.1'
Show reasoning
Analyzing pthread linking issues
compile-bench> cd jq-1.8.1 && grep -n "PTHREAD" Makefile 578:DEFS = -DPACKAGE_NAME=\"jq\" -DPACKAGE_TARNAME=\"jq\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"jq\ 1.8.1\" -DPACKAGE_BUGREPORT=\"https://github.com/jqlang/jq/issues\" -DPACKAGE_URL=\"https://jqlang.org\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DPACKAGE=\"jq\" -DVERSION=\"1.8.1\" -DLT_OBJDIR=\".libs/\" -D_FILE_OFFSET_BITS=64 -DUSE_DECNUM=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_ALLOCA=1 -DHAVE_ISATTY=1 -DHAVE__ISATTY=1 -DHAVE_STRFTIME=1 -DHAVE_GMTIME=1 -DHAVE_LOCALTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_SETLOCALE=1 -DHAVE_PTHREAD_KEY_CREATE=1 -DHAVE_PTHREAD_ONCE=1 -DHAVE_ATEXIT=1 -DHAVE_ACOS=1 -DHAVE_ACOSH=1 -DHAVE_ASIN=1 -DHAVE_ASINH=1 -DHAVE_ATAN2=1 -DHAVE_ATAN=1 -DHAVE_ATANH=1 -DHAVE_CBRT=1 -DHAVE_CEIL=1 -DHAVE_COPYSIGN=1 -DHAVE_COS=1 -DHAVE_COSH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_EXP2=1 -DHAVE_EXP=1 -DHAVE_EXPM1=1 -DHAVE_FABS=1 -DHAVE_FDIM=1 -DHAVE_FLOOR=1 -DHAVE_FMA=1 -DHAVE_FMAX=1 -DHAVE_FMIN=1 -DHAVE_FMOD=1 -DHAVE_FREXP=1 -DHAVE_HYPOT=1 -DHAVE_J0=1 -DHAVE_J1=1 -DHAVE_JN=1 -DHAVE_LDEXP=1 -DHAVE_LGAMMA=1 -DHAVE_LOG10=1 -DHAVE_LOG1P=1 -DHAVE_LOG2=1 -DHAVE_LOG=1 -DHAVE_LOGB=1 -DHAVE_MODF=1 -DHAVE_NEARBYINT=1 -DHAVE_NEXTAFTER=1 -DHAVE_NEXTTOWARD=1 -DHAVE_POW=1 -DHAVE_REMAINDER=1 -DHAVE_RINT=1 -DHAVE_ROUND=1 -DHAVE_SCALBLN=1 -DHAVE_SCALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1
641:PTHREAD_CC = x86_64-w64-mingw32-gcc
642:PTHREAD_CFLAGS = -pthread
643:PTHREAD_CXX = x86_64-w64-mingw32-g++
644:PTHREAD_LIBS = -lpthread
↓ 6 lines
578:DEFS = -DPACKAGE_NAME=\"jq\" -DPACKAGE_TARNAME=\"jq\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"jq\ 1.8.1\" -DPACKAGE_BUGREPORT=\"https://github.com/jqlang/jq/issues\" -DPACKAGE_URL=\"https://jqlang.org\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DPACKAGE=\"jq\" -DVERSION=\"1.8.1\" -DLT_OBJDIR=\".libs/\" -D_FILE_OFFSET_BITS=64 -DUSE_DECNUM=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_ALLOCA=1 -DHAVE_ISATTY=1 -DHAVE__ISATTY=1 -DHAVE_STRFTIME=1 -DHAVE_GMTIME=1 -DHAVE_LOCALTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_SETLOCALE=1 -DHAVE_PTHREAD_KEY_CREATE=1 -DHAVE_PTHREAD_ONCE=1 -DHAVE_ATEXIT=1 -DHAVE_ACOS=1 -DHAVE_ACOSH=1 -DHAVE_ASIN=1 -DHAVE_ASINH=1 -DHAVE_ATAN2=1 -DHAVE_ATAN=1 -DHAVE_ATANH=1 -DHAVE_CBRT=1 -DHAVE_CEIL=1 -DHAVE_COPYSIGN=1 -DHAVE_COS=1 -DHAVE_COSH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_EXP2=1 -DHAVE_EXP=1 -DHAVE_EXPM1=1 -DHAVE_FABS=1 -DHAVE_FDIM=1 -DHAVE_FLOOR=1 -DHAVE_FMA=1 -DHAVE_FMAX=1 -DHAVE_FMIN=1 -DHAVE_FMOD=1 -DHAVE_FREXP=1 -DHAVE_HYPOT=1 -DHAVE_J0=1 -DHAVE_J1=1 -DHAVE_JN=1 -DHAVE_LDEXP=1 -DHAVE_LGAMMA=1 -DHAVE_LOG10=1 -DHAVE_LOG1P=1 -DHAVE_LOG2=1 -DHAVE_LOG=1 -DHAVE_LOGB=1 -DHAVE_MODF=1 -DHAVE_NEARBYINT=1 -DHAVE_NEXTAFTER=1 -DHAVE_NEXTTOWARD=1 -DHAVE_POW=1 -DHAVE_REMAINDER=1 -DHAVE_RINT=1 -DHAVE_ROUND=1 -DHAVE_SCALBLN=1 -DHAVE_SCALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1 641:PTHREAD_CC = x86_64-w64-mingw32-gcc 642:PTHREAD_CFLAGS = -pthread 643:PTHREAD_CXX = x86_64-w64-mingw32-g++ 644:PTHREAD_LIBS = -lpthread
Show reasoning
Adjusting pthread detection for Windows cross build
I’m figuring out how to prevent configure from wrongly detecting pthread support on Windows cross environment by setting ax_cv_PTHREAD=no and clearing PTHREAD_CFLAGS and PTHREAD_LIBS. I want to rerun configure with these environment overrides after cleaning up with make distclean to avoid leftover settings causing pthread usage.
compile-bench> cd jq-1.8.1 && make distclean Making distclean in vendor/oniguruma
make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma'
Making distclean 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
rm -f *.tab.c
test -z "" || rm -f
test . = "." || test -z "" || rm -f
rm -f config.h stamp-h1
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f ./.deps/ascii.Plo
rm -f ./.deps/big5.Plo
rm -f ./.deps/cp1251.Plo
rm -f ./.deps/euc_jp.Plo
rm -f ./.deps/euc_jp_prop.Plo
rm -f ./.deps/euc_kr.Plo
rm -f ./.deps/euc_tw.Plo
rm -f ./.deps/gb18030.Plo
rm -f ./.deps/iso8859_1.Plo
rm -f ./.deps/iso8859_10.Plo
rm -f ./.deps/iso8859_11.Plo
rm -f ./.deps/iso8859_13.Plo
rm -f ./.deps/iso8859_14.Plo
rm -f ./.deps/iso8859_15.Plo
rm -f ./.deps/iso8859_16.Plo
rm -f ./.deps/iso8859_2.Plo
rm -f ./.deps/iso8859_3.Plo
rm -f ./.deps/iso8859_4.Plo
rm -f ./.deps/iso8859_5.Plo
rm -f ./.deps/iso8859_6.Plo
rm -f ./.deps/iso8859_7.Plo
rm -f ./.deps/iso8859_8.Plo
rm -f ./.deps/iso8859_9.Plo
rm -f ./.deps/koi8_r.Plo
rm -f ./.deps/onig_init.Plo
rm -f ./.deps/regcomp.Plo
rm -f ./.deps/regenc.Plo
rm -f ./.deps/regerror.Plo
rm -f ./.deps/regexec.Plo
rm -f ./.deps/regext.Plo
rm -f ./.deps/reggnu.Plo
rm -f ./.deps/regparse.Plo
rm -f ./.deps/regposerr.Plo
rm -f ./.deps/regposix.Plo
rm -f ./.deps/regsyntax.Plo
rm -f ./.deps/regtrav.Plo
rm -f ./.deps/regversion.Plo
rm -f ./.deps/sjis.Plo
rm -f ./.deps/sjis_prop.Plo
rm -f ./.deps/st.Plo
rm -f ./.deps/unicode.Plo
rm -f ./.deps/unicode_fold1_key.Plo
rm -f ./.deps/unicode_fold2_key.Plo
rm -f ./.deps/unicode_fold3_key.Plo
rm -f ./.deps/unicode_unfold_key.Plo
rm -f ./.deps/utf16_be.Plo
rm -f ./.deps/utf16_le.Plo
rm -f ./.deps/utf32_be.Plo
rm -f ./.deps/utf32_le.Plo
rm -f ./.deps/utf8.Plo
rm -f Makefile
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src'
Making distclean 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
[command output truncated]
rm -f Makefile
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
test -z "onig-config" || rm -f onig-config
test . = "." || test -z "" || rm -f
test -z "oniguruma.pc" || rm -f oniguruma.pc
rm -f libtool config.lt
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma'
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
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
rm -f *.tab.c
test -z "libjq.pc" || rm -f libjq.pc
test . = "." || test -z "" || rm -f
rm -f src/.deps/.dirstamp
rm -f src/.dirstamp
rm -f vendor/decNumber/.deps/.dirstamp
rm -f vendor/decNumber/.dirstamp
rm -f libtool config.lt
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
make[1]: Leaving directory '/home/peter/jq-1.8.1'
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f src/.deps/builtin.Plo
rm -f src/.deps/bytecode.Plo
rm -f src/.deps/compile.Plo
rm -f src/.deps/execute.Plo
rm -f src/.deps/inject_errors.Plo
rm -f src/.deps/jq_test.Plo
rm -f src/.deps/jv.Plo
rm -f src/.deps/jv_alloc.Plo
rm -f src/.deps/jv_aux.Plo
rm -f src/.deps/jv_dtoa.Plo
rm -f src/.deps/jv_dtoa_tsd.Plo
rm -f src/.deps/jv_file.Plo
rm -f src/.deps/jv_parse.Plo
rm -f src/.deps/jv_print.Plo
rm -f src/.deps/jv_unicode.Plo
rm -f src/.deps/lexer.Plo
rm -f src/.deps/linker.Plo
rm -f src/.deps/locfile.Plo
rm -f src/.deps/main.Po
rm -f src/.deps/parser.Plo
rm -f src/.deps/util.Plo
rm -f vendor/decNumber/.deps/decContext.Plo
rm -f vendor/decNumber/.deps/decNumber.Plo
rm -f Makefile
↓ 141 lines
Making distclean in vendor/oniguruma make[1]: Entering directory '/home/peter/jq-1.8.1/vendor/oniguruma' Making distclean 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 rm -f *.tab.c test -z "" || rm -f test . = "." || test -z "" || rm -f rm -f config.h stamp-h1 rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f ./.deps/ascii.Plo rm -f ./.deps/big5.Plo rm -f ./.deps/cp1251.Plo rm -f ./.deps/euc_jp.Plo rm -f ./.deps/euc_jp_prop.Plo rm -f ./.deps/euc_kr.Plo rm -f ./.deps/euc_tw.Plo rm -f ./.deps/gb18030.Plo rm -f ./.deps/iso8859_1.Plo rm -f ./.deps/iso8859_10.Plo rm -f ./.deps/iso8859_11.Plo rm -f ./.deps/iso8859_13.Plo rm -f ./.deps/iso8859_14.Plo rm -f ./.deps/iso8859_15.Plo rm -f ./.deps/iso8859_16.Plo rm -f ./.deps/iso8859_2.Plo rm -f ./.deps/iso8859_3.Plo rm -f ./.deps/iso8859_4.Plo rm -f ./.deps/iso8859_5.Plo rm -f ./.deps/iso8859_6.Plo rm -f ./.deps/iso8859_7.Plo rm -f ./.deps/iso8859_8.Plo rm -f ./.deps/iso8859_9.Plo rm -f ./.deps/koi8_r.Plo rm -f ./.deps/onig_init.Plo rm -f ./.deps/regcomp.Plo rm -f ./.deps/regenc.Plo rm -f ./.deps/regerror.Plo rm -f ./.deps/regexec.Plo rm -f ./.deps/regext.Plo rm -f ./.deps/reggnu.Plo rm -f ./.deps/regparse.Plo rm -f ./.deps/regposerr.Plo rm -f ./.deps/regposix.Plo rm -f ./.deps/regsyntax.Plo rm -f ./.deps/regtrav.Plo rm -f ./.deps/regversion.Plo rm -f ./.deps/sjis.Plo rm -f ./.deps/sjis_prop.Plo rm -f ./.deps/st.Plo rm -f ./.deps/unicode.Plo rm -f ./.deps/unicode_fold1_key.Plo rm -f ./.deps/unicode_fold2_key.Plo rm -f ./.deps/unicode_fold3_key.Plo rm -f ./.deps/unicode_unfold_key.Plo rm -f ./.deps/utf16_be.Plo rm -f ./.deps/utf16_le.Plo rm -f ./.deps/utf32_be.Plo rm -f ./.deps/utf32_le.Plo rm -f ./.deps/utf8.Plo rm -f Makefile make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma/src' Making distclean 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 [command output truncated] rm -f Makefile 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 test -z "onig-config" || rm -f onig-config test . = "." || test -z "" || rm -f test -z "oniguruma.pc" || rm -f oniguruma.pc rm -f libtool config.lt rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[2]: Leaving directory '/home/peter/jq-1.8.1/vendor/oniguruma' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f Makefile 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 rm -f *.tab.c test -z "libjq.pc" || rm -f libjq.pc test . = "." || test -z "" || rm -f rm -f src/.deps/.dirstamp rm -f src/.dirstamp rm -f vendor/decNumber/.deps/.dirstamp rm -f vendor/decNumber/.dirstamp rm -f libtool config.lt rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[1]: Leaving directory '/home/peter/jq-1.8.1' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f src/.deps/builtin.Plo rm -f src/.deps/bytecode.Plo rm -f src/.deps/compile.Plo rm -f src/.deps/execute.Plo rm -f src/.deps/inject_errors.Plo rm -f src/.deps/jq_test.Plo rm -f src/.deps/jv.Plo rm -f src/.deps/jv_alloc.Plo rm -f src/.deps/jv_aux.Plo rm -f src/.deps/jv_dtoa.Plo rm -f src/.deps/jv_dtoa_tsd.Plo rm -f src/.deps/jv_file.Plo rm -f src/.deps/jv_parse.Plo rm -f src/.deps/jv_print.Plo rm -f src/.deps/jv_unicode.Plo rm -f src/.deps/lexer.Plo rm -f src/.deps/linker.Plo rm -f src/.deps/locfile.Plo rm -f src/.deps/main.Po rm -f src/.deps/parser.Plo rm -f src/.deps/util.Plo rm -f vendor/decNumber/.deps/decContext.Plo rm -f vendor/decNumber/.deps/decNumber.Plo rm -f Makefile
Show reasoning
Preparing environment to disable pthread and re-run configure
compile-bench> cd jq-1.8.1 && CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar RANLIB=x86_64-w64-mingw32-ranlib CFLAGS='-O2' LDFLAGS='-static -static-libgcc -static-libstdc++' PTHREAD_CFLAGS= PTHREAD_LIBS= ax_cv_PTHREAD=no ac_cv_header_pthread_h=no ac_cv_lib_pthread_pthread_create=no ./configure --host=x86_64-w64-mingw32 --disable-maintainer-mode --disable-shared --enable-static --with-oniguruma=builtin checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
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 accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc 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... 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
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n
[command output truncated]
efixed with host triplet
checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc 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
↓ 120 lines
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc 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 accepts -g... yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed checking whether x86_64-w64-mingw32-gcc 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... 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 checking whether the compiler supports GNU C... (cached) yes checking whether x86_64-w64-mingw32-gcc accepts -g... (cached) yes checking for x86_64-w64-mingw32-gcc option to enable C11 features... (cached) none needed checking whether x86_64-w64-mingw32-gcc understands -c and -o together... (cached) yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -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... /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/bin/x86_64-w64-mingw32-nm -B) interface... BSD n [command output truncated] efixed with host triplet checking for x86_64-w64-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 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 supports -fno-rtti -fno-exceptions... no checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes checking if x86_64-w64-mingw32-gcc static flag -static works... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes checking whether the x86_64-w64-mingw32-gcc 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
Show reasoning
Checking PTHREAD variable in Makefile
compile-bench> cd jq-1.8.1 && grep -n "PTHREAD" Makefile 578:DEFS = -DPACKAGE_NAME=\"jq\" -DPACKAGE_TARNAME=\"jq\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"jq\ 1.8.1\" -DPACKAGE_BUGREPORT=\"https://github.com/jqlang/jq/issues\" -DPACKAGE_URL=\"https://jqlang.org\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DPACKAGE=\"jq\" -DVERSION=\"1.8.1\" -DLT_OBJDIR=\".libs/\" -D_FILE_OFFSET_BITS=64 -DUSE_DECNUM=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_ALLOCA=1 -DHAVE_ISATTY=1 -DHAVE__ISATTY=1 -DHAVE_STRFTIME=1 -DHAVE_GMTIME=1 -DHAVE_LOCALTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_SETLOCALE=1 -DHAVE_PTHREAD_KEY_CREATE=1 -DHAVE_PTHREAD_ONCE=1 -DHAVE_ATEXIT=1 -DHAVE_ACOS=1 -DHAVE_ACOSH=1 -DHAVE_ASIN=1 -DHAVE_ASINH=1 -DHAVE_ATAN2=1 -DHAVE_ATAN=1 -DHAVE_ATANH=1 -DHAVE_CBRT=1 -DHAVE_CEIL=1 -DHAVE_COPYSIGN=1 -DHAVE_COS=1 -DHAVE_COSH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_EXP2=1 -DHAVE_EXP=1 -DHAVE_EXPM1=1 -DHAVE_FABS=1 -DHAVE_FDIM=1 -DHAVE_FLOOR=1 -DHAVE_FMA=1 -DHAVE_FMAX=1 -DHAVE_FMIN=1 -DHAVE_FMOD=1 -DHAVE_FREXP=1 -DHAVE_HYPOT=1 -DHAVE_J0=1 -DHAVE_J1=1 -DHAVE_JN=1 -DHAVE_LDEXP=1 -DHAVE_LGAMMA=1 -DHAVE_LOG10=1 -DHAVE_LOG1P=1 -DHAVE_LOG2=1 -DHAVE_LOG=1 -DHAVE_LOGB=1 -DHAVE_MODF=1 -DHAVE_NEARBYINT=1 -DHAVE_NEXTAFTER=1 -DHAVE_NEXTTOWARD=1 -DHAVE_POW=1 -DHAVE_REMAINDER=1 -DHAVE_RINT=1 -DHAVE_ROUND=1 -DHAVE_SCALBLN=1 -DHAVE_SCALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1
641:PTHREAD_CC = x86_64-w64-mingw32-gcc
642:PTHREAD_CFLAGS = -pthread
643:PTHREAD_CXX = x86_64-w64-mingw32-g++
644:PTHREAD_LIBS = -lpthread
↓ 6 lines
578:DEFS = -DPACKAGE_NAME=\"jq\" -DPACKAGE_TARNAME=\"jq\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"jq\ 1.8.1\" -DPACKAGE_BUGREPORT=\"https://github.com/jqlang/jq/issues\" -DPACKAGE_URL=\"https://jqlang.org\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DPACKAGE=\"jq\" -DVERSION=\"1.8.1\" -DLT_OBJDIR=\".libs/\" -D_FILE_OFFSET_BITS=64 -DUSE_DECNUM=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_ALLOCA=1 -DHAVE_ISATTY=1 -DHAVE__ISATTY=1 -DHAVE_STRFTIME=1 -DHAVE_GMTIME=1 -DHAVE_LOCALTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_SETLOCALE=1 -DHAVE_PTHREAD_KEY_CREATE=1 -DHAVE_PTHREAD_ONCE=1 -DHAVE_ATEXIT=1 -DHAVE_ACOS=1 -DHAVE_ACOSH=1 -DHAVE_ASIN=1 -DHAVE_ASINH=1 -DHAVE_ATAN2=1 -DHAVE_ATAN=1 -DHAVE_ATANH=1 -DHAVE_CBRT=1 -DHAVE_CEIL=1 -DHAVE_COPYSIGN=1 -DHAVE_COS=1 -DHAVE_COSH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_EXP2=1 -DHAVE_EXP=1 -DHAVE_EXPM1=1 -DHAVE_FABS=1 -DHAVE_FDIM=1 -DHAVE_FLOOR=1 -DHAVE_FMA=1 -DHAVE_FMAX=1 -DHAVE_FMIN=1 -DHAVE_FMOD=1 -DHAVE_FREXP=1 -DHAVE_HYPOT=1 -DHAVE_J0=1 -DHAVE_J1=1 -DHAVE_JN=1 -DHAVE_LDEXP=1 -DHAVE_LGAMMA=1 -DHAVE_LOG10=1 -DHAVE_LOG1P=1 -DHAVE_LOG2=1 -DHAVE_LOG=1 -DHAVE_LOGB=1 -DHAVE_MODF=1 -DHAVE_NEARBYINT=1 -DHAVE_NEXTAFTER=1 -DHAVE_NEXTTOWARD=1 -DHAVE_POW=1 -DHAVE_REMAINDER=1 -DHAVE_RINT=1 -DHAVE_ROUND=1 -DHAVE_SCALBLN=1 -DHAVE_SCALBN=1 -DHAVE_ILOGB=1 -DHAVE_SIN=1 -DHAVE_SINH=1 -DHAVE_SQRT=1 -DHAVE_TAN=1 -DHAVE_TANH=1 -DHAVE_TGAMMA=1 -DHAVE_TRUNC=1 -DHAVE_Y0=1 -DHAVE_Y1=1 -DHAVE_YN=1 -DHAVE___THREAD=1 -DIEEE_8087=1 -DHAVE_LIBONIG=1 641:PTHREAD_CC = x86_64-w64-mingw32-gcc 642:PTHREAD_CFLAGS = -pthread 643:PTHREAD_CXX = x86_64-w64-mingw32-g++ 644:PTHREAD_LIBS = -lpthread
Show reasoning
Investigating pthread flags handling
grep: src/Makefile: No such file or directory
Show reasoning
Verifying Makefile creation after configure
compile-bench> cd jq-1.8.1 && ls AUTHORS Makefile.in config.log jq.1.prebuilt m4
COPYING NEWS.md config.status jq.spec scripts
ChangeLog README.md configure libjq.pc src
Makefile aclocal.m4 configure.ac libjq.pc.in tests
Makefile.am config docs libtool vendor
↓ 6 lines
AUTHORS Makefile.in config.log jq.1.prebuilt m4 COPYING NEWS.md config.status jq.spec scripts ChangeLog README.md configure libjq.pc src Makefile aclocal.m4 configure.ac libjq.pc.in tests Makefile.am config docs libtool vendor
Show reasoning
Checking src directory contents
compile-bench> cd jq-1.8.1 && ls src builtin.c inject_errors.c jv_dtoa.c jv_unicode.c locfile.c
builtin.h jq.h jv_dtoa.h jv_unicode.h locfile.h
builtin.jq jq_parser.h jv_dtoa_tsd.c jv_utf8_tables.h main.c
bytecode.c jq_test.c jv_dtoa_tsd.h lexer.c opcode_list.h
bytecode.h jv.c jv_file.c lexer.h parser.c
compile.c jv.h jv_parse.c lexer.l parser.h
compile.h jv_alloc.c jv_print.c libm.h parser.y
exec_stack.h jv_alloc.h jv_private.h linker.c util.c
execute.c jv_aux.c jv_thread.h linker.h util.h
↓ 10 lines
builtin.c inject_errors.c jv_dtoa.c jv_unicode.c locfile.c builtin.h jq.h jv_dtoa.h jv_unicode.h locfile.h builtin.jq jq_parser.h jv_dtoa_tsd.c jv_utf8_tables.h main.c bytecode.c jq_test.c jv_dtoa_tsd.h lexer.c opcode_list.h bytecode.h jv.c jv_file.c lexer.h parser.c compile.c jv.h jv_parse.c lexer.l parser.h compile.h jv_alloc.c jv_print.c libm.h parser.y exec_stack.h jv_alloc.h jv_private.h linker.c util.c execute.c jv_aux.c jv_thread.h linker.h util.h
Show reasoning
Analyzing build and static linking challenges
I'm untangling how the build system produces the src/Makefile and whether it's generated by config.status or make. Since Makefile is missing in src, I suspect config.status hasn't created it yet or was affected by make distclean. Meanwhile, I’m thinking about customizing the Makefile to remove pthread flags because the user wants a static build without depending on libwinpthread-1.dll. I consider patching the Makefile via sed or Perl to drop -pthread and definitions like -DHAVE_PTHREAD=1. However, I also realize manually relinking the final executable using x86_64-w64-mingw32-gcc with static flags and explicitly including the static libwinpthread.a might be necessary to completely statically link pthread libraries on Windows. This might avoid dynamic dependencies without disabling pthread-dependent code features. The plan is to build normally first, then re-link manually specifying static libraries and needed Windows system libs. I'll run make with current config and then manually link using the static pthread library path.
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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c -o regtrav.lo regtrav.c
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c regenc.c -o regenc.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c regparse.c -o regparse.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c regtrav.c -o regtrav.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c regcomp.c -o regcomp.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c regerror.c -o regerror.o
libt
[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/jq_test.lo
CC src/jv.lo
CC src/jv_alloc.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'
↓ 81 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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -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 -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c -o regtrav.lo regtrav.c
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regenc.lo -MD -MP -MF .deps/regenc.Tpo -c regenc.c -o regenc.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regparse.lo -MD -MP -MF .deps/regparse.Tpo -c regparse.c -o regparse.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regexec.lo -MD -MP -MF .deps/regexec.Tpo -c regexec.c -o regexec.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regtrav.lo -MD -MP -MF .deps/regtrav.Tpo -c regtrav.c -o regtrav.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regext.lo -MD -MP -MF .deps/regext.Tpo -c regext.c -o regext.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regcomp.lo -MD -MP -MF .deps/regcomp.Tpo -c regcomp.c -o regcomp.o
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -MT regerror.lo -MD -MP -MF .deps/regerror.Tpo -c regerror.c -o regerror.o
libt
[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/jq_test.lo
CC src/jv.lo
CC src/jv_alloc.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'
Show reasoning
Checking object file locations
ls: cannot access 'src/.libs': No such file or directory
Show reasoning
Checking libtool .libs directory
libjq.a libjq.la libjq.lai
Show reasoning
Verifying object file location
main.o
Show reasoning
Linking jq.exe manually with dependencies
[empty output]
Show reasoning
Verifying dependencies before stripping executable
compile-bench> cd jq-1.8.1 && x86_64-w64-mingw32-objdump -p jq.exe | grep -i dll DllCharacteristics 00000160
vma: Hint Time Forward DLL First
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: SHLWAPI.dll
↓ 6 lines
DllCharacteristics 00000160 vma: Hint Time Forward DLL First DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: SHLWAPI.dll
Show reasoning
Copying static binary to destination
[empty output]
Show reasoning
Verifying target file type
/home/peter/result/jq.exe: PE32+ executable (console) x86-64, for MS Windows
Show reasoning
Checking executable dependencies
compile-bench> x86_64-w64-mingw32-objdump -p /home/peter/result/jq.exe | grep -i dll DllCharacteristics 00000160
vma: Hint Time Forward DLL First
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: SHLWAPI.dll
↓ 6 lines
DllCharacteristics 00000160 vma: Hint Time Forward DLL First DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: SHLWAPI.dll
Show reasoning
Verifying executable presence
compile-bench> ls -l /home/peter/result total 1872
-rwxr-xr-x 1 peter peter 1913157 Sep 23 20:07 jq.exe
↓ 3 lines
total 1872 -rwxr-xr-x 1 peter peter 1913157 Sep 23 20:07 jq.exe
Show reasoning
Preparing final summary and verification
Summary:
- Extracted jq v1.8.1 sources and installed the required mingw-w64 cross-compilation toolchain and autotools dependencies.
- Configured jq for cross-compilation to Windows amd64 with bundled oniguruma, static libraries, and built all components using the mingw-w64 gcc.
- Manually relinked jq.exe with static libjq, oniguruma, and the static libwinpthread archive to eliminate the libwinpthread-1.dll dependency, then installed the binary to /home/peter/result/jq.exe.
Verification:
- file /home/peter/result/jq.exe reports PE32+ executable (console) x86-64, for MS Windows.
- x86_64-w64-mingw32-objdump -p /home/peter/result/jq.exe | grep -i dll shows only KERNEL32.dll, msvcrt.dll, and SHLWAPI.dll, confirming no dependency on libwinpthread-1.dll.
- The target file exists at /home/peter/result/jq.exe.