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

如何在OpenSuSE 15.6上构建AUR包以实现树莓派交叉编译?

解决OpenSuSE 15.6上构建树莓派交叉编译器的问题

方法1:直接使用OpenSuSE官方仓库的交叉编译工具链

这是最省心的方案,OpenSuSE官方提供了armhf架构的交叉编译器包,无需折腾AUR源码:

  • 打开终端,执行以下命令安装基础交叉编译工具:
    sudo zypper install cross-armv7hl-linux-gnueabihf-gcc cross-armv7hl-linux-gnueabihf-glibc cross-armv7hl-linux-gnueabihf-binutils
    
  • 安装完成后,交叉编译器的命令前缀为armv7hl-linux-gnueabihf-,比如armv7hl-linux-gnueabihf-gcc就是编译armhf程序的编译器。

方法2:手动解析并执行AUR PKGBUILD中的编译步骤

如果必须使用AUR的源码包,可以手动提取PKGBUILD中的编译逻辑,跳过makepkg依赖:

  1. 进入你git clone下来的AUR包目录,打开PKGBUILD文件,查看其中的关键部分:
    • source字段:确认所有源码包已就绪(git clone通常会包含或自动拉取相关资源)
    • prepare()函数:手动执行其中的预处理命令,比如解压补丁、配置环境变量等
    • build()函数:复制里面的编译命令,在终端手动运行
    • package()函数:若需安装到系统,复制里面的安装步骤执行(注意权限,可能需要sudo)
  2. 示例:假设PKGBUILD的build函数如下:
    build() {
      cd "${srcdir}/gcc-${pkgver}"
      ./configure --target=arm-linux-gnueabihf --prefix=/usr --enable-languages=c,c++
      make -j$(nproc)
    }
    
    你可以手动执行:
    cd gcc-<对应版本号>
    ./configure --target=arm-linux-gnueabihf --prefix=/usr --enable-languages=c,c++
    make -j$(nproc)
    sudo make install
    

方法3:用容器/虚拟机运行Arch Linux编译

如果上述方法都不适用,可以通过容器或虚拟机启动Arch Linux环境,在里面用makepkg编译:

  • 使用Podman/Docker拉取Arch镜像:
    podman pull archlinux
    podman run -it -v /path/to/your/aur/pkg:/mnt archlinux
    
  • 在容器内安装makepkg依赖:
    pacman -Syu base-devel git
    
  • 进入挂载的目录,执行makepkg -si编译并安装,之后把编译好的包(.pkg.tar.zst格式)复制到OpenSuSE系统,手动解压安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:42:33