多年來我已經使用了Buildroot,並且一直設法找到解決方案來解決我遇到的障礙。但是這個人讓我進入了圈子。爲什麼Buildroot不能提供添加到每個過程構建的項目特定主機包的目標?
我已經添加了一個git-sourced python工具作爲我的Buildroot構建ARM目標的主機包。我已經完成了package/Config.in.host和package/toolname/Config.in.host以及package/toolname/toolname.mk文件的工作。一切看起來都是按順序的。我將這些工作與add_new_package.wizard輸出結果進行了比較。
新選項DOES出現在menuconfig中。
它不作爲make目標,雖然我有目標端軟件包,我已經包括這是有效的目標。即我可以運行: make target-side-package-name 這些軟件包的構建就好了。
我不能運行: 使主機端軟件包名稱因爲我得到錯誤「沒有規則制定目標」。
所以我必須有一些東西我不正確地與主機軟件包,雖然我明確正在做目標軟件包正確的事情。
一切指向Buildroot只是簡單地忽略我的主機包,而不是將其粘貼到menuconfig。我在網絡上搜索的時間已經導致沒有一個人關於有同樣問題的人。我錯過了我會想到的事情。
我的問題是 - 我可以做什麼調試,我可以在哪裏查找讓Buildroot正確識別我的新包的內容?
編輯:我相信我現在明白問題的一部分是構建順序,也許我可以用依賴性指令修復一個問題。我的目標軟件包依賴於主機軟件包,正在首先構建。我認爲常識會決定首先處理主機軟件包,但顯然這不是真的。
編輯:公示.mk文件
TOOLNAME_VERSION = 2
TOOLNAME_SITE = $(call github,devname,toolname,$(TOOLNAME_VERSION))
TOOLNAME_SETUP_TYPE = setuptools
TOOLNAME_LICENSE = GPL-3.0
TOOLNAME_LICENSE_FILES = LICENSE
HOST_TOOLNAME_DEPENDENCIES = host-python-library
$(eval $(host-python-package))
TOOLNAME = $(HOST_DIR)/usr/bin/toolname
正如我之前暗示,現在運行得很好,所以我知道它主要是設置正確,剩下的問題是make目標丟失。根據Buildroot手冊,我應該有一個可用的。
我現在已經發現缺少make目標實際上使得建立依賴於這個的其他軟件包成爲不可能。依賴包的構建現在失敗了,因爲工具名稱包中的「無法生成」,它依賴於通過 TARGET_PACKAGE_DEPENDENCIES =工具名稱
郵件列表和IRC頻道是此類問題的最佳位置。你會在那裏找到更好的答案。你的問題也很模糊:你能否提供你的Config.in和.mk文件(可能混淆敏感數據)? –
感謝您的建議。我已經發布了.mk,Config.in.host中沒有任何興趣,它很簡單,並且該包顯示在menuconfig中並且構建正確。這只是造成目標的問題而已。 –