在 Ubuntu 20.04 上更新犰狳 [关闭]

Posted

技术标签:

【中文标题】在 Ubuntu 20.04 上更新犰狳 [关闭]【英文标题】:Updating Armadillo on Ubuntu 20.04 [closed] 【发布时间】:2020-10-20 19:53:45 【问题描述】:

我目前在装有 Ubuntu 20.04 的机器上安装了 Armadillo 9.900.4。我已经下载了 10.1.0 并运行了 cmake .sudo make install,当我重新编译我的代码并运行它时,它说它是用 9.900.4 编译的。我做错了什么吗?有没有办法完全删除犰狳并重新安装?

谢谢

【问题讨论】:

【参考方案1】:

这就是使用make install 安装某些东西的缺点。它绕过了你的发行包管理器,然后你必须手动清理/升级你已经安装的东西。 install make 目标的实际作用也取决于库的创建者。

一些库还创建了一个“卸载”目标以使卸载更容易。我不知道犰狳是否这样做,但您可以尝试从您编译的文件夹中运行make uninstall,然后运行make install 命令进行检查。

无论如何,Linux 都有安装库和头文件的标准目录。通常install make 目标所做的只是将适当的文件复制到这些文件夹中。然后您需要做的就是手动删除这些文件。尝试在 /usr/include 文件夹中查找标头,并在 /usr/lib 文件夹中查找已编译库(名称因发行版而异)。

如果找不到它们,您可以使用locate 程序。只需在 shell 中运行locate armadillo。不过,我不确定它是否已经安装在 ubuntu 中。


您也可以只将犰狳用作仅标头库,而无需在系统中“安装”它。在这种情况下,您需要将您的程序与 BLAS 实现以及 Lapack 链接起来。事实上,当你编译犰狳时,它所做的只是创建一个可以链接的“包装库”,并且已经链接了 BLAS 和 Lapack(大部分犰狳代码都是模板代码)。


TLDR;

/usr/include(或类似的)中搜索犰狳读者并删除它们。在/usr/lib(或类似的)中搜索已编译的犰狳库并将其删除。

【讨论】:

以上是关于在 Ubuntu 20.04 上更新犰狳 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Windows10 + Ubuntu 20.04 上的 CUDA 问题 [关闭]

Ubuntu server 20.04 关闭图形界面

如何在Ubuntu 20.04 LTS上安装Redmine

无法登录 Ubuntu 20.04 LTS [关闭]

我刚刚安装了 Ubuntu 20.04 LTS 默认密码是啥? [关闭]

在 Ubuntu 20.04 上使用远程证书的 Nuget 包还原失败无效