我使用的设备在 32 位架构上运行 Yoco Linux。它不提供包管理器或编译器,因此不允许我对其进行编译。相反,我使用 Ubuntu 虚拟机来编译我需要的内容,将其复制到设备并安装在那里。
例如,我对 Python3.4 所做的就是这样简单:
./configure
make
在 Ubuntu 虚拟机上和
make install
在运行 Yocto 的设备上。
但现在我面临着一个小问题unixODBC
。./configure
并make
顺利完成。我不知道的是我还需要一个gcc
编译器make install
,因此无法在设备上使用它。天真的我以为我可以将 Ubuntu 上完全编译的库复制到设备上,但这不起作用。所有配置均未完成。
我的问题是:是否有任何论据make
或任何其他选项可以在 Ubuntu 上构建我需要的所有内容,将其复制到设备并启动构建到 unixODBCs 安装中的配置例程?
我环顾四周,Makefile
希望能找到线索,但运气不佳。编译成功后进行了什么样的配置也很难掌握。
答案1
从源安装程序时,您通常可以使用该DESTDIR
标志来实现此目的。
- 创建一个新目录:
mkdir /tmp/uodbcinst
- 安装:
make DESTDIR=/tmp/uodbcinst/ install
- 将结果存档
tar -cpzf ~/uodbcinst.tar.gz -C /tmp/uodbcinst .
- 在其他系统上提取结果
tar -C / -xf uodbcinst.tar.gz
免责声明:我尚未测试这些命令,请仔细检查语法。将 tarball 解压到根目录是非常危险的。
您可能还需要考虑--sysconfdir
在运行时调整该选项./configure
,以便生成的程序在/etc/
文件夹中查找配置文件而不是/usr/local/etc
.
此方法类似于发行版维护人员为包管理器创建有效负载的方式。请参阅Arch Linux 示例。