meson-build - 无法使介子构建系统中的包装文件选项正常工作
问题描述
我试图为 arm 交叉编译 glib。它依赖于 libffi,但发现 libffi 的介子构建是在 2 年前最后更新的,并且可用的内容存在问题。
因此我必须定义一个包装文件来获取最新的 libffi 源。
我的第一个想法是使用如下包装文件 -
[wrap-git]
directory=libffi
url=https://github.com/libffi/libffi
revision=head
ps 它是具有 libffi 正确源代码的主要版本。但它需要一个介子修正,似乎并没有占据主导地位。
因此我选择了 [wrap-file] 选项,
[wrap-file]
directory = libffi-3.3
source_url = https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz
source_filename = libffi-3.3.tar.gz
source_hash = 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056
但是在进行介子构建时,我仍然收到此错误“子项目存在但没有 meson.build 文件”。
这是 glib 附带的原始包装文件。
[wrap-git]
directory=libffi
url=https://github.com/centricular/libffi.git
revision=meson
什么是让包装文件工作的最简单方法。
解决方案
据我所见,有人分叉了项目并添加了对的支持meson
,命名为那个分支meson
,所以修订只是包含的分支的名称meson.build
官方项目不支持meson.build
. 真正发生的是,当您构建使用 wrap git/file 的项目时,该项目被获取/下载和解压缩,并搜索meson.build
为您的项目构建该依赖项。
你有几个选择:
- Fork 项目并添加对 meson 的支持(可选:将 PR 提交到官方项目)
- 安装并使用它作为依赖
- 使用
conan
包管理器获取您的依赖项,您甚至可以将其与meson
( https://conan.io/center/libffi/3.3/?user= &channel= )集成
推荐阅读
- python - 使用 Django 动态处理存储过程结果
- vb.net - VB 中预期的语句结束
- javascript - 在javascript和d3中将几个json文件读入一个数组然后使用它们
- javascript - 计算从今天到现在的天数
javascript中的标记
- vba - MS Access:将报告另存为 PDF 的命令按钮
- amazon-web-services - 我在哪里/如何在 AWS SSM 自动化文档中定义 NotificationConfig?
- c - 我的squeeze() 函数有什么问题?
- java - Java + SpringBoot Maven (site) - 找不到父项目的 URL。不会添加父菜单
- html - Jquery bootstrap multiselect问题 - 复制下拉列表
- node.js - 在单个 Gatsby 页面中结合来自两个不同来源的相关数据