Openwrt編譯錯誤:Package xxx is missing dependencies for the following libraries


Openwrt編譯時,經常會遇到如下問題:

Openwrt Package xxx is missing dependencies for the following libraries: 
libxxx.so.*

解決方法如下:

  1. 第一步:檢查 package/xxx/Makefile 中的 DEPENDS 是否加入了對應的依賴庫,若沒有則加上
  2. 第二步:若加入了相應的依賴,還出現上述問題,則可能是加入的庫名稱不正確導致,需要自行確認是否填錯依賴的名稱

舉一個我遇到過的案例

我在編譯DAQ時,出現如下錯誤:
在這裏插入圖片描述
第一步,我修改了 Makefile,加入了相應的依賴,如下圖所示:

# vi package/feeds/packages/libdaq/Makefile

一開始根據缺失的庫文件名稱,想當然的就加入 +libnfnetlink +libnetfilter_queue
在這裏插入圖片描述
但是又出現如下錯誤:
在這裏插入圖片描述
由上圖可以看出,比之前的錯誤少報了一個庫,說明該方法是可行的。後面才發現原來是庫名稱錯了,需要填入我們在 meke menuconfig 選中的那個名稱,如下圖:
在這裏插入圖片描述
在這裏插入圖片描述

在填入+libnfnetlink +libnetfilter-queue 後,重新編譯 DAQ 就可以通過了。只是一個符號的差距,卻讓我糾結了很久,所以細心是非常重要的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章