autotools - buildroot 使用 autotools 从 github 添加包
问题描述
我一直在寻找,但找不到答案。我目前正在学习 buildroot,它一直很棒,直到这个。
我正在尝试将Coova Chilli添加为一个包。
这是我的.mk
文件。
#############################################################
#
# coovachilli
#
#############################################################
COOVACHILLI_VERSION = 1.4
COOVACHILLI_SOURCE = $(COOVACHILLI_VERSION).tar.gz
COOVACHILLI_SITE = https://github.com/coova/coova-chilli/archive
COOVACHILLI_INSTALL_STAGING = YES
COOVACHILLI_INSTALL_TARGET = NO
COOVACHILLI_CONF_OPTS = --prefix=/usr --libdir=/usr/lib --localstatedir=/var --sysconfdir=/etc --enable-miniportal --with-openssl --enable-libjson --enable-useragent --enable-sessionstate --enable-sessionid --enable-chilliredir --enable-binstatusfile --enable-statusfile --disable-static --enable-shared --enable-largelimits --enable-proxyvsa --enable-chilliproxy --enable-chilliradsec --with-poll --enable-dhcpopt --enable-sessgarden --enable-ipwhitelist --enable-redirdnsreq --enable-miniconfig --enable-layer3 --enable-chilliscript --enable-eapol --enable-uamdomainfile --enable-modules --enable-multiroute
COOVACHILLI_DEPENDENCIES = openssl make libtool
$(eval $(autotools-package))
一直在关注一些教程,还有这个。
但无论我做什么,包括这个包,我总是最终得到:
/bin/bash: ./configure: No such file or directory
我试过取消选择这个包并且make
成功了。
我被>>> coovachilli 1.4 Configuring
这个错误困住了。
我检查了buildroot > dl
文件夹,可以看到它成功下载了文件。
此外,buildroot > output > build
我可以看到coovachilli-1.4
其中包含文件的文件夹。
解决方案
但无论我做什么,包括这个包,我总是最终得到:
/bin/bash: ./configure: No such file or directory
这似乎是因为您使用的 tarball 确实不包含configure
脚本。该项目的 GitHub 源代码库和从那里可用的发布 tarball 不包含一个,也不包含其他各种 Autotools 生成的文件,而是提供了一个bootstrap
运行 Autotools 来生成它们的“”脚本。
该方法遵循不将派生文件提交到源存储库的理念,但对于 Autotools 来说这是一种有点简单化的分析,因为
Autotools 的关键设计点之一是它们是包维护者的工具,而不是仅仅想要构建包的人的工具。运行 Autotools 并不是构建过程的正常部分。
因此,由基于 Automake 的构建系统构建的分发包确实包含构成构建系统的所有生成文件。期望您向他们提供基于 Autotools 的分发包的第三方工具是正确的期望这些工具被包含在内。
此外,由 Autotools 生成的脚本和其他文件比生成它们的 Autotools 输入文件更具可移植性。特别是,Autotools 输入并不总是与不同版本的 Autotools 完全兼容,而不是为它们编写。
无论如何,假设您使用 GitHub 提供的 tarball,您需要bootstrap
在解压缩和启动到configure
. 请注意,从 buildroot 的角度来看,这会在您的构建中引入(至少)对 Autoconf 和 Automake 的依赖。
推荐阅读
- amazon-web-services - 在 Boto3 中检查 AWS S3 写入权限
- apache-spark - 运行 Apache.spark 时出现 NullPointerException
- google-apps-script - 使用 Google Apps 脚本复制数据时如何忽略空单元格并更改列顺序
- python - 如何使用熊猫转置一列的某些行
- powershell - 使用 PowerShell 更改 AD 中电话号码的格式
- mysql - 设置远程sql服务器
- java - BluetoothGatt 意外关闭并且应用程序崩溃,BluetoothGatt.getService(java.util.UUID)' 在空对象引用上
- excel - 如何为多个和/或标准创建excel复杂公式
- java - 如何在 Java 应用程序中切换到窗口?
- asp.net-core - 过滤器中的服务堆栈注入和解析服务(dot net core 2)