【49】新版pciutils解決undefined reference to `udev_hwdb_get_properties_list_entry

gcc -o pcieinject ./pcietest_hypcie.c ./pcietest_parse.c ./pcietest_pcie.c ./pcietest_pcieaer.c smnlib/hygon_smn.c -O0 -g -Wall -D LITTLEENDIAN_CPU -I comlib -I pcilib -I smnlib -L ./pcilib/lib -Wl,-Bstatic -lpci -Wl,-Bdynamic -lz -lresolv
./pcilib/lib/libpci.a(names-hwdb.o): In function pci_id_hwdb_lookup': names-hwdb.c:(.text+0xd4): undefined reference toudev_hwdb_get_properties_list_entry’
names-hwdb.c:(.text+0xe9): undefined reference to udev_list_entry_get_next' names-hwdb.c:(.text+0xfd): undefined reference toudev_list_entry_get_name’
names-hwdb.c:(.text+0x114): undefined reference to udev_list_entry_get_value' names-hwdb.c:(.text+0x249): undefined reference toudev_new’
names-hwdb.c:(.text+0x256): undefined reference to udev_hwdb_new' ./pcilib/lib/libpci.a(names-hwdb.o): In functionpci_id_hwdb_free’:
names-hwdb.c:(.text+0x27e): undefined reference to udev_hwdb_unref' names-hwdb.c:(.text+0x294): undefined reference toudev_unref’

只需要在調用pcituils lib的makefile增加-ludev
在這裏插入圖片描述
還有一種改法就是直接修改pciutils的Makefile,簡單粗暴,不detect系統配置,直接寫成no,反正這兩個lib沒啥太大用處

Use libkmod to resolve kernel modules on Linux (yes/no, default: detect)

LIBKMOD=no

Use libudev to resolve device names using hwdb on Linux (yes/no, default: detect)

HWDB=no

參考
https://github.com/Xilinx/embeddedsw/pull/30

發佈了35 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章