+ -
当前位置:首页 → 问答吧 → 为什Linux下make之前要先配置好安装路径和其它选项,而不能在make install之前来做???

为什Linux下make之前要先配置好安装路径和其它选项,而不能在make install之前来做???

时间:2008-12-26

来源:互联网

为什Linux下make之前要先配置好安装路径和其它选项,而不能在make install之前来做???

作者: chinaboy20   发布时间: 2008-12-26

那是 ./configure 的那套工具链(automake-autoconf-libtool等)的局限,不是 Linux 的问题。

例如用 cmake 进行构建的软件一般都不存在这个问题。cmake工程修改prefix之后不需要重新编译,直接安装就可以。而直接使用 Makefile 加 gcc 编译的软件也不存在这个问题。

这个问题的来由是 libtool 本身会把动态库的绝对路径和文件名直接写死到可执行文件中。这造成了程序的路径编译之后不可更改。——其他的编译系统不使用 libtool,因此就不存在此问题。

作者: poet   发布时间: 2008-12-26

configure 做的事远不只决定安装路径

作者: Vamperor   发布时间: 2008-12-26

那也可以make DESTDIR=/opt install

作者: newper   发布时间: 2008-12-26

引用:
作者: poet
那是 ./configure 的那套工具链(automake-autoconf-libtool等)的局限,不是 Linux 的问题。

例如用 cmake 进行构建的软件一般都不存在这个问题。cmake工程修改prefix之后不需要重新编译,直接安装就可以。而直接使用 Makefile 加 gcc 编译的软件也不存在这个问题。

这个问题的来由是 libtool 本身会把动态库的绝对路径和文件名直接写死到可执行文件中。这造成了程序的路径编译之后不可更改。——其他的编译系统不使用 libtool,因此就不存在此问题。


有什么替代工具吗?让LFS减少编译

像vi等等程序 只要make install就好了

作者: chinaboy20   发布时间: 2008-12-26

引用:
作者: Vamperor
configure 做的事远不只决定安装路径

其它事情也让他在安装时去做啊

作者: chinaboy20   发布时间: 2008-12-26

引用:
作者: chinaboy20
有什么替代工具吗?让LFS减少编译

像vi等等程序 只要make install就好了
如果有这样的工具,那交叉编译该怎么办?

作者: newper   发布时间: 2008-12-26

引用:
作者: poet
那是 ./configure 的那套工具链(automake-autoconf-libtool等)的局限,不是 Linux 的问题。

例如用 cmake 进行构建的软件一般都不存在这个问题。cmake工程修改prefix之后不需要重新编译,直接安装就可以。而直接使用 Makefile 加 gcc 编译的软件也不存在这个问题。

这个问题的来由是 libtool 本身会把动态库的绝对路径和文件名直接写死到可执行文件中。这造成了程序的路径编译之后不可更改。——其他的编译系统不使用 libtool,因此就不存在此问题。
引用:
作者: newper
那也可以make DESTDIR=/opt install
这个问题的来由是 libtool 本身会把动态库的绝对路径和文件名直接写死到可执行文件中。这造成了程序的路径编译之后不可更改。
————————————————————————————————————————————————————————————————————
这个是不正确的吧??????

作者: lofeng   发布时间: 2009-05-15

引用:
作者: Vamperor
configure 做的事远不只决定安装路径
同上,楼主可以去了解一下夸平台编译

作者: 南极野人   发布时间: 2009-05-15