使用 autotools 为 MIPS 目标交叉编译 yuma123
cross-compile yuma123 using autotools for a MIPS target
我正在尝试将 Ubuntu 18.04 开发系统上的 yuma123 开源包交叉编译为 MIPS 目标,其中 yuma123 使用 Autotools 和共享库。
我正在使用目录 INSTALL_PREFIX=/tmp/yuma123
作为要复制到 MIPS 目标的文件的临时区域。
代码(交叉)编译和链接没有任何错误使用:
autoreconf -i -f
./configure ...
make
但是,如何安装到 $INSTALL_PREFIX
?
我是否应该为 ./configure
指定一些 --prefix=
选项,如下所示:
./configure \
--target=mipsel-buildroot-linux-gnu \
--host=mipsel-buildroot-linux-gnu \
--build=x86_64-unknown-linux-gnu \
--prefix=$INSTALL_PREFIX/usr \
--sysconfdir=$INSTALL_PREFIX/etc \
--localstatedir=$LOCALSTATEDIR \
--program-prefix=""
或者我应该在 sudo make install
时指定 DESTDIR=
如下:
sudo make DESTDIR=$INSTALL_PREFIX install
我需要在上面设置什么以确保 libtool
在以这种方式交叉编译时正确处理共享库的 $INSTALL_PREFIX
目录?
However, how do I install to $INSTALL_PREFIX
?
Should I specify some --prefix=
options to ./configure
[...]
or should I specify DESTDIR=
when I sudo make install
[?]
您 应该 使用 DESTDIR
作为您的用例,尽管在实践中,您可以使用 --prefix
.
--prefix
选项将预期的永久 安装位置的前缀传送到 Autotools。在某些情况下,此路径或从中派生的路径最终可能会被合并到内置二进制文件(RPATH、配置文件位置、etc.)或内置文档中。如果您使用的是 libtool,则尤其如此。如果前缀不能反映您打算将文件实际存放在目标系统上的位置,那显然是不可取的。
DESTDIR
,另一方面,正是您描述的目的:安装到临时区域或备用根中。例如,这是封装制造商通常使用的,尽管我怀疑替代根角是最初启发该设施的那个。另请注意,如果您要安装到临时区域,那么您可能不需要使用 sudo
到 make install
.
我正在尝试将 Ubuntu 18.04 开发系统上的 yuma123 开源包交叉编译为 MIPS 目标,其中 yuma123 使用 Autotools 和共享库。
我正在使用目录 INSTALL_PREFIX=/tmp/yuma123
作为要复制到 MIPS 目标的文件的临时区域。
代码(交叉)编译和链接没有任何错误使用:
autoreconf -i -f
./configure ...
make
但是,如何安装到 $INSTALL_PREFIX
?
我是否应该为 ./configure
指定一些 --prefix=
选项,如下所示:
./configure \
--target=mipsel-buildroot-linux-gnu \
--host=mipsel-buildroot-linux-gnu \
--build=x86_64-unknown-linux-gnu \
--prefix=$INSTALL_PREFIX/usr \
--sysconfdir=$INSTALL_PREFIX/etc \
--localstatedir=$LOCALSTATEDIR \
--program-prefix=""
或者我应该在 sudo make install
时指定 DESTDIR=
如下:
sudo make DESTDIR=$INSTALL_PREFIX install
我需要在上面设置什么以确保 libtool
在以这种方式交叉编译时正确处理共享库的 $INSTALL_PREFIX
目录?
However, how do I install to
$INSTALL_PREFIX
?Should I specify some
--prefix=
options to./configure
[...]
or should I specify
DESTDIR=
when Isudo make install
[?]
您 应该 使用 DESTDIR
作为您的用例,尽管在实践中,您可以使用 --prefix
.
--prefix
选项将预期的永久 安装位置的前缀传送到 Autotools。在某些情况下,此路径或从中派生的路径最终可能会被合并到内置二进制文件(RPATH、配置文件位置、etc.)或内置文档中。如果您使用的是 libtool,则尤其如此。如果前缀不能反映您打算将文件实际存放在目标系统上的位置,那显然是不可取的。
DESTDIR
,另一方面,正是您描述的目的:安装到临时区域或备用根中。例如,这是封装制造商通常使用的,尽管我怀疑替代根角是最初启发该设施的那个。另请注意,如果您要安装到临时区域,那么您可能不需要使用 sudo
到 make install
.