Closed Cyanoxygen closed 1 year ago
git diff
.Partially built packages and their respective changes are to be recorded in Autobuild3's upcoming stage2 mode configurations, denominated with .stage2
suffixes.
pACBS status - might just keep it locally. update is unnecessary.
upper-left: goal: gtk-3 upper-right: valgrind, gdb - blocked by boost lower-left: lower-right: boost goal: lvm2
pACBS status - might just keep it locally. update is unnecessary.
upper-left: python-3 upper-right: swig (finished) lower-left: libedit libevent libidn lower-right: joe (finished)
Yeah I would just leave these details in a local document.
[x] dpkg
[x] zlib
[x] bzip2
[x] glibc
[x] curl
[x] gnutls
[x] lz4
[x] zstd
[x] libunistring
[x] xxhash
python-3: read the first comment for details.
gnome build queue:
doxygen cario gobject-introspection pango (update when build finished)
ca-certs
need a new make-ca
script for compatibility with newer Perl.
This comment tracks the progress of bringing the Rust toolchain to this target.
Stage 1
Stage 2
Stage 3
Rust toolchain building progress
This comment tracks the progress of bringing the Rust toolchain to this target.
Stage 1
* [x] amd64 to mips64r6el cross-build GCC * [x] amd64 to mips64r6el cross-build rustc
Stage 2
* [ ] mips64r6el Native Rust toolchain
Stage 3
* [ ] Build with ACBS Tree
Skipping Rust fpr stage 2. No usable version.
std
crate from Cargo registry.edition2021
requirement.libgcc_s
and libstdc++
.bootstrap
module fails with Code 11 segmentation fault - illegal memory access). Adjusting recipes to make leave out all Rust requirements.
In a conversation with @wzssyqa, who originally ported Rust to MIPS r6.
Mingcong Bai, [2022/10/24 上午8:41]
强哥,我们这里构建 Rust 遇到了一些疑似 codegen 方面的 regression(假设当时 1.55.0 是可用的
[ YunQiang, we have ran into some issues while building Rust. I suspect that it's related to a regression in the codegen (assuming that 1.55.0 was usable. ]
Mingcong Bai, [2022/10/24 上午8:41]
一开始以为是 Qemu user 的问题,但在 system 里也复现了
[ We initially thought that this was a problem with Qemu's user emulation, but we also reproduced this in system. ]
Mingcong Bai, [2022/10/24 上午8:42]
不是很清楚如何调试,所以我们目前准备从 1.55 开始按版本测试,确定下出问题的范围;此外就可能真的需要一些指引了
[ Not sure how to debug this. Therefore, we are going to test each stable release from 1.55.0 to narrow the problem down to a range of versions... Any guidance would be appreciated. ]
YunQiang Su, [2022/10/24 下午4:31]
嗯,当时的版本估计也不行
[ Well, I think that those versions from before never worked. ]
Mingcong Bai, [2022/10/24 下午5:25]
[In reply to YunQiang Su]
从来没能编译过?
[ Like it never worked? ]
YunQiang Su, [2022/10/24 下午5:33]
一直能cross出来,就是运行的确很久了,有问题
[ The cross toolchain always built, but it does have issues during runtime for a long while now. ]
YunQiang Su, [2022/10/24 下午5:33]
但是没深入研究
[ We have yet to look into this further. ]
Building a full system without Rust is highly problematic, not only do we miss out on any sort of Mozilla support, one key component to our maintenance toolkit - Ciel (written in Rust), will not build.
Since we are building via Qemu user now, we can just use Ciel installed on our AMD64 build hosts.
Advice from @liushuyu.
子兴 刘, [2022/10/25 下午10:51]
[In reply to Mingcong Bai]
建议检查一下里面的那个 bootstrap 出现了什么问题
因为现在还无法确认是 qemu 还是 LLVM 的问题
[ I'd suggest that we check out what is wrong with the bootstrap module. It's difficult to know whether the issue lies in Qemu or LLVM. ]
子兴 刘, [2022/10/25 下午10:51]
如果确认是 LLVM 的问题,那么需要检查是什么样的代码导致 IR -> 机器码 下降错误
[ If we are sure that it's an issue with LLVM, we need to check what codegen resulted in an error in the IR => machine code. ]
子兴 刘, [2022/10/25 下午10:52]
(如果是 qemu 的问题,一样需要检查是不是 MIPS -> TCG IR -> 机器码 中间,一个或多个环节存在下降错误)
[ If it's a problem with Qemu, we still need to check whether this is due to procedural issues in one or more of the MIPS => TCG => machine code translation. ]
子兴 刘, [2022/10/25 下午10:59]
关于调试的办法:使用支持 mips64r6 的调试器(gdb-multihead 或者 lldb)去连接 qemu 的调试端口(使用 qemu 的 gdb-stub 功能)
然后检查是什么地方出现了段错误
[ As for how to debug - get a mips64r6 debugger (gdb-multihead or lldb) and connect it to Qemu's debugging interface (using Qemu's gdb-stub function). ]
子兴 刘, [2022/10/25 下午11:00]
gdb 可能会无法读取调试符号,因为这个情况下调试过程实际上是 qemu 在代理
gdb 只是在给 qemu 发送调试命令
这个情况下,可以让 gdb 单独从目标二进制(文件)读取调试符号
[ GDB may not be able to read debug symbols, because this process is handled by Qemu. GDB only sends debugger instructions to Qemu. In this case, we can make GDB read the debug symbols from standalone target binary files. ]
@liushuyu May help debugging this issue down the line.
This marks the conclusion to Stage 2.
This issue tracks the tasks completed/pending for a stage 2 (dirty and minmal) AOSC OS BuildKit release. After which, we enter stage 3, when we rebuild the BuildKit recipe using Ciel, producing clean and feature-complete packages.
Road to Stage 2
Key Features (Stage 2)
Introduce key development features (build systems, toolchains, etc.) after
apt
availability is key to simplify dependency introduction during stage 2.Maintenance Toolchain
Build Systems
setuptools-rust
)setuptools-rust
)Languages
Other Components
BuildKit Recipe
Dependencies needed to generate a stage 2 BuildKit release.
At a Glance
admin-base
core-base
debug-base
devel-base
editor-base
network-base
python-base
setuptools-rust
)systemd-base
util-base
src/library/getopt.o: ABI is incompatible with that of the selected emulation
(worked around)web-base
Extra Packages
Issues, problem, and errors encountered during this build will be recorded in the comments below.