Package mesa-filesystem backward compatibility - linux

The software that I am installing requires mesa-dri-filesytem:
This is the screenshot of the installer. I don't want to touch the file. like changing mesa-dri-filesystem to mesa-filesystem
!
but I am currently using Cento OS 7 which finds the package absolute:
I am installing it to an offline server, so yum install won't work, I'm just getting the RPM then doing rpm -ivh [package-name]
Please help me with this

You are getting this error because you have already installed on your system package mesa-filesystem-18.0.5 which obsolete (i.e. replace, supersede) the package mesa-dri-filesystem < 18.0.5. You are trying to install mesa-dri-filesystem-11.0.7 and because 11.0.7 < 18.0.6 then rpm correctly refuse the action as mesa-filesystem.
But the mesa-filesystem at the same time provides mesa-dri-filesystem, e.g., on my system:
# rpm -q --provides mesa-filesystem
mesa-dri-filesystem = 19.0.8-1.fc30
mesa-filesystem = 19.0.8-1.fc30
So if your package requires mesa-dri-filesystem then your requiremens are fulfiled even when mesa-filesystem is installed.

Related

How to resolve conflict when use yum install

I built and installed some libraries into my CentOs 7.9. I guess I used --prefix=/usr when I configured. However, I found the version of the source code was inappropriate. So I decided to install the package by yum install. But I saw conflicts when I run this command. Seemed the libraries in the package are older than what was installed. I couldn't use yum remove to remove what had installed. Because they were not installed from the package. How to resolve the conflicts or force yum to install the package?
1. when u install it from source code
If u want to uninstall the package which was installed from source, actually it's hard to delete all the files u have installed when u put them in /user directory. But there is method: when the installation is finished, usually there is a 'install_mainfest.txt' file in your installation directory which logs all the files the installation generates.
so read this file, and delete all the files using:
xargs rm < install_manifest.txt
2. when u install it using yum install
Find all the rpm package then delete them using:
rpm -qa|grep "your software name u wanna delete"|xargs yum -y remove

Linux Installation libX11-devel

I am trying to build QT4 (porting from Redhat 5 to 7 with an upgraded gcc compiler) in RedHat 7 and I was getting an error saying X11/Xlib.h can't be found. Anyways, after doing some research most people said to install libX11-devel to get those x11 libraries. Since I am using an offline machine I can't do "apt-get" type commands and have to manually install RPMs. So, I went to my RH-7 installation DVD and got "libX11-devel-1.6.3-3.el7.x86-64" (I have 64 bit OS) and tried to install using "yum install libX11-devel-1.6.3-3.el7.x86_64" and I am getting dependencies errors. It's saying
...Requires: pkgconfig(kbproto)
...Required: pkgconfig(xcb)
...Requires: pkgconfig(xproto)
...Requires: pkgconfig(xcb) >= 1.1.92
So, here are my questions.
1) when it says "pkgconfig(kbproto)", is it saying find the "kbproto....RPM" and do a "yum install". In my dvd I only have "xorg-x11-proto-devel-7.7.13.el7.noarch.rpm". Do I have to somehow find "xorg-x11-proto......x86_64.rpm" since it's a 64 bit machine?
2) Is there a difference between "yum install" and pkgconfig "install"? Are there any other installation variants in Linux?
3)For an offline machine, Is there anyway I can get all the dependencies and install everything at once ?
4) Why is it saying "xcb" requires twice. If I just get a xcb...rpm version above 1.1.92 can I just install it once?
Before actually answering the questions, I am going to suggest to see if you can get the latest version of the packages. The packages on the installation DVD may be really out of date and contain known vulernabilities, and other bugs. Can you use yumdownloader - in an online environment - to download the latest version onto a separate DVD and use that as the installation source? See https://access.redhat.com/solutions/10154 for more information.
To answer the questions themselves:
Requires: foo can refer to a package foo or a "feature" foo. pkgconfig(kbproto) is a "feature" (or virtual requires). You can use yum/rpm to see what provides this. On my Fedora box, for example, rpm -q --provides xorg-x11-proto-devel shows that this package indeed provides pkgconfig(kbproto).
As for x86_64 vs noarch, it doesn't matter. noarch packages work everywhere. Other packages are restricted to the platform. So x86_64 only works on intel/amd x86 64-bit machines. Installing noarch should be fine in your case. If you only had a i686 package, though, that wouldn't be sufficient. You would have to find a x86_64 or noarch package.
Yes, there's a big difference between yum and pkg-config. They do completely different things. One is a system tool for installing RPM packages. The other is a tool for developers for using the right headers and compiler flags. If your concern is finding/installing RPMs, do not use pkg-config directly.
Do you have access to an online machine that can access the RHEL 7 yum repositories? On that machine, do something like this:
mkdir rhel7-packages
cd rhel7-packages
yum provides '*/X11/Xlib.h' # make a note of the package that provides this file. it's libX11-devel on Fedora here
yumdownloader --resolve libX11-devel # download libX11-devel and all dependencies not installed on the system
Then copy/install the RPMs on the machine without internet access.
It's probably printing out xcb twice because it's two different requirements. The unversioned requirement will be satisfied if you install any verison of xcb. The versioned requirement will only be satisfied if you install 1.1.92. If you install 1.1.92, it will satisified both the requirements.
1.
You have to resolve the dependency on the system where you are building your package. This means you need to have those dependencies installed, inclusing libX11-devel. To do that, download the RPMs manually from EL7 repos to local disk and run this:
$ mkdir -p /tmp/libX11_dep_rpms && cd /tmp/libX11_dep_rpms
# Download all dependencies from here. All your packages should be available here:
# http://mirror.centos.org/centos-7/7/os/x86_64/Packages/
# Then install
$ yum localinstall *.rpm
# After this you should be able to build your qt4 package, provided all dependencies are resolved. Otherwise, repeat the procedure for all dependencies
# If you can't download packages, then you need to create a FULL DVD ISO that will contain all packages.
2.
pkgconfig ensures that a requirement is coming from a particular build that provides a particular version of the library. Here are some detail.
3.
Get the Everything ISO from EL7.
4.
This has to do with the pkgconfig and library versions.

How to tell rpm to look into specific directory for dependencies?

I have an rpm package that needs to be installed on SLES 11. The installtion fails due to unresolved dependecies.
$ rpm -ivh xpra-0.3.11-1.x86_64.rpm
warning: xpra-0.3.11-1.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID f18ad6bb
error: Failed dependencies:
libpython2.7.so.1.0()(64bit) is needed by xpra-0.3.11-1.x86_64
python(abi) = 2.7 is needed by xpra-0.3.11-1.x86_64
When checked, default python installation on SLES 11 was 2.6. I couldn't find python 2.7 rpm package for SLES 11. I have installed python 2.7 by building the source.
Now, whenever I try to install the same software, I am the getting same errors.
How to tell rpm package manager to look into specific directory to find the required dependencies??
You can't - the only dependencies rpm can ever know about are ones which were installed using rpm.
You may download a pre-built python 2.7 RPM from this site and install it with e.g python-rpm -i 2.7.3-3.6.1.x86_64.rpm. Bear in mind that I'm not a SLES user, so my suggestion is a kind of a shot in the dark.

Apache2::Request (libapreq2-2.13) on centos 5.5

I'm having a torrid time installing Apache2::Request on Centos 5.5. My apache is the standard one that came with centos.
I'm installing from libapreq2-2.13 and a lot of dependencies didn't already exist. I so far had to do:
yum install httpd-devel # for apxs
I then did:
perl Makefile.PL --with-apache2-apxs=/usr/sbin/apxs
make
The make step then told me i needed: ExtUtils-XSBuilder and Parse-RecDescent, which i duly installed.
running make again gave the compiler error:
/home/xx/installers/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_postperl.h:22:34: error: modperl_perl_unembed.h: No such file or directory
/home/xx/installers/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_postperl.h:25:33: error: modperl_common_util.h: No such file or directory
In file included from Apache2.xs:45:
/home/xx/installers/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Apache2/APR__Request__Apache2.h:1:22: error: mod_perl.h: No such file or directory
Can anyone tell me which package i'm missing?
Is there not a method of installing this common package that "just works" (tm).
Many thanks
It's already packaged for Centos.
$ repoquery -i --whatprovides 'perl(Apache2::Request)'
perl-libapreq2-0:2.09-0.rc2.1.el5.x86_64
$ sudo yum install perl-libapreq2
(Actually, that only works if you're using the EPEL repository)
To install the headers , yum install mod_perl-devel

Installing RPM Dependencies

I am trying to install dbus-1.1.2-12.el5.i386 but I get the error
" dbus-libs = 1.1.2-12.el5 is needed by dbus-1.1.2-12.el5.i386" :-(
So I downloaded "dbus-libs-1.1.2-12.el5.i386.rpm" in the same directory and ran the
command rpm -ivh dbus-1.1.2-12.el5.i386 again, but I still got the same error. On searching on Forums I found that RPM takes care of dependecies if they are present in the same Directory. but it does not work with -ivh option ??
Steve B is correct:
yum install dbus-libs
yum install dbus
yum will also allow you to do "whatprovides" for a package:
yum whatprovides dbus-libs
This will show you if you have another version of dbus-libs "installed" on your system, it spools out what repos provide the package and is any are provided (installed) locally.
Also helpful is:
rpm -q dbus
which will show any packages that are locally install as will:
rpm -q dbus-libs
or
rpm -qa | grep 'dbus'
You may find that you already have an eariler version of dbus installed, which case:
yum -y update dbus
Hope this helps.
http://www.of-networks.co.uk
You need to install the dependant RPMs before installing dbus. You should also know that this is the hard way, these days RPM-based distributions usually have a dependancy managment system so that you don't need to do this by hand. e.g. on Redhat/Fedora/Centos you can just type "yum install mypackagename".

Resources