【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

发布了33 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/linjiasen/article/details/103876572