Commit Graph

8 Commits

Author SHA1 Message Date
3abad9d178 fix: Alpine 添加缺失的 unbound-dev 依赖
Some checks failed
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 使用可用的静态库包名称
Some checks failed
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 回退到静态库包方式实现纯静态链接
Some checks failed
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 系统实现纯静态链接
Some checks failed
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
72fc96f67e fix: 修复静态链接依赖和 Alpine execinfo 兼容性问题
Some checks failed
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 编译错误
Some checks failed
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 构建错误
Some checks failed
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 首次提交
Some checks failed
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