龙芯系统编译rpm-4.4.2.3源码包遇到问题

本文记录了在龙芯系统上编译rpm-4.4.2.3源码包时遇到的问题及解决办法,包括版本号错误、编译环境Python版本不匹配和指定路径缺失等。


龙芯系统编译rpm-4.4.2.3源码包遇到问题有3个:

1、

错误原因:
    发现是版本号错误,应该是neon-0.25.5-10AXS3.src.rpm
解决方法:
    * 拷贝过来neon-0.25.5-10AXS3.src.rpm包,并编译
    * 编译asianux-rpm-config

2、


错误原因:
    编译环境中python2.5版本,但是SPEC文件中第一句指定了python2.4版本,所以编译过程中缺失python2.4报出很多语法错误
解决方法:
    修改SPEC文件,将python2.4修改为python2.5

3、

错误原因:
    指定路径下缺失asianux文件夹和内部文件
解决方法:
    修改SPEC文件,rpm.spc的275行添加:
    mkdir $RPM_BUILD_ROOT/usr/src/asianux
    mkdir $RPM_BUILD_ROOT/usr/src/asianux/BUILD
    mkdir $RPM_BUILD_ROOT/usr/src/asianux/SOUCES
    mkdir $RPM_BUILD_ROOT/usr/src/asianux/RPMS
    mkdir $RPM_BUILD_ROOT/usr/src/asianux/SPECS


rc-local.service 启动失败并报告状态码 138,通常意味着该服务在尝试启动时遇到了与执行环境不兼容的问题。状态码 138 在 Linux 系统中通常表示“Exec format error”,即系统无法执行指定的程序,因为其格式不被支持。这在龙芯平台(LoongArch)上可能由以下原因导致: - **二进制文件架构不匹配**:rc-local.service 中调用的脚本或程序可能是为其他架构(如 x86 或 ARM)编译的,而不是为 LoongArch 架构编译的。这种情况下,内核无法识别或执行该二进制格式[^1]。 - **脚本缺少执行权限**:如果 rc-local.service 调用的是一个脚本文件,而该脚本没有设置可执行权限,则 systemd 无法运行它,从而导致服务启动失败。 - **路径错误或环境变量缺失**:rc-local.service 可能依赖某些环境变量或路径设置,这些在 LoongArch 平台上可能未正确配置,导致找不到可执行文件或依赖库。 - **systemd 配置问题**:在某些情况下,systemd 的配置可能未正确更新,或者 rc-local.service 的单元文件中存在语法或逻辑错误,尤其是在跨平台移植过程中。 ### 解决方案 1. **检查脚本或程序的架构兼容性**: 确保 rc-local.service 中调用的所有脚本或程序都是为 LoongArch 架构编译的。可以使用 `file` 命令来检查文件的架构信息: ```bash file /path/to/executable ``` 输出应显示该文件是为 LoongArch 架构设计的。如果不是,则需要重新编译适用于 LoongArch 的版本。 2. **验证脚本的执行权限**: 确保 rc-local.service 中调用的脚本具有可执行权限。可以使用以下命令添加执行权限: ```bash chmod +x /path/to/script ``` 3. **检查路径和环境变量**: 确认 rc-local.service 中的所有路径都是正确的,并且所有必要的环境变量都已设置。可以在服务文件中使用 `Environment=` 指令来显式设置所需的环境变量。 4. **审查 systemd 单元文件**: 检查 `/etc/systemd/system/rc-local.service` 文件的内容,确保其语法正确,并且与 LoongArch 平台兼容。特别是要注意 `ExecStart=` 指令是否指向正确的脚本或程序,并且没有拼写错误。 5. **重新加载 systemd 配置**: 在修改了 systemd 单元文件后,使用以下命令重新加载 systemd 配置: ```bash systemctl daemon-reload ``` 6. **查看日志以获取更多线索**: 使用 `journalctl` 查看详细的日志信息,以帮助诊断问题: ```bash journalctl -u rc-local.service ``` 通过以上步骤,应该能够解决 rc-local.service 在 LoongArch 平台上启动失败的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值