告诉 Linux 使用我下载的最新 libusbx

告诉 Linux 使用我下载的最新 libusbx

背景,我正在尝试使用 Kinect 相机和 Python。

当我尝试在 Ubuntu 12.04 上进行 freenect(手动安装)时,它抱怨未定义的 libusb_get_parent。

不过,它在 Ubuntu 14.04 上运行良好。

接下来,我转到 Raspberry PI,并尝试让手动安装在那里工作。没有骰子。同样的 libusb_get_parent 投诉。

所以我 apt-get update、upgrade、dist-upgrade,没有骰子。我尝试获取 libusb-dev 和各种东西。

dpkg -s libusb-1.0-0-dev在 Ubuntu 12.02 上也是这样做的。它说它使用

Source: libusb-1.0 
Version: 2:1.0.9~rc3-2ubuntu1

在 Ubuntu 14.04 上它说:

Source: libusbx
Version: 2:1.0.17-1ubuntu2

最后是 Raspberry PI:

Source: libusbx
Version: 2:1.0.11-1

所以我想,如果我能在 Raspberry PI 上安装较新版本的 libusbx,我至少应该走得更远一些。

我在这里下载了最新的libusbx(http://sourceforge.net/projects/libusbx/files/releases/1.0.18/source/

然后做了:

$ sudo su
$ ./configure && make && make install && sudo ldconfig

从我提取的目录中。 (它似乎是配置和制作的。)

我再次执行 dpkg -s libusb-1.0-0-dev 以为我现在有了新的 1.0.18 版本,但事实并非如此。现在还是 1.0.11。

我确信我错过了一些简单的事情。谢谢。

答案1

您已从源代码编译。这意味着 Ubuntu 的包管理系统不知道它。包管理器只知道使用包管理器安装的包(例如aptdpkg)。此外,当包管理器安装较新版本时,它会卸载旧版本。由于包管理器没有安装这个新版本,因此它不会安装您的原始版本。因此为什么dpkg仍然显示旧版本。

如果我处于你的位置,我会运行make uninstall源代码来删除这些文件。然后我会下载libusbxUbuntu 14.04 的软件包并尝试手动安装。如果它没有抱怨缺少依赖项,那么您应该希望能够避免不编译。

版本应该向后兼容,因此希望安装更高版本不会破坏任何已经依赖于当前libusbx.

如果上述方法不适合您,请考虑从源代码构建包。此过程deb会为您创建一个包,然后您可以使用普通的包管理器来安装该包。这样,您的dpkg命令将显示最新版本,而旧版本将被删除。

有一个很好的 Stack Exchange 问题涵盖了这个过程这里

相关内容