ubuntu,安装一个库,前缀和环境变量要写什么
ubuntu, installation of a library, what to write in prefix and in environment variable
我最近开始使用 ubuntu。我正在安装 linbox 库:http://www.linalg.org/developer.html。安装指南指出应该安装几个库,包括 fflas-ffpack
库,然后 运行 脚本 autogen.sh
,可选择指定安装前缀:
cd linbox
./autogen.sh [--prefix=] [options].
[options]
包含 --with-fflas-ffpack=
,根据安装指南,仅当软件包未安装在标准位置(例如 /usr
或 [=18=)时才需要].在这种情况下,还需要设置 LD_LIBRARY_PATH
以支持与安装在非标准位置的任何软件包的 lib 目录的动态链接。
我已经安装了 fflas-ffpack
库。 sudo dpkg -L fflas-ffpack
returns
/.
/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",我是否应该写一些东西来代替[--prefix=]
以及我应该分配给变量 LD_LIBRARY_PATH
的路径(/usr
、/usr/include
或 /usr/share
)。
如果您能提供任何帮助,我将不胜感激。
这取决于包,我没有仔细看,但一般约定是:
如果没有 prefix
,程序包将安装在系统范围的默认位置,例如 /usr/local/bin
用于二进制文件,/usr/local/lib
用于库。如果你想改变它(例如,因为你想要它在 /opt
中),--prefix
选项允许你覆盖它。您显然需要对您指定要安装的目录树的写入权限。
--with-whatever=path
将同样要求您在等号后填写安装的 previous 库的路径。如果您将 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
但我将从 /usr/share/doc/fflas-ffpack
中的 README
和 NEWS.gz
文件以及 fflas-fpack-config
.
的手册页开始
(顺便说一下,dpkg -L
不需要 运行 的 sudo
权限;它只是从世界可读的 dpkg
数据库中读取和打印一些文本。)
我最近开始使用 ubuntu。我正在安装 linbox 库:http://www.linalg.org/developer.html。安装指南指出应该安装几个库,包括 fflas-ffpack
库,然后 运行 脚本 autogen.sh
,可选择指定安装前缀:
cd linbox
./autogen.sh [--prefix=] [options].
[options]
包含 --with-fflas-ffpack=
,根据安装指南,仅当软件包未安装在标准位置(例如 /usr
或 [=18=)时才需要].在这种情况下,还需要设置 LD_LIBRARY_PATH
以支持与安装在非标准位置的任何软件包的 lib 目录的动态链接。
我已经安装了 fflas-ffpack
库。 sudo dpkg -L fflas-ffpack
returns
/.
/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",我是否应该写一些东西来代替[--prefix=]
以及我应该分配给变量 LD_LIBRARY_PATH
的路径(/usr
、/usr/include
或 /usr/share
)。
如果您能提供任何帮助,我将不胜感激。
这取决于包,我没有仔细看,但一般约定是:
如果没有 prefix
,程序包将安装在系统范围的默认位置,例如 /usr/local/bin
用于二进制文件,/usr/local/lib
用于库。如果你想改变它(例如,因为你想要它在 /opt
中),--prefix
选项允许你覆盖它。您显然需要对您指定要安装的目录树的写入权限。
--with-whatever=path
将同样要求您在等号后填写安装的 previous 库的路径。如果您将 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
但我将从 /usr/share/doc/fflas-ffpack
中的 README
和 NEWS.gz
文件以及 fflas-fpack-config
.
(顺便说一下,dpkg -L
不需要 运行 的 sudo
权限;它只是从世界可读的 dpkg
数据库中读取和打印一些文本。)