ld 在错误的路径中搜索,并搜索错误的库
ld searching in the wrong path, and searching for the wrong library
我正在尝试在我的机器上编译 wireshark,因为我需要添加一些自定义插件。当我 运行 make install
时,我收到消息:
/usr/bin/ld: cannot find -lwsutil
运行命令ld -lwsutil --verbose
给出(最后几行)
attempt to open //usr/local/lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //usr/local/lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //usr/lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //usr/lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //usr/local/lib64/libwsutil.so failed
attempt to open //usr/local/lib64/libwsutil.a failed
attempt to open //lib64/libwsutil.so failed
attempt to open //lib64/libwsutil.a failed
attempt to open //usr/lib64/libwsutil.so failed
attempt to open //usr/lib64/libwsutil.a failed
attempt to open //usr/local/lib/libwsutil.so failed
attempt to open //usr/local/lib/libwsutil.a failed
attempt to open //lib/libwsutil.so failed
attempt to open //lib/libwsutil.a failed
attempt to open //usr/lib/libwsutil.so failed
attempt to open //usr/lib/libwsutil.a failed
attempt to open //usr/x86_64-linux-gnu/lib64/libwsutil.so failed
attempt to open //usr/x86_64-linux-gnu/lib64/libwsutil.a failed
attempt to open //usr/x86_64-linux-gnu/lib/libwsutil.so failed
attempt to open //usr/x86_64-linux-gnu/lib/libwsutil.a failed
我可以从这里看到两件事:在它试图打开的目录上有一个额外的斜杠(这样可以吗?)
目录错误:我可以在 /usr/local/lib
中看到 wsutil
它试图查找的文件也是错误的 - 对于 wsutil,文件是:
libwsutil
libwsutil.3
libwsutil.3.0.0
libwsutil.la
我应该从哪里开始解决这些问题?
更新:运行 ls -lh /usr/local/lib/libwsutil*
给出
lrwxrwxrwx 1 root root 15 Sep 8 11:22 /usr/local/lib/libwsutil -> libwsutil.3.0.0
lrwxrwxrwx 1 root root 15 Sep 8 11:22 /usr/local/lib/libwsutil.3 -> libwsutil.3.0.0
-rwxr-xr-x 1 root root 65K Sep 8 11:22 /usr/local/lib/libwsutil.3.0.0
-rwxr-xr-x 1 root root 866 Sep 8 11:22 /usr/local/lib/libwsutil.la
我正在安装的 wireshark 版本是 1.10.8,在 Ubuntu 16.04.
还要补充一点:我在/usr/local/
下没有lib64
目录(只有lib存在)。当我执行 arch 它给了我 x86_64
如果您没有特殊原因需要自行构建,请从包中安装 libswutil。
apt-get install libwsutil-dev
Wireshark 也有软件包,您不需要任何开发包:
apt-get install wireshark
大部分自定义插件都是用Lua编写的,所以你根本不用编译wireshark。
我正在尝试在我的机器上编译 wireshark,因为我需要添加一些自定义插件。当我 运行 make install
时,我收到消息:
/usr/bin/ld: cannot find -lwsutil
运行命令ld -lwsutil --verbose
给出(最后几行)
attempt to open //usr/local/lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //usr/local/lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //usr/lib/x86_64-linux-gnu/libwsutil.so failed
attempt to open //usr/lib/x86_64-linux-gnu/libwsutil.a failed
attempt to open //usr/local/lib64/libwsutil.so failed
attempt to open //usr/local/lib64/libwsutil.a failed
attempt to open //lib64/libwsutil.so failed
attempt to open //lib64/libwsutil.a failed
attempt to open //usr/lib64/libwsutil.so failed
attempt to open //usr/lib64/libwsutil.a failed
attempt to open //usr/local/lib/libwsutil.so failed
attempt to open //usr/local/lib/libwsutil.a failed
attempt to open //lib/libwsutil.so failed
attempt to open //lib/libwsutil.a failed
attempt to open //usr/lib/libwsutil.so failed
attempt to open //usr/lib/libwsutil.a failed
attempt to open //usr/x86_64-linux-gnu/lib64/libwsutil.so failed
attempt to open //usr/x86_64-linux-gnu/lib64/libwsutil.a failed
attempt to open //usr/x86_64-linux-gnu/lib/libwsutil.so failed
attempt to open //usr/x86_64-linux-gnu/lib/libwsutil.a failed
我可以从这里看到两件事:在它试图打开的目录上有一个额外的斜杠(这样可以吗?)
目录错误:我可以在 /usr/local/lib
中看到 wsutil
它试图查找的文件也是错误的 - 对于 wsutil,文件是:
libwsutil
libwsutil.3
libwsutil.3.0.0
libwsutil.la
我应该从哪里开始解决这些问题?
更新:运行 ls -lh /usr/local/lib/libwsutil*
给出
lrwxrwxrwx 1 root root 15 Sep 8 11:22 /usr/local/lib/libwsutil -> libwsutil.3.0.0
lrwxrwxrwx 1 root root 15 Sep 8 11:22 /usr/local/lib/libwsutil.3 -> libwsutil.3.0.0
-rwxr-xr-x 1 root root 65K Sep 8 11:22 /usr/local/lib/libwsutil.3.0.0
-rwxr-xr-x 1 root root 866 Sep 8 11:22 /usr/local/lib/libwsutil.la
我正在安装的 wireshark 版本是 1.10.8,在 Ubuntu 16.04.
还要补充一点:我在/usr/local/
下没有lib64
目录(只有lib存在)。当我执行 arch 它给了我 x86_64
如果您没有特殊原因需要自行构建,请从包中安装 libswutil。
apt-get install libwsutil-dev
Wireshark 也有软件包,您不需要任何开发包:
apt-get install wireshark
大部分自定义插件都是用Lua编写的,所以你根本不用编译wireshark。