我试图为Qt软件做一个Linux版本,但我是一个无知的Linux新手。我用静态链接的Qt库构建了我的应用程序,并制作了.deb和.rpm包,但是当我测试它们时,我会收到一些发行版中缺少库的警告。例如,我的.deb版本在Debian和Ubuntu上运行良好,但由于缺少库,它不能在Linux上启动。运行ldd时,我发现有四个缺少的库:
libpng16.so.16 => not found
libicui18n.so.57 => not found
libicuuc.so.57 => not found
libicudata.so.57 => not found
显然,我需
因此,我试图安装epel存储库,然后也安装ius存储库。
我和厨师一起管理这台服务器,我的运行列表
...
"recipe[yum::yum]",
"recipe[yum::epel]",
"recipe[yum::ius]",
...
并在epel.repo中正确安装epel存储库/etc/yum.repos.d中的内容。
# Generated by Chef for chef-test.midwestern.de
# Local modifications will be overwritten.
[epel]
name=Extra Pac
我有一个linux盒,我已经在它上编译并安装了一个更新版本的GCC (4.3.9),它存在于/usr/lib中。
我使用此编译器构建了一组库,并将其绑定到RPM中,但当我尝试安装该RPM时,会出现以下错误:
rpm -ivh my-rpm.i586.rpm
error: Failed dependencies:
libstdc++.so.6(GLIBCXX_3.4.10) is needed by my-rpm.i586
libstdc++.so.6(GLIBCXX_3.4.11) is needed by my-rpm.i586
libstdc++.s
我正在尝试构建一个RPM,它将在文件依赖项不存在的情况下安装它们。是否存在在RPM检查依赖项之前执行的RPM规范部分。(我指的是"Requires“头中列出的文件依赖项,而不是包依赖项)。
例如:如果我有一个perl文件,并且设置了执行权限位。RPM将检查perl是否安装在perl文件中"#!/bin/perl“指定的位置。(看起来它会检查RPM数据库以查看perl是否安装在该位置,而不是检查实际的文件位置)如果perl没有安装在/bin/perl位置,我希望在RPM错误地告诉我"/bin/perl is needed by MY_PACKAGE“之前安装它。
附带问题
我使用厨师12.5.1和码头形象测试-厨房正在运行的RHEL 7.x
我将jdk-8u65-linux-x64.rpm下载到我的Docker测试实例的本地目录中,并运行下面的菜谱来安装它。
rpm_package 'install_java' do
package_name 'jdk-8u65-linux-x64.rpm'
source '/home/user/jdk-8u65-linux-x64.rpm'
end
但它会引发以下错误:
---- Begin output of rpm -i /home/user/jdk-8u65-li
我正在运行CentOS 5.3,这是我的问题:
- I installed (A) from source. (B) depends on (A)
- I want to install the (B) RPM, but the (B) RPM depends on the (A) RPM.
所以百胜希望我安装(A) RPM,即使(A)已经安装了。我从源代码中安装(A)的原因是,我需要使用比存储库中的雪崩版本更新的版本,而且我还需要配置它。解决这个问题的好办法是什么?
基于RPM的包管理器支持子命令,如需求、建议、冲突、过时、建议和补充。
在阅读rpm手册页和依赖项文档时,不清楚它们有何不同。
例如,如果我运行命令rpm --query --info MozillaFirefox,将返回以下输出。
Name : MozillaFirefox
Version : 60.4.0
Release : lp150.3.30.1
Architecture: x86_64
Install Date: Sun 06 Jan 2019 07:43:50 AM NZDT
Group : Productivity/Networking/
运行Java程序获得了异常:
Caused by:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.
Firefox console output:\nXPCOMGlueLoad error for file
/home/anarinsky/.alternator/browsers/firefox/libxul.so:
libXdamage.so.1:
cannot open shared object
在我的TFS中有两个不同的存储库A和B。在使用cmake在存储库A中构建源代码时,我必须从存储库B中获取一些库文件。我必须在linux机器和windows机器上在存储库A中构建相同的源代码。对于Linux,我将使用maven从存储库B获取库文件。请参阅以下代码:
stage('dependencies')
{
sh '''
# get the project dependencies
mvn dependency:copy-dependencies -f ./pom.xml
我刚接触RPM打包,但是rpmbuild似乎需要C++标准库,我不知道为什么。
以下是RPM规范文件:
Name: go-github-release-test
Version: 0.0.1
Release: 1
License: LICENSE
Url:
Summary: Test of go-github-release process
%description
Test of go-github-release process
%prep
%build
%install
mkdir -p %{buildroot}/%{_bindir}
cp /root/go-github-re