首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从linux实用程序编译*只* uuid

如何从linux实用程序编译*只* uuid
EN

Stack Overflow用户
提问于 2014-03-12 17:22:14
回答 3查看 4.1K关注 0票数 7

我有libuuid代码(可以在这里找到:https://www.kernel.org/pub/linux/utils/util-linux/),我只需要libuuid,没有其他任何东西。我试过设置许多“--禁用--”标志,但它似乎仍然在编译我不需要的东西。

下面是我的实际配置命令:

代码语言:javascript
复制
./configure --disable-libblkid --disable-libmount --disable-mount --disable-losetup --disable-cytune --disable-fsck --disable-partx --disable-uuidd --disable-mountpoint --disable-fallocate --disable-unshare --disable-nsenter --disable-setpriv --disable-eject --disable-agetty --disable-cramfs --disable-bfs --disable-fdformat --disable-hwclock --disable-wdctl --disable-switch_root --disable-pivot_root --disable-kill --disable-last --disable-utmpdump --disable-mesg --disable-raw --disable-rename --disable-login --disable-nologin --disable-sulogin --disable-su --disable-runuser --disable-ul --disable-more --disable-pg --disable-setterm --disable-schedutils --disable-wall --build="$BUILD_ARCH" --host="$HOST_ARCH" --prefix="$outputdir" --exec-prefix="$outputdir" 

这是我的输出:

代码语言:javascript
复制
<...build things including libuuid...>
  CC       fdisks/cfdisk-cfdisk.o
../fdisks/cfdisk.c: In function 'get_string':
../fdisks/cfdisk.c:447:5: warning: implicit declaration of function 'getyx' [-Wimplicit-function-declaration]
../fdisks/cfdisk.c:447:5: warning: nested extern declaration of 'getyx' [-Wnested-externs]
../fdisks/cfdisk.c:447:11: error: 'stdscr' undeclared (first use in this function)
<...>

有什么办法只造液体吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-30 16:31:29

最简单的方法是从您提供的链接中提取最新的linux-utils tarball,提取它的内容,然后修改根级别的Makefile.am。查找如下所示的部分:

代码语言:javascript
复制
include tools/Makemodule.am
include include/Makemodule.am
include lib/Makemodule.am
include libuuid/Makemodule.am
include libblkid/Makemodule.am
include libmount/Makemodule.am
include libsmartcols/Makemodule.am
include libfdisk/Makemodule.am

include schedutils/Makemodule.am
include text-utils/Makemodule.am
include term-utils/Makemodule.am
include login-utils/Makemodule.am
include sys-utils/Makemodule.am
include misc-utils/Makemodule.am
include disk-utils/Makemodule.am

include bash-completion/Makemodule.am

include tests/Makemodule.am

并将其修改为如下(只保留libuuid条目未注释):

代码语言:javascript
复制
#include tools/Makemodule.am
#include include/Makemodule.am
#include lib/Makemodule.am
include libuuid/Makemodule.am
#include libblkid/Makemodule.am
#include libmount/Makemodule.am
#include libsmartcols/Makemodule.am
#include libfdisk/Makemodule.am
#
#include schedutils/Makemodule.am
#include text-utils/Makemodule.am
#include term-utils/Makemodule.am
#include login-utils/Makemodule.am
#include sys-utils/Makemodule.am
#include misc-utils/Makemodule.am
#include disk-utils/Makemodule.am
#
#include bash-completion/Makemodule.am
#
#include tests/Makemodule.am

最后,从根目录(您提取的存档)执行以下操作:

代码语言:javascript
复制
autoconf
automake
./configure
make

您可能需要运行automake --add-missing而不是automake,而需要运行autoreconf --force --install而不是autoconf,这取决于系统上安装的autotools版本。

现在,只需通过find . -iname "*libuuid.so*"找到您构建的库即可。

票数 2
EN

Stack Overflow用户

发布于 2018-01-31 01:01:34

我能够使用以下参数构建libuuid

代码语言:javascript
复制
--disable-all-programs --enable-libuuid
票数 8
EN

Stack Overflow用户

发布于 2014-03-12 18:33:43

您可以从https://sourceforge.net/projects/libuuid/获取代码并编译它。这只应该建立libuuid ..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22359190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档