Skip to content

Commit 6b3856f

Browse files
committed
openkal compatibility: the measurement of 2026-09-23
Measured by openkal-compat run 35882195774 on this branch, with mcpp 2026.9.21.3, openkal-llvm-runtime 0.15.1 and llvm@22.1.8, the host's mingw headers installed, 32 members on x86_64-linux-gnu and x86_64-windows-musl. x86_64-linux-gnu: 30 run, 2 fail (curl and cmp-module, both declared not-portable). x86_64-windows-musl, through Wine: 30 run, 1 builds (mimalloc: its alloc test exits 1 under Wine), 1 fails (curl, declared). Against the published file of 2026-09-20 (runtime 0.12.0, mcpp 2026.9.18.3) no label is lower. archive, c-ares, doctest, spdlog and sqlite3 now run on Windows and expat on Linux, as docs/openkal-compat.md's 2026-09-21 section already described; yaml-cpp and yaml-cpp-v080 run on both targets. The Windows cells were recorded as x86_64-windows-gnu until this measurement.
1 parent 3a6dc7e commit 6b3856f

1 file changed

Lines changed: 96 additions & 49 deletions

File tree

‎.xpkgindex/openkal-compat.json‎

Lines changed: 96 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"protobuf-protoc": "runs a host code generator",
88
"sycl-runtime": "a vendor runtime distributed as binaries for the platform C runtime"
99
},
10-
"measured": "2026-09-20",
10+
"measured": "2026-09-23",
1111
"members": {
1212
"archive": {
1313
"packages": [
@@ -24,9 +24,9 @@
2424
"kind": "posix",
2525
"status": "runs"
2626
},
27-
"x86_64-windows-gnu": {
28-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/archive/.mcpp/.xlings/data/xpkgs/compat-x-xz/5.8.3/xz-5.8.3/src/common/tuklib_physmem.c:21:11: fatal error: 'windows.h' file not found",
29-
"status": "fails"
27+
"x86_64-windows-musl": {
28+
"kind": "posix",
29+
"status": "runs"
3030
}
3131
}
3232
},
@@ -40,7 +40,7 @@
4040
"kind": "posix",
4141
"status": "runs"
4242
},
43-
"x86_64-windows-gnu": {
43+
"x86_64-windows-musl": {
4444
"kind": "posix",
4545
"status": "runs"
4646
}
@@ -56,7 +56,7 @@
5656
"kind": "posix",
5757
"status": "runs"
5858
},
59-
"x86_64-windows-gnu": {
59+
"x86_64-windows-musl": {
6060
"kind": "posix",
6161
"status": "runs"
6262
}
@@ -72,9 +72,9 @@
7272
"kind": "posix",
7373
"status": "runs"
7474
},
75-
"x86_64-windows-gnu": {
76-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/c-ares/.mcpp/.xlings/data/xpkgs/compat-x-c-ares/1.34.5/c-ares-1.34.5/src/lib/ares_setup.h:81:12: fatal error: 'windows.h' file not found",
77-
"status": "fails"
75+
"x86_64-windows-musl": {
76+
"kind": "posix",
77+
"status": "runs"
7878
}
7979
}
8080
},
@@ -88,7 +88,7 @@
8888
"kind": "posix",
8989
"status": "runs"
9090
},
91-
"x86_64-windows-gnu": {
91+
"x86_64-windows-musl": {
9292
"kind": "posix",
9393
"status": "runs"
9494
}
@@ -104,7 +104,7 @@
104104
"kind": "posix",
105105
"status": "runs"
106106
},
107-
"x86_64-windows-gnu": {
107+
"x86_64-windows-musl": {
108108
"kind": "posix",
109109
"status": "runs"
110110
}
@@ -120,7 +120,7 @@
120120
"kind": "posix",
121121
"status": "runs"
122122
},
123-
"x86_64-windows-gnu": {
123+
"x86_64-windows-musl": {
124124
"kind": "posix",
125125
"status": "runs"
126126
}
@@ -136,7 +136,7 @@
136136
"kind": "posix",
137137
"status": "runs"
138138
},
139-
"x86_64-windows-gnu": {
139+
"x86_64-windows-musl": {
140140
"kind": "posix",
141141
"status": "runs"
142142
}
@@ -152,7 +152,7 @@
152152
"kind": "posix",
153153
"status": "runs"
154154
},
155-
"x86_64-windows-gnu": {
155+
"x86_64-windows-musl": {
156156
"kind": "posix",
157157
"status": "runs"
158158
}
@@ -165,10 +165,12 @@
165165
"portable": true,
166166
"targets": {
167167
"x86_64-linux-gnu": {
168-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.18.3-linux-x86_64/registry/data/xpkgs/chriskohlhoff-x-asio/1.38.1/asio-asio-1-38-1/include/asio/detail/config.hpp:899:11: fatal error: 'linux/version.h' file not found",
168+
"declared": "not-portable",
169+
"declared_reason": "asio's detail/config.hpp:899 includes <linux/version.h> whenever __linux__ is defined, OUTSIDE every ASIO_DISABLE_* guard, so no configuration macro prevents it. openkal runs on the Linux kernel, so __linux__ is correct; the uapi headers glibc's userspace installs beside it are not part of what openkal presents.",
170+
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.21.3-linux-x86_64/registry/data/xpkgs/chriskohlhoff-x-asio/1.38.1/asio-asio-1-38-1/include/asio/detail/config.hpp:899:11: fatal error: 'linux/version.h' file not found",
169171
"status": "fails"
170172
},
171-
"x86_64-windows-gnu": {
173+
"x86_64-windows-musl": {
172174
"kind": "posix",
173175
"status": "runs"
174176
}
@@ -181,10 +183,14 @@
181183
"portable": true,
182184
"targets": {
183185
"x86_64-linux-gnu": {
184-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/curl/.mcpp/.xlings/data/xpkgs/compat-x-curl/8.21.0/curl-curl-8_21_0/lib/setopt.c:31:10: fatal error: 'linux/tcp.h' file not found",
186+
"declared": "not-portable",
187+
"declared_reason": "curl's TLS backend here is compat.openssl, which builds through OpenSSL's own Configure from an install() hook and is therefore a glibc artefact: it declares provides = [\"platform-sdk\"] and fails this graph's link at setcontext and __isoc23_strtol, which musl does not have. Building OpenSSL inside the graph would change this cell.",
188+
"diagnostic": "ld.lld: error: undefined symbol: __memcpy_chk",
185189
"status": "fails"
186190
},
187-
"x86_64-windows-gnu": {
191+
"x86_64-windows-musl": {
192+
"declared": "not-portable",
193+
"declared_reason": "curl's Windows configuration is Schannel plus the checked-in lib/config-win32.h, and both are selected by _WIN32, which a C library presenting POSIX on Windows does not define. With neither HAVE_CONFIG_H nor _WIN32, curl_setup.h reads no configuration at all and stops at curl_setup.h:591 'too small curl_off_t', which names a consequence and not the cause. compat.openssl has no Windows build, so there is no second TLS provider to fall back to.",
188194
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/curl/.mcpp/.xlings/data/xpkgs/compat-x-curl/8.21.0/curl-curl-8_21_0/lib/curl_setup.h:591:2: error: \"too small curl_off_t\"",
189195
"status": "fails"
190196
}
@@ -200,9 +206,9 @@
200206
"kind": "posix",
201207
"status": "runs"
202208
},
203-
"x86_64-windows-gnu": {
204-
"diagnostic": "ld.lld: error: undefined symbol: __cxa_thread_atexit",
205-
"status": "fails"
209+
"x86_64-windows-musl": {
210+
"kind": "posix",
211+
"status": "runs"
206212
}
207213
}
208214
},
@@ -216,7 +222,7 @@
216222
"kind": "posix",
217223
"status": "runs"
218224
},
219-
"x86_64-windows-gnu": {
225+
"x86_64-windows-musl": {
220226
"kind": "posix",
221227
"status": "runs"
222228
}
@@ -229,10 +235,10 @@
229235
"portable": false,
230236
"targets": {
231237
"x86_64-linux-gnu": {
232-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/expat/.mcpp/.xlings/data/xpkgs/compat-x-expat/2.7.1/lib/xmlparse.c:977:3: error: call to undeclared function 'arc4random_buf'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]",
233-
"status": "fails"
238+
"kind": "platform",
239+
"status": "runs"
234240
},
235-
"x86_64-windows-gnu": {
241+
"x86_64-windows-musl": {
236242
"kind": "platform",
237243
"status": "runs"
238244
}
@@ -248,7 +254,7 @@
248254
"kind": "posix",
249255
"status": "runs"
250256
},
251-
"x86_64-windows-gnu": {
257+
"x86_64-windows-musl": {
252258
"kind": "posix",
253259
"status": "runs"
254260
}
@@ -264,7 +270,7 @@
264270
"kind": "posix",
265271
"status": "runs"
266272
},
267-
"x86_64-windows-gnu": {
273+
"x86_64-windows-musl": {
268274
"kind": "posix",
269275
"status": "runs"
270276
}
@@ -280,7 +286,7 @@
280286
"kind": "posix",
281287
"status": "runs"
282288
},
283-
"x86_64-windows-gnu": {
289+
"x86_64-windows-musl": {
284290
"kind": "posix",
285291
"status": "runs"
286292
}
@@ -296,7 +302,7 @@
296302
"kind": "posix",
297303
"status": "runs"
298304
},
299-
"x86_64-windows-gnu": {
305+
"x86_64-windows-musl": {
300306
"kind": "posix",
301307
"status": "runs"
302308
}
@@ -312,7 +318,7 @@
312318
"kind": "posix",
313319
"status": "runs"
314320
},
315-
"x86_64-windows-gnu": {
321+
"x86_64-windows-musl": {
316322
"kind": "posix",
317323
"status": "runs"
318324
}
@@ -328,7 +334,7 @@
328334
"kind": "posix",
329335
"status": "runs"
330336
},
331-
"x86_64-windows-gnu": {
337+
"x86_64-windows-musl": {
332338
"kind": "posix",
333339
"status": "runs"
334340
}
@@ -344,9 +350,9 @@
344350
"kind": "posix",
345351
"status": "runs"
346352
},
347-
"x86_64-windows-gnu": {
348-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/mimalloc/.mcpp/.xlings/data/xpkgs/compat-x-mimalloc/3.4.5/mimalloc-3.4.5/include/mimalloc/atomic.h:16:10: fatal error: 'windows.h' file not found",
349-
"status": "fails"
353+
"x86_64-windows-musl": {
354+
"diagnostic": "alloc ... FAIL (exit 1, 2.03s)",
355+
"status": "builds"
350356
}
351357
}
352358
},
@@ -360,7 +366,7 @@
360366
"kind": "posix",
361367
"status": "runs"
362368
},
363-
"x86_64-windows-gnu": {
369+
"x86_64-windows-musl": {
364370
"kind": "posix",
365371
"status": "runs"
366372
}
@@ -376,7 +382,7 @@
376382
"kind": "platform",
377383
"status": "runs"
378384
},
379-
"x86_64-windows-gnu": {
385+
"x86_64-windows-musl": {
380386
"kind": "platform",
381387
"status": "runs"
382388
}
@@ -392,7 +398,7 @@
392398
"kind": "posix",
393399
"status": "runs"
394400
},
395-
"x86_64-windows-gnu": {
401+
"x86_64-windows-musl": {
396402
"kind": "posix",
397403
"status": "runs"
398404
}
@@ -408,9 +414,9 @@
408414
"kind": "posix",
409415
"status": "runs"
410416
},
411-
"x86_64-windows-gnu": {
412-
"diagnostic": "ld.lld: error: undefined symbol: __cxa_thread_atexit",
413-
"status": "fails"
417+
"x86_64-windows-musl": {
418+
"kind": "posix",
419+
"status": "runs"
414420
}
415421
}
416422
},
@@ -424,9 +430,9 @@
424430
"kind": "posix",
425431
"status": "runs"
426432
},
427-
"x86_64-windows-gnu": {
428-
"diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/sqlite3/.mcpp/.xlings/data/xpkgs/compat-x-sqlite3/3.45.3/sqlite-amalgamation-3450300/sqlite3.c:29506:10: fatal error: 'windows.h' file not found",
429-
"status": "fails"
433+
"x86_64-windows-musl": {
434+
"kind": "posix",
435+
"status": "runs"
430436
}
431437
}
432438
},
@@ -440,7 +446,7 @@
440446
"kind": "posix",
441447
"status": "runs"
442448
},
443-
"x86_64-windows-gnu": {
449+
"x86_64-windows-musl": {
444450
"kind": "posix",
445451
"status": "runs"
446452
}
@@ -456,7 +462,39 @@
456462
"kind": "posix",
457463
"status": "runs"
458464
},
459-
"x86_64-windows-gnu": {
465+
"x86_64-windows-musl": {
466+
"kind": "posix",
467+
"status": "runs"
468+
}
469+
}
470+
},
471+
"yaml-cpp": {
472+
"packages": [
473+
"compat.yaml-cpp"
474+
],
475+
"portable": true,
476+
"targets": {
477+
"x86_64-linux-gnu": {
478+
"kind": "posix",
479+
"status": "runs"
480+
},
481+
"x86_64-windows-musl": {
482+
"kind": "posix",
483+
"status": "runs"
484+
}
485+
}
486+
},
487+
"yaml-cpp-v080": {
488+
"packages": [
489+
"compat.yaml-cpp"
490+
],
491+
"portable": true,
492+
"targets": {
493+
"x86_64-linux-gnu": {
494+
"kind": "posix",
495+
"status": "runs"
496+
},
497+
"x86_64-windows-musl": {
460498
"kind": "posix",
461499
"status": "runs"
462500
}
@@ -472,7 +510,7 @@
472510
"kind": "posix",
473511
"status": "runs"
474512
},
475-
"x86_64-windows-gnu": {
513+
"x86_64-windows-musl": {
476514
"kind": "posix",
477515
"status": "runs"
478516
}
@@ -488,16 +526,25 @@
488526
"kind": "posix",
489527
"status": "runs"
490528
},
491-
"x86_64-windows-gnu": {
529+
"x86_64-windows-musl": {
492530
"kind": "posix",
493531
"status": "runs"
494532
}
495533
}
496534
}
497535
},
536+
"not_portable": {
537+
"cmp-module": {
538+
"x86_64-linux-gnu": "asio's detail/config.hpp:899 includes <linux/version.h> whenever __linux__ is defined, OUTSIDE every ASIO_DISABLE_* guard, so no configuration macro prevents it. openkal runs on the Linux kernel, so __linux__ is correct; the uapi headers glibc's userspace installs beside it are not part of what openkal presents."
539+
},
540+
"curl": {
541+
"x86_64-linux-gnu": "curl's TLS backend here is compat.openssl, which builds through OpenSSL's own Configure from an install() hook and is therefore a glibc artefact: it declares provides = [\"platform-sdk\"] and fails this graph's link at setcontext and __isoc23_strtol, which musl does not have. Building OpenSSL inside the graph would change this cell.",
542+
"x86_64-windows-musl": "curl's Windows configuration is Schannel plus the checked-in lib/config-win32.h, and both are selected by _WIN32, which a C library presenting POSIX on Windows does not define. With neither HAVE_CONFIG_H nor _WIN32, curl_setup.h reads no configuration at all and stops at curl_setup.h:591 'too small curl_off_t', which names a consequence and not the cause. compat.openssl has no Windows build, so there is no second TLS provider to fall back to."
543+
}
544+
},
498545
"pins": {
499-
"mcpp": "2026.9.18.3",
500-
"runtime": "0.12.0",
546+
"mcpp": "2026.9.21.3",
547+
"runtime": "0.15.1",
501548
"toolchain": "llvm@22.1.8"
502549
},
503550
"schema": 1

0 commit comments

Comments
 (0)