You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Sparc架构Solaris 9系统中编译Git源码报错问题咨询

解决Sparc架构Solaris 9系统编译Git报错问题

报错原因分析

  • 你使用的Git源码版本过新:新版Git的Makefile大量使用了高版本GNU make、高版本GCC才支持的语法和特性,你当前的gcc 3.4.6、make 3.82无法适配。
  • 编译文档依赖缺失:all doc info参数要求编译文档,不仅依赖asciidoc、xmlto等你环境未安装的工具,部分构建步骤还会调用已存在的git二进制生成版本标识,触发git: not found报错。
  • Makefile语法适配问题:新版Git Makefile的变量写法和你当前的GNU make 3.82不兼容,直接触发unterminated variable reference报错。

可行编译步骤

  1. 首先更换适配老系统的Git源码版本,选择2.17.x及更早的LTS版本,不要使用2.18以上的Git源码。
  2. 调整编译参数,跳过不需要的依赖和文档编译,手动指定版本号避免调用git二进制:
make prefix=/usr/local \
CC=gcc \
NEEDS_LIBICONV=YesPlease \
NO_GETTEXT=YesPlease \
GIT_VERSION=你的源码对应版本号(例如2.17.6) \
NO_DOC=YesPlease \
NO_TCLTK=YesPlease \
all
  1. 编译无报错后执行安装:
make prefix=/usr/local install

如果编译过程中报zlib相关错误,你需要额外安装zlib的sparc-solaris9预编译包,Solaris 9自带的zlib版本通常无法满足编译要求。

关于自带工具链的说明

  • Solaris 9自带的make是Sun make,Git官方Makefile仅适配GNU make,完全不兼容Sun make,所以不能使用自带的make编译,你已经安装的GNU make 3.82版本满足要求。
  • Solaris 9自带的Sun Studio cc编译器理论上可以编译Git,但需要手动修改大量编译参数适配Sun C的语法,远不如直接使用你已经安装的gcc 3.4.6方便,不推荐切换。

内容的提问来源于stack exchange,提问作者dlsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:45:03