如何安装 golang-libguestfs 包?

How to install golang-libguestfs package?

我正在尝试为 golang 安装 libguestfs 包,但找不到安装方法。我经历了 this but it didn't work for me and I believe it's empty. I see only test files here

README内容如下

$GOPATH
-------

http://golang.org/doc/code.html

Note that $GOPATH is set (by the ./run script) to the
libguestfs/golang directory so that "installs" happen in the local
build tree.

从这里我可以看出我需要构建这个包,但同样,我找不到一些帮助或适当的文档。

有什么安装方法吗?我正在使用 RHEL 7.7

Libguestfs(C 库)已经打包在 RHEL 7 中,所以我建议首先使用 yum install libguestfs 安装它。这是 Red Hat 支持的版本。

我们不提供 golang 绑定,甚至在 RHEL 8 中也不提供。此外,所有语言的绑定都是根据 API 的机械描述生成的,因此不会直接存储在我们的 [=28= 中] 存储库。这就是为什么您只能在 git.

中找到测试文件的原因

但是我们确实在 tarball 中分发生成的文件,所以一个简单的方法是从 https://download.libguestfs.org/1.42-stable/ 获取最新的 tarball 并查看 tarball 的 golang/src/libguestfs.org/guestfs 子目录。

更难的方法是从 git 生成它们。这些步骤适用于 RHEL 7.7,YMMV:

sudo yum-builddep libguestfs
git clone https://github.com/libguestfs/libguestfs
cd libguestfs
git submodule init
git submodule update
./bootstrap
./autogen.sh SUPERMIN=/usr/bin/supermin5
make

然后再次查看 golang/ 子目录。

我有理由相信一个版本的 golang 绑定应该可以与另一个版本的 C 库一起使用。我们确实在某个时间点对此进行了测试,所以如果它不再是真的那么它可能已经倒退了,就像这些事情有时会发生的那样。