我已经通过automake(autogen,configure,make,make install)构建并安装了几个软件包。
一切顺利,并且运行良好。但是dnf
没有看到安装了这些软件包。 make install
正确创建并复制所有.pc
个文件至/usr/local/lib/pkgconfig
,pkg-config --exists <my app>
返回0
,但dnf list installed <my app>
表示no matching packages to list
}。
有任何想法/建议吗?
答案 0 :(得分:1)
Yum(和dnf)保存已安装rpm包的列表,未安装可执行文件或tarball。
pkg-config并不关心.pc文件是来自已安装的rpm包还是来自编译tarball - 只要.pc文件位于正确的搜索路径中。
因此,要让yum或dnf知道它是安装的rpm,您必须创建一个rpm。一些源代码压缩包中包含一个.spec文件来帮助rpms。在这种情况下,您可以通过运行
来构建rpmrpmbuild -tb thetarballpackage.tar.gz
(或类似)但是,您还要冒着创建的风险(然后在尝试安装或更新其他rpms时安装可能导致冲突的rpm。