我最近开始使用 ubuntu。我正在安装 linbox 库:http://www.linalg.org/developer.html .安装指南指出应该安装多个库,包括 fflas-ffpack
库,然后运行脚本 autogen.sh
,可选地指定安装前缀:
cd linbox
./autogen.sh [--prefix=] [options].
[options]
包括--with-fflas-ffpack=
,根据安装指南,仅当软件包未安装在标准位置(如 /usr
)时才需要或 /usr/local
.还需要设置LD_LIBRARY_PATH
在这种情况下,支持与安装在非标准位置的任何软件包的 lib 目录进行动态链接。我已经安装了
fflas-ffpack
图书馆。 sudo dpkg -L fflas-ffpack
返回/.
/usr
/usr/include
/usr/include/fflas-ffpack
/usr/include/fflas-ffpack/fflas-ffpack-config.h
/usr/include/fflas-ffpack/fflas-ffpack-optimise.h
/usr/bin
/usr/bin/fflas-ffpack-config
/usr/share
/usr/share/doc
/usr/share/doc/fflas-ffpack
/usr/share/doc/fflas-ffpack/README
/usr/share/doc/fflas-ffpack/TODO
/usr/share/doc/fflas-ffpack/changelog.Debian.gz
/usr/share/doc/fflas-ffpackcopyright
/usr/share/doc/fflas-ffpackNEWS.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/fflas-ffpack-config.1.gz
但是,当我使用命令
./autogen.sh
,报告错误(ERROR: Fflas-Ffpack not found!
)。我不确定问题是什么,假设我应该使用 --with-fflas-ffpack=
选项。我不知道我是否正确确定了问题,如果是,我应该写什么而不是表达式
--with-fflas-ffpack=
中的“前缀”一词,我是否应该写一些东西来代替[--prefix=]
以及我应该将哪个路径分配给变量 LD_LIBRARY_PATH
( /usr
、 /usr/include
或 /usr/share
)。如果您能提供任何帮助,我将不胜感激。
最佳答案
这取决于包,我没有详细查看,但一般约定是:
没有 prefix
,软件包将安装在系统范围的默认位置,例如 /usr/local/bin
对于二进制文件和 /usr/local/lib
为图书馆。如果你想改变它(例如,因为你想要它在 /opt
中),--prefix
选项允许您覆盖它。您显然需要对您指定要安装它的目录树的写入权限。--with-whatever=path
同样会要求您在等号后填写您安装的先前库的路径。如果您安装了 whatever
在默认的系统范围的位置,链接器应该能够通过使用系统范围的默认路径找到它,但是如果你把它放在你的主目录中(当你下载和构建一个库只是因为你需要它来构建另一个组件;也许你没有权限在站点范围内安装它,或者安装它会破坏系统的运行),那么你需要说--with-whatever=/home/you/whatever
.dpkg -L
的输出看起来它实际上根本不包含一个库(似乎是 how it's supposed to be )。
也许只需尝试 --with-fflas-ffpack=/usr/include/fflas-ffpack
因为头文件安装在子目录中,而不是常规的 /usr/include
.或者你根本不需要这个,authgen.sh
脚本已经知道在那里寻找这些头文件(如果源有 #include <fflas-fpack/file.h>
而不是 #include <file.h>
那么似乎不需要单独的配置)。
如果这仍然没有帮助,也许您需要安装另一个软件包,或者阅读文档以了解还需要做什么——似乎有一个单独的软件包 fflas-ffpack-dev-doc
但我会从 README
开始和 NEWS.gz
/usr/share/doc/fflas-ffpack
中的文件,以及 fflas-fpack-config
的手册页.
(顺便提一下,dpkg -L
不需要 sudo
权限即可运行;它只是从世界可读的 dpkg
数据库中读取并打印一些文本。)
关于ubuntu,安装库,在前缀和环境变量中写什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29021225/