|
|
8014002dff
|
chore: 移除 Alpine 构建方案
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 22s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 28s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 40s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 53s
Build and Release Mond / release (push) Has been skipped
Alpine (musl libc) 与 Monero depends 系统兼容性问题过多:
- 系统包无法提供所需的静态库
- depends 系统在 musl 环境下存在各种依赖问题
- 维护成本高且不可靠
保留 Ubuntu 20.04 方案,已验证可实现纯静态链接
|
2025-12-15 14:46:21 +08:00 |
|
|
|
5057ef7bdf
|
fix: Alpine 修正包名(pkgconf)并移除不存在的包
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 41s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 54s
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 2m13s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 8m48s
Build and Release Mond / release (push) Has been skipped
|
2025-12-15 14:42:40 +08:00 |
|
|
|
03f8118f7a
|
fix: Alpine 改用 depends 系统实现纯静态链接
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 23s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 31s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 40s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 1m2s
Build and Release Mond / release (push) Has been skipped
- 放弃使用系统包(zeromq-dev 等只提供动态库)
- 改用官方 depends 系统从源代码构建所有依赖
- 添加 libexecinfo-dev 解决 musl 环境 execinfo.h 问题
- 与 Ubuntu 构建方式统一,确保纯静态链接
|
2025-12-15 14:40:17 +08:00 |
|
|
|
e7dd3d0b9a
|
fix: Alpine 添加 boost-dev 包提供头文件
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 40s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 1m3s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 3m25s
Build and Release Mond / release (push) Has been cancelled
Build and Release Mond / build-and-test (arm64, alpine) (push) Has been cancelled
|
2025-12-15 14:34:37 +08:00 |
|
|
|
3abad9d178
|
fix: Alpine 添加缺失的 unbound-dev 依赖
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 39s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 1m3s
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 1m7s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 1m18s
Build and Release Mond / release (push) Has been skipped
|
2025-12-15 14:32:39 +08:00 |
|
|
|
202c36f21e
|
fix: Alpine 使用可用的静态库包名称
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 40s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 54s
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 1m3s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 1m10s
Build and Release Mond / release (push) Has been skipped
问题:Alpine 3.18 缺少这些静态包:
- hidapi-static
- libusb-static
- zeromq-static
- expat-static
解决方案:
- 保留存在的 -static 包:boost-static, openssl-libs-static, libsodium-static, libunwind-static, readline-static
- 使用 -dev 包替代不存在的 -static 包:zeromq-dev, hidapi-dev, libusb-dev, expat-dev
- 依靠 CMake 强制标志优先使用 .a 文件:
* CMAKE_FIND_LIBRARY_SUFFIXES=".a"
* CMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++"
|
2025-12-15 14:28:32 +08:00 |
|
|
|
f509d1934d
|
fix: Alpine 回退到静态库包方式实现纯静态链接
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 23s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 30s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 41s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 54s
Build and Release Mond / release (push) Has been skipped
问题分析:
- Alpine (musl libc) 不适合使用 depends 系统(为 glibc 设计)
- ARM64 交叉编译缺少工具链
- AMD64 依然遇到 execinfo.h 错误
解决方案:
1. 回退到简单 cmake 构建,但使用所有静态库包
2. 安装 -static 后缀的包(boost-static, zeromq-static 等)
3. 强制静态链接标志:
- DBUILLD_SHARED_LIBS=OFF
- CMAKE_FIND_LIBRARY_SUFFIXES=".a"
- CMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++"
4. 保留 STACK_TRACE=OFF(musl libc 必需)
|
2025-12-15 14:26:13 +08:00 |
|
|
|
716d771ce4
|
fix: Alpine 使用 depends 系统实现纯静态链接
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 40s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 55s
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 2m16s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 9m9s
Build and Release Mond / release (push) Has been skipped
问题修复:
- Alpine 之前使用简单 cmake 方法导致动态链接(依赖 libzmq.so, libsodium.so, libunbound.so)
- 运行时错误:Error loading shared library
解决方案:
1. 移除所有动态库开发包(boost-*, zeromq-dev, unbound-dev 等)
2. 只保留 depends 系统所需的构建工具
3. 使用官方 depends 系统:make depends target=$DEPENDS_TARGET
4. 与 Ubuntu 构建流程完全统一
|
2025-12-15 14:14:10 +08:00 |
|
|
|
594dfb2e7d
|
fix: 使用 Ubuntu 20.04 和官方 depends 系统实现静态链接
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 25s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 37s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 17m29s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 21m6s
Build and Release Mond / release (push) Has been skipped
关键问题修复:
- Ubuntu 22.04 的 GCC 11.4 与 Boost 1.69 不兼容
- Ubuntu 20.04 的 GCC 9.x 与 Boost 1.69 完全兼容
核心改进:
1. 基础镜像从 ubuntu:22.04 改为 ubuntu:20.04
2. 使用官方 Dockerfile 的 depends 系统方法
3. 构建产物路径对齐官方:build/TARGET/release/bin/mond
4. 支持 amd64 和 arm64 架构
|
2025-12-15 13:20:39 +08:00 |
|
|
|
eaf6286543
|
fix: Ubuntu 采用官方 release-static 方法实现纯静态链接
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 25s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 38s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 2m1s
Build and Release Mond / release (push) Has been cancelled
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Has been cancelled
- 移除 depends 系统,避免 Boost 1.69/GCC 11.4 兼容性问题
- 采用官方 Makefile 中的 release-static target 配置
- 参考 Alpine 成功经验添加 -DSTACK_TRACE=OFF
- 简化构建流程,提高可维护性
参考:.source/Makefile:93-95, .source/README.md:459-484
|
2025-12-15 13:18:28 +08:00 |
|
|
|
999024051f
|
fix: 使用 Monero depends 系统实现完全静态链接
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 26s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 38s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Failing after 6m39s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 8m37s
Build and Release Mond / release (push) Has been skipped
- 添加 depends 系统所需的构建工具(autoconf, automake, libtool 等)
- 在构建前先使用 contrib/depends 系统编译所有依赖的静态版本
- 使用 toolchain.cmake 确保链接到 depends 构建的静态库
- 支持 amd64 和 arm64 两种架构
- 最终镜像改回 FROM scratch,产生完全独立的可执行文件
Monero 的 depends 系统会从源代码编译所有依赖库(boost、openssl、
zeromq、unbound、libevent、nettle、gmp 等)的静态版本,解决了
系统包管理器中静态库缺失或版本不匹配的问题。
生成的二进制文件可以在任何 Linux 系统上独立运行,无需安装依赖。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:57:23 +08:00 |
|
|
|
faecae69a9
|
fix: 添加遗漏的 Ubuntu 运行时依赖
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 25s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 37s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 48s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 1m12s
Build and Release Mond / release (push) Has been skipped
添加了完整的 Boost 库运行时依赖:
- libboost-date-time1.74.0
- libboost-locale1.74.0
- libboost-regex1.74.0
- libprotobuf23
- libudev1
- ca-certificates
解决 "error while loading shared libraries" 错误
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:50:46 +08:00 |
|
|
|
08982e482b
|
fix: Ubuntu 改用动态链接以避免复杂的静态链接依赖
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 26s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 39s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 44s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 1m2s
Build and Release Mond / release (push) Has been skipped
- 移除 -DSTATIC=ON,使用动态链接
- 最终镜像从 scratch 改为 ubuntu:22.04
- 添加所有必需的运行时依赖库
静态链接 Ubuntu 上的 libunbound 需要手动构建多个依赖库(libevent、
nettle、gmp、hogweed),过于复杂且不稳定。动态链接是更实用的方案。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:48:01 +08:00 |
|
|
|
0947d13b9c
|
fix: 使用 Monero 的 release-static 目标构建 Ubuntu 版本
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 25s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 38s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 1m50s
Build and Release Mond / release (push) Has been cancelled
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Has been cancelled
- 移除手动添加的静态库依赖(libevent-dev, nettle-dev, libgmp-dev)
- 改用 make release-static 目标,它会自动处理所有依赖
- 简化构建流程,避免手动管理静态链接依赖
Monero 的 release-static 目标使用 contrib/depends 系统
自动下载并编译所有必需库的静态版本,解决 libunbound 依赖问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:43:12 +08:00 |
|
|
|
2544d5f41b
|
fix: 修正 Ubuntu nettle 包名
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 25s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 37s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 5m11s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Failing after 6m29s
Build and Release Mond / release (push) Has been skipped
- 将 libnettle-dev 改为 nettle-dev
- Ubuntu 22.04 使用 nettle-dev 作为包名
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:29:14 +08:00 |
|
|
|
72fc96f67e
|
fix: 修复静态链接依赖和 Alpine execinfo 兼容性问题
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Failing after 29s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 38s
Build and Release Mond / build-and-test (amd64, alpine) (push) Successful in 2m48s
Build and Release Mond / build-and-test (arm64, alpine) (push) Successful in 7m0s
Build and Release Mond / release (push) Has been skipped
- Ubuntu: 添加静态链接所需的依赖包 (libevent-dev, libnettle-dev, libgmp-dev)
解决 libunbound.a 引用的 event_*, nettle_*, __gmpz_* 未定义错误
- Alpine: 移除不存在的 libexecinfo-dev 包
- Alpine: 添加 -DSTACK_TRACE=OFF 禁用 stack trace 功能
解决 musl libc 不支持 execinfo.h 的兼容性问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 12:24:54 +08:00 |
|
|
|
9c9cd35349
|
fix: 修复 Ubuntu 运行时依赖和 Alpine 编译错误
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 23s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 31s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 2m3s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Failing after 4m39s
Build and Release Mond / release (push) Has been skipped
- docker/Dockerfile.ubuntu: 添加 -DSTATIC=ON 参数启用静态链接
解决了 scratch 镜像中缺少动态库 (libboost_chrono.so) 的运行时错误
- docker/Dockerfile.alpine: 添加 libexecinfo-dev 包
解决了 musl libc 缺少 execinfo.h 头文件的编译错误
修复平台:
- Ubuntu (amd64/arm64) - 运行时依赖问题
- Alpine (amd64/arm64) - execinfo.h 编译错误
|
2025-12-15 12:15:47 +08:00 |
|
|
|
677230616c
|
fix: 修复所有平台的 Docker 构建错误
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Successful in 2m35s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 2m47s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Successful in 8m16s
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 9m44s
Build and Release Mond / release (push) Has been skipped
- init.sh: 修复版本宏替换规则,为所有 sed 命令添加全局替换标志 (/g)
解决了 Ubuntu 平台上 'DEF_MONERO_VERSION' 未定义的编译错误
- docker/Dockerfile.alpine: 添加所有必需的 Boost 组件包
解决了 Alpine 平台上 CMake 找不到 Boost 组件的配置错误
修复平台:
- Alpine Linux (amd64/arm64) - Boost 组件缺失问题
- Ubuntu (amd64/arm64) - 版本宏定义错误
|
2025-12-15 11:58:30 +08:00 |
|
|
|
2493344eba
|
首次提交
Build and Release Mond / build-and-test (arm64, alpine) (push) Failing after 1m3s
Build and Release Mond / build-and-test (amd64, alpine) (push) Failing after 1m39s
Build and Release Mond / build-and-test (arm64, ubuntu) (push) Failing after 2m24s
Build and Release Mond / build-and-test (amd64, ubuntu) (push) Failing after 3m2s
Build and Release Mond / release (push) Has been skipped
|
2025-12-15 11:15:14 +08:00 |
|