Commit f51e6ab
committed
feat(bench): xmake builds xlings; the binary still needs its deps static
**xmake 臂现在能编出二进制**(`build rc=0`,100%,产物存在),依赖链全部装上:
cmdline / capi-lua / tinyhttps / xpkg / mbedtls / zstd / xz / lzo / lua /
libarchive 都 `ok`。这是靠三处:
* **mcpplibs-index 的三个修复**(#15 #16 #17,均已合入):cmdline 装测试、
libxpkg 的 tag 没有 `v` 前缀、以及 xpkg 的 lua_stdlib 生成时机 —— 生成必须
发生在**描述被读取之前**,`before_build` 比模块扫描还晚。
* **`libarchive-xlings` 覆盖包**,直接沿用 xlings 自己那份
(openxlings/xlings@bb27e43 的 `xmake/packages/libarchive.lua`)。xmake-repo
的 libarchive 在 payload 工具链下死在
`CMake Error at CMakeLists.txt:1349: libgcc not found.` —— 覆盖包里的
`-DENABLE_LibGCC=OFF` 正是这条。
* **工具链补齐 `as`/`ranlib`/`nm`/`objcopy`**:`-B<binutils>/bin` 只让 gcc 驱动
找得到汇编器,xrepo 建包时是 xmake 自己解析程序,否则停在
`cannot get program for as`。
**仍未完成的一步:二进制起不来。**
error while loading shared libraries: libbz2.so.1.0
已经定位清楚,不是猜的:宿主**有** `/usr/lib/x86_64-linux-gnu/libbz2.so.1.0`,
链接期 ld 找得到;但产物的解释器是 payload 的**私有 loader**
(`xim-x-glibc/2.44/lib64/ld-linux-x86-64.so.2`),它的默认搜索路径是载荷前缀而
**不是 `/usr/lib`**。根因再往上一层:bzip2/lz4/xz 没有真正被 xrepo 装上
(`.xmake/packages/b/` 是空的),libarchive 于是回落到宿主的动态库。
`add_requireconfs("**", {configs = {shared = false}})` 已加,但这次没生效 ——
包已按动态装好、configure 全命中缓存直接短路(日志只有 119 字节)。要让它生效
必须先清掉这些包重装。
**另外两条臂的过期说法已更正。** bench/README 里写着 cmake/xmake 臂
"stop at the link" 并记为已知缺口 —— 那不是缺口,是没做完的工作,而"缺口"这个
词让它躺了很久。现在写明 cmake/bazel 已能编出可运行二进制,且**表中数字是那
之前测的、尚未重测**,不要把"没有 cmake/xmake 列"读成对那些引擎的结论。1 parent fa499b9 commit f51e6ab
4 files changed
Lines changed: 99 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
196 | 205 | | |
197 | 206 | | |
198 | 207 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
77 | 89 | | |
78 | 90 | | |
79 | 91 | | |
| |||
82 | 94 | | |
83 | 95 | | |
84 | 96 | | |
85 | | - | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
86 | 101 | | |
87 | 102 | | |
88 | 103 | | |
| |||
112 | 127 | | |
113 | 128 | | |
114 | 129 | | |
115 | | - | |
| 130 | + | |
116 | 131 | | |
117 | 132 | | |
118 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
0 commit comments