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

如何在Yocto Warrior分支为Intel x86板构建mono-fastcgi-server?构建遇错求助

解决Yocto Warrior分支下mono-xsp构建错误及mono-fastcgi-server构建方法

一、修复mono-xsp的configure失败问题

你遇到的oe_runconf failed错误大多是configure脚本找不到必要依赖、配置参数不匹配导致的,给你几个实用的排查和解决方向:

  1. 查看详细日志定位根因
    先去查看具体的configure失败日志,路径是tmp/work/<你的x86架构>/mono-xsp/git-r0/temp/log.do_configure,里面会明确说明是缺少某个库、头文件,还是某个参数不支持——比如常见的缺失libglib-2.0、libssl相关开发包的问题,日志里都会写清楚。

  2. 补充关键依赖包
    你的local.conf里已经加了不少依赖,但可能还漏了几个核心项,建议更新CORE_IMAGE_EXTRA_INSTALL,加上:

    CORE_IMAGE_EXTRA_INSTALL += "libglib-2.0-dev libssl-dev"
    

    另外要确认meta-mono仓库是和Yocto Warrior分支兼容的版本,不同分支的配方逻辑有差异,拉取时要切换到对应的Warrior分支。

  3. 清理缓存后重新构建
    有时候旧的构建缓存会导致奇怪的兼容性问题,先清理mono-xsp的构建状态:

    bitbake -c cleansstate mono-xsp
    

    之后再重新运行你的镜像构建命令,比如bitbake core-image-minimal。

  4. 调整配方的configure参数
    如果日志显示是参数不匹配的问题,可以修改meta-mono/recipes-devtools/mono/mono-xsp_git.bb里的EXTRA_OECONF,添加指定依赖路径的参数:

    EXTRA_OECONF += "--with-mono=${STAGING_BINDIR_CROSS} --with-libgdiplus=${STAGING_LIBDIR}"
    

二、为Intel x86板构建mono-fastcgi-server

mono-fastcgi-server一般是xsp项目的子模块,你可以通过以下步骤将其加入Yocto构建流程:

  1. 检查现有配方
    先查看meta-mono/recipes-devtools/mono目录下有没有mono-fastcgi-server相关配方,如果没有,就自己创建一个。

  2. 编写mono-fastcgi-server配方文件
    在meta-mono/recipes-devtools/mono目录下新建mono-fastcgi-server_git.bb,内容参考如下(注意根据实际源码路径调整):

    SUMMARY = "Mono FastCGI Server for Nginx integration"
    HOMEPAGE = "https://www.mono-project.com/docs/web/fastcgi/"
    LICENSE = "MIT"
    LICENSE_FILES_CHKSUM = "file://../../LICENSE;md5=abc123" # 替换成实际的LICENSE文件md5值
    
    SRC_URI = "git://github.com/mono/xsp.git;branch=warrior;subpath=src/FastCGI"
    S = "${WORKDIR}/git/src/FastCGI"
    
    inherit autotools mono
    
    DEPENDS = "mono libgdiplus libglib-2.0"
    
    EXTRA_OECONF = "--prefix=${prefix} --sysconfdir=${sysconfdir}"
    
    do_install() {
        oe_runmake install DESTDIR=${D}
    }
    

    要确保SRC_URI里的分支是Warrior对应的,subpath指向fastcgi-server的源码目录。

  3. 添加到镜像安装列表
    在conf/local.conf里添加:

    CORE_IMAGE_EXTRA_INSTALL += "mono-fastcgi-server"
    
  4. 指定Intel x86架构
    在conf/local.conf里设置对应硬件的MACHINE,比如针对64位Intel板:

    MACHINE ?= "intel-corei7-64"
    

    32位板可以用intel-core2-32,根据你的硬件选择即可。

  5. 启动构建
    运行bitbake core-image-minimal(或者你的目标镜像名称),Yocto会自动拉取源码、构建mono-fastcgi-server并打包到最终镜像中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:17:31