yum dependency resolution behaves differently in docker build vs docker run - linux

It appears that yum's dependency resolution behaves differently depending on whether it is invoked from the RUN statement of a Dockerfile, or from docker run.
Consider this Dockerfile:
FROM themattrix/centos5-vault-i386
RUN rpm -i http://www.tuxad.com/rpms/tuxad-release-5-1.noarch.rpm
RUN yum update -y
The docker build fails on the last command. The full output is included below, but basically yum selects packages for both i386 and x86_64.
But running the same commands from docker run works! No packages for x86_64 are selected.
docker run --rm themattrix/centos5-vault-i386 sh -c "
rpm -i http://www.tuxad.com/rpms/tuxad-release-5-1.noarch.rpm &&
yum update -y"
What could explain this strange behaviour?
And how to get the Dockerfile to build?
Environment
$ uname -srmp
Darwin 17.7.0 x86_64 i386
$ docker -v
Docker version 18.09.2, build 6247962
Output from docker build
$ docker build .
Sending build context to Docker daemon 6.656kB
Step 1/3 : FROM themattrix/centos5-vault-i386
---> 5706f03d3346
Step 2/3 : RUN rpm -i http://www.tuxad.com/rpms/tuxad-release-5-1.noarch.rpm
---> Using cache
---> ee89f27432c1
Step 3/3 : RUN yum update -y
---> Running in 19e822b9dccc
Loaded plugins: fastestmirror
Determining fastest mirrors
* epel: ftp-stud.hs-esslingen.de
Reducing CentOS-5 - libselinux to included packages only
Finished
Setting up Update Process
Resolving Dependencies
--> Running transaction check
--> Processing Dependency: libselinux = 1.33.4-5.7.el5 for package: libselinux-python
--> Processing Dependency: libselinux = 1.33.4-5.7.el5 for package: libselinux-utils
---> Package libselinux.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package libselinux-devel.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package tuxad-release.noarch 0:5-7 set to be updated
--> Running transaction check
---> Package libselinux.x86_64 0:1.33.4-5.7.el5 set to be updated
--> Processing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) for package: libselinux
--> Processing Dependency: ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) for package: libselinux
--> Processing Dependency: ld-linux-x86-64.so.2()(64bit) for package: libselinux
--> Processing Dependency: libc.so.6(GLIBC_2.3)(64bit) for package: libselinux
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: libselinux
--> Processing Dependency: libc.so.6(GLIBC_2.3.4)(64bit) for package: libselinux
--> Processing Dependency: libdl.so.2()(64bit) for package: libselinux
--> Processing Dependency: libc.so.6()(64bit) for package: libselinux
--> Processing Dependency: libsepol.so.1()(64bit) for package: libselinux
--> Running transaction check
---> Package glibc.x86_64 0:2.5-123.el5_11.3 set to be updated
---> Package libsepol.x86_64 0:1.15.2-3.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
libselinux i386 1.33.4-5.7.el5.centos libselinux 77 k
libselinux-devel i386 1.33.4-5.7.el5.centos libselinux 144 k
tuxad-release noarch 5-7 tuxad 13 k
Installing for dependencies:
glibc x86_64 2.5-123.el5_11.3 updates 4.8 M
libselinux x86_64 1.33.4-5.7.el5 base 78 k
libsepol x86_64 1.15.2-3.el5 base 131 k
Transaction Summary
================================================================================
Install 3 Package(s)
Upgrade 3 Package(s)
Total download size: 5.2 M
Downloading Packages:
--------------------------------------------------------------------------------
Total 925 kB/s | 5.2 MB 00:05
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID a95f6f37
Importing GPG key 0xA95F6F37 "Frank W. Bergmann (tuxad.com) <gpg20160322#tuxad.com>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-TUXAD-A95F6F37
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
libselinux is needed by (installed) libselinux-utils-1.33.4-5.7.el5.i386
libselinux is needed by (installed) libselinux-python-1.33.4-5.7.el5.i386
Complete!
(1, [u'Please report this error in http://bugs.centos.org/yum5bug'])
The command '/bin/sh -c yum update -y' returned a non-zero code: 1
Output from docker run
$ docker run --rm themattrix/centos5-vault-i386 sh -c "rpm -i http://www.tuxad.com/rpms/tuxad-release-5-1.noarch.rpm && yum update -y"
warning: /var/tmp/rpm-xfer.ZSEYyZ: Header V3 DSA signature: NOKEY, key ID a95f6f37
Loaded plugins: fastestmirror
Determining fastest mirrors
* epel: ftp-stud.hs-esslingen.de
Reducing CentOS-5 - libselinux to included packages only
Finished
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package curl.i386 0:7.15.5-17.el5_11.1 set to be updated
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.1) for package: curl
--> Processing Dependency: libssl.so.10 for package: curl
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10) for package: curl
--> Processing Dependency: libcrypto.so.10 for package: curl
--> Processing Dependency: libssl.so.10(libssl.so.10) for package: curl
---> Package kernel-headers.i386 0:2.6.18-419.el5 set to be updated
---> Package libselinux.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package libselinux-devel.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package libselinux-python.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package libselinux-utils.i386 0:1.33.4-5.7.el5.centos set to be updated
---> Package openldap.i386 0:2.3.43-29.el5_11.openssl1 set to be updated
---> Package openssl.i686 0:0.9.8e-40.el5_11.1 set to be updated
---> Package openssl-devel.i386 0:0.9.8e-40.el5_11.1 set to be updated
---> Package tuxad-release.noarch 0:5-7 set to be updated
---> Package tzdata.i386 0:2017b-1.el5 set to be updated
---> Package wget.i386 0:1.11.4-3.el5_11.2.1 set to be updated
--> Running transaction check
---> Package openssl1.i686 0:1.0.1e-57.1.el5_11 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
curl i386 7.15.5-17.el5_11.1 tuxad 893 k
kernel-headers i386 2.6.18-419.el5 updates 1.5 M
libselinux i386 1.33.4-5.7.el5.centos libselinux 77 k
libselinux-devel i386 1.33.4-5.7.el5.centos libselinux 144 k
libselinux-python i386 1.33.4-5.7.el5.centos libselinux 73 k
libselinux-utils i386 1.33.4-5.7.el5.centos libselinux 55 k
openldap i386 2.3.43-29.el5_11.openssl1 tuxad 717 k
openssl i686 0.9.8e-40.el5_11.1 tuxad 2.9 M
openssl-devel i386 0.9.8e-40.el5_11.1 tuxad 1.9 M
tuxad-release noarch 5-7 tuxad 13 k
tzdata i386 2017b-1.el5 updates 757 k
wget i386 1.11.4-3.el5_11.2.1 tuxad 593 k
Installing for dependencies:
openssl1 i686 1.0.1e-57.1.el5_11 tuxad 3.5 M
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 12 Package(s)
Total download size: 13 M
Downloading Packages:
--------------------------------------------------------------------------------
Total 1.4 MB/s | 13 MB 00:09
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID a95f6f37
Importing GPG key 0xA95F6F37 "Frank W. Bergmann (tuxad.com) <gpg20160322#tuxad.com>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-TUXAD-A95F6F37
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : openssl 1/25
Updating : libselinux 2/25
Updating : libselinux-devel 3/25
Updating : openssl-devel 4/25
Updating : tzdata 5/25
Updating : kernel-headers 6/25
Updating : tuxad-release 7/25
Installing : openssl1 8/25
Updating : openldap 9/25
Updating : curl 10/25
Updating : wget 11/25
Updating : libselinux-utils 12/25
Updating : libselinux-python 13/25
Cleanup : libselinux 14/25
Cleanup : tuxad-release 15/25
Cleanup : wget 16/25
Cleanup : libselinux-devel 17/25
Cleanup : openssl-devel 18/25
Cleanup : kernel-headers 19/25
Cleanup : tzdata 20/25
Cleanup : libselinux-utils 21/25
Cleanup : openldap 22/25
Cleanup : curl 23/25
Cleanup : libselinux-python 24/25
Cleanup : openssl 25/25
Dependency Installed:
openssl1.i686 0:1.0.1e-57.1.el5_11
Updated:
curl.i386 0:7.15.5-17.el5_11.1
kernel-headers.i386 0:2.6.18-419.el5
libselinux.i386 0:1.33.4-5.7.el5.centos
libselinux-devel.i386 0:1.33.4-5.7.el5.centos
libselinux-python.i386 0:1.33.4-5.7.el5.centos
libselinux-utils.i386 0:1.33.4-5.7.el5.centos
openldap.i386 0:2.3.43-29.el5_11.openssl1
openssl.i686 0:0.9.8e-40.el5_11.1
openssl-devel.i386 0:0.9.8e-40.el5_11.1
tuxad-release.noarch 0:5-7
tzdata.i386 0:2017b-1.el5
wget.i386 0:1.11.4-3.el5_11.2.1
Complete!

The reason is that the package manager relies on the information provided by the kernel (via uname(2)) to decide which versions of packages (for which target architecture) should it install. Though your base image has i386 environment inside, you still run the build on x86_64 kernel, so things become a bit tricky.
When you run the container using docker run, you pass through the entrypoint linux32 - a small program which asks the kernel to pretend that it runs on i386 hardware. However, when you run docker build, the entrypoint is not used by RUNs, so yum sees that it runs on x86_64 kernel, hence the mess with platforms. You may check this answer for more detailed explanation; the issue is pretty similar.
To build your image correctly (installing only i386 packages), run yum and other architecture-sensitive commands in RUNs under linux32, e.g.:
RUN linux32 yum update -y

Related

Amazon Linux dependency error on yum update

When running:
sudo yum update
I get:
Loaded plugins: amzn_workspaces_filter_updates, halt_os_update_check, priorities, update-motd
remi-php74 | 3.0 kB 00:00:00
18186 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package python-s3transfer.noarch 0:0.1.13-1.0.1.el7 will be obsoleting
---> Package python2-s3transfer.noarch 0:0.3.3-1.amzn2.0.1 will be obsoleted
--> Processing Dependency: python2-s3transfer for package: awscli-1.18.147-1.amzn2.0.1.noarch
--> Processing Dependency: python2-s3transfer >= 0.3.0 for package: python2-boto3-1.15.6-1.amzn2.0.1.noarch
--> Finished Dependency Resolution
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I tried "rpm -Va --nofiles --nodigest", but doesn't change anything (yum update throws the same response).
If I try:
sudo yum update --skip-broken
I get:
Loaded plugins: amzn_workspaces_filter_updates, halt_os_update_check, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
firefox | 2.9 kB 00:00:00
workspaces-internal-dependencies | 2.2 kB 00:00:00
18186 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package python-s3transfer.noarch 0:0.1.13-1.0.1.el7 will be obsoleting
---> Package python2-s3transfer.noarch 0:0.3.3-1.amzn2.0.1 will be obsoleted
--> Processing Dependency: python2-s3transfer for package: awscli-1.18.147-1.amzn2.0.1.noarch
--> Processing Dependency: python2-s3transfer >= 0.3.0 for package: python2-boto3-1.15.6-1.amzn2.0.1.noarch
Packages skipped because of dependency problems:
python-s3transfer-0.1.13-1.0.1.el7.noarch from ol7_latest
I am not a Linux expert, and I do not know how to get past this error. What should I remove or add and how?

Error installing dotnet "Requires openssl-libs"

I'm try install dotnet by command for OS Amazon Linux 2 AMI
sudo yum install -y dotnet-sdk-2.1.4
And it show for me:
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main | 2.1 kB 00:00:00
amzn-updates | 2.5 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package dotnet-sdk-2.1.4.x86_64 0:2.1.4-1 will be installed
--> Processing Dependency: dotnet-runtime-2.0.5 >= 2.0.5 for package: dotnet-sdk-2.1.4-2.1.4-1.x86_64
--> Processing Dependency: aspnetcore-store-2.0.5 >= 2.0.5 for package: dotnet-sdk-2.1.4-2.1.4-1.x86_64
--> Running transaction check
---> Package aspnetcore-store-2.0.5.x86_64 0:2.0.5-1 will be installed
--> Processing Dependency: aspnetcore-store-2.0.3 >= 2.0.3 for package: aspnetcore-store-2.0.5-2.0.5-1.x86_64
---> Package dotnet-runtime-2.0.5.x86_64 0:2.0.5-1 will be installed
--> Processing Dependency: openssl-libs for package: dotnet-runtime-2.0.5-2.0.5-1.x86_64
--> Processing Dependency: dotnet-hostfxr-2.0.5 for package: dotnet-runtime-2.0.5-2.0.5-1.x86_64
--> Running transaction check
---> Package aspnetcore-store-2.0.3.x86_64 0:2.0.3-1 will be installed
--> Processing Dependency: aspnetcore-store-2.0.0 >= 2.0.0 for package: aspnetcore-store-2.0.3-2.0.3-1.x86_64
---> Package dotnet-hostfxr-2.0.5.x86_64 0:2.0.5-1 will be installed
--> Processing Dependency: dotnet-host >= 2.0.5 for package: dotnet-hostfxr-2.0.5-2.0.5-1.x86_64
---> Package dotnet-runtime-2.0.5.x86_64 0:2.0.5-1 will be installed
--> Processing Dependency: openssl-libs for package: dotnet-runtime-2.0.5-2.0.5-1.x86_64
--> Running transaction check
---> Package aspnetcore-store-2.0.0.x86_64 0:2.0.0-1 will be installed
---> Package dotnet-host.x86_64 0:2.1.0-1 will be installed
---> Package dotnet-runtime-2.0.5.x86_64 0:2.0.5-1 will be installed
--> Processing Dependency: openssl-libs for package: dotnet-runtime-2.0.5-2.0.5-1.x86_64
--> Finished Dependency Resolution
Error: Package: dotnet-runtime-2.0.5-2.0.5-1.x86_64 (packages-microsoft-com-prod)
Requires: openssl-libs
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I enter
sudo yum list
And i can't found openssl-libs in result.
Also i installed openssl-devel, but result is same.
Update:
I compared the used repositories to another server. There it was installed successfully.
First server repository repository: !amzn-main/latest, os version: "Amazon Linux AMI 2018.03"
Second server repository (with installed dotnet) repository: !amzn2-core/2017.12/x86_64, os version: "Amazon Linux 2 (2017.12) LTS Release Candidate"
I think yum cannot get openssl-libs from repository. How can I install this package?
I ran into a similar issue while installing Powershell. I managed to fake the installation of the latest CentOS package like this:
sudo rpm -ivh https://rpmfind.net/linux/centos/7.9.2009/updates/x86_64/Packages/openssl-libs-1.0.2k-21.el7_9.x86_64.rpm --justdb --force
The --justdb --force added it to the RPM database but without touching the filesystem.

Error: Missing Dependency: python >= 2.6 is needed by package ambari-server-1.7.0-169.noarch

While installing ambari server, getting following error and after installing python 2.6 and forming softlink yum stops working.
Please find the error:--
yum install -y ambari-server
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile * base: centos.aol.com *
epel: ftp.wallawalla.edu * extras: ftp.usf.edu * updates:
ftp.ussg.iu.edu Setting up Install Process Resolving Dependencies
--> Running transaction check
---> Package ambari-server.noarch 0:1.7.0-169 set to be updated
--> Processing Dependency: postgresql-server >= 8.1 for package: ambari-server
--> Processing Dependency: python >= 2.6 for package: ambari-server
--> Running transaction check
---> Package ambari-server.noarch 0:1.7.0-169 set to be updated
--> Processing Dependency: python >= 2.6 for package: ambari-server
---> Package postgresql-server.x86_64 0:8.1.23-10.el5_10 set to be updated
--> Processing Dependency: postgresql = 8.1.23-10.el5_10 for package: postgresql-server
--> Running transaction check
---> Package ambari-server.noarch 0:1.7.0-169 set to be updated
--> Processing Dependency: python >= 2.6 for package: ambari-server
---> Package postgresql.x86_64 0:8.1.23-10.el5_10 set to be updated
--> Finished Dependency Resolution ambari-server-1.7.0-169.noarch from
Updates-ambari-1.7.0 has depsolving problems --> Missing Dependency:
python >= 2.6 is needed by package ambari-server-1.7.0-169.noarch
(Updates-ambari-1.7.0) Error: Missing Dependency: python >= 2.6 is
needed by package ambari-server-1.7.0-169.noarch
(Updates-ambari-1.7.0) You could try using --skip-broken to work
around the problem You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest The program package-cleanup is found in the yum-utils package.
CentOS 5 comes with Python 2.4. Either rebuild the packages you are trying to install or use a repo for that version of CentOS.

Installing R on RHEL 6

my questions is similar to this one -
Problems installing R on Linux CentOS 6.3
I installed epel, but when I run yum install R, I get the two dependency problems -
Error: Package: R-core-3.0.1-2.el6.x86_64 (epel)
Requires: libjpeg.so.62(LIBJPEG_6.2)(64bit)
Error: Package: R-core-devel-3.0.1-2.el6.x86_64 (epel)
Requires: texinfo-tex
I tried installing texinfo-tex using the rpm file from -
http://rpm.pbone.net/index.php3/stat/4/idpl/15993086/dir/scientific_linux_6/com/texinfo-tex-4.13a-8.el6.x86_64.rpm.html
However, this takes me into a long tree of missing dependencies. I downloaded and tried installing 5 different rpm files and each time there were some missing dependencies. Ans this was just one branch of this tree of dependencies. I figured, there has got to be a better way. Can some one help? This has been driving me nuts.
Edit: Another option I'm trying is building R from source. Not sure if this will work given the missing packages though. For now however, it says it can't find a fortran compiler ("No F77 compiler found"). I installed gcc, thinking that it would have one, but apparently not.
on RHEL6.4 do
subscription-manager repos --enable rhel-6-server-optional-rpms
yum install texinfo-tex
rpm -ivh http://mirror.unl.edu/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install R
cheers Marten
I have the exact same problem and have spent about 3 hours attempting to find a yum repository out there for RHEL 6 that can solve this problem. So far, it appears that whoever added this dependency didn't actually try and install it once they added the dependency. These dependency mappings don't appear to exist anywhere in any repo that I can find.
…
So I got frustrated and tried this command
yum install texinfo-tex-4.13a-8.el6.x86_64.rpm
and it worked
Loaded plugins: rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
CentALT | 951 B 00:00
elrepo | 2.9 kB 00:00
epel/metalink | 13 kB 00:00
epel-testing/metalink | 13 kB 00:00
mongodb | 951 B 00:00
puppetlabs-enterprise-extras | 1.9 kB 00:00
remi | 2.9 kB 00:00
rhel-source | 2.5 kB 00:00
rhel-x86_64-server-6 | 1.8 kB 00:00
rpmforge | 1.9 kB 00:00
scl_python27 | 2.9 kB 00:00
scl_ruby193 | 2.9 kB 00:00
Setting up Install Process
Examining texinfo-tex-4.13a-8.el6.x86_64.rpm: texinfo-tex-4.13a-8.el6.x86_64
Marking texinfo-tex-4.13a-8.el6.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package texinfo-tex.x86_64 0:4.13a-8.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
texinfo-tex x86_64 4.13a-8.el6 /texinfo-tex-4.13a-8.el6.x86_64 387 k
Transaction Summary
================================================================================
Install 1 Package(s)
Total size: 387 k
Installed size: 387 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : texinfo-tex-4.13a-8.el6.x86_64 1/1
Verifying : texinfo-tex-4.13a-8.el6.x86_64 1/1
Installed:
texinfo-tex.x86_64 0:4.13a-8.el6
Complete!
# yum install R
Loaded plugins: rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package R.x86_64 0:3.0.1-2.el6 will be installed
--> Processing Dependency: R-devel = 3.0.1-2.el6 for package: R-3.0.1-2.el6.x86_64
--> Running transaction check
---> Package R-devel.x86_64 0:3.0.1-2.el6 will be installed
--> Processing Dependency: R-java-devel = 3.0.1-2.el6 for package: R-devel-3.0.1-2.el6.x86_64
--> Processing Dependency: R-core-devel = 3.0.1-2.el6 for package: R-devel-3.0.1-2.el6.x86_64
--> Running transaction check
---> Package R-core-devel.x86_64 0:3.0.1-2.el6 will be installed
---> Package R-java-devel.x86_64 0:3.0.1-2.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
R x86_64 3.0.1-2.el6 epel 19 k
Installing for dependencies:
R-core-devel x86_64 3.0.1-2.el6 epel 90 k
R-devel x86_64 3.0.1-2.el6 epel 19 k
R-java-devel x86_64 3.0.1-2.el6 epel 19 k
Transaction Summary
================================================================================
Install 4 Package(s)
Total download size: 147 k
Installed size: 326 k
Is this ok [y/N]:
Installing R on 6.6 RHEL 64 bit machine
After going through many pages i found this steps, so thought to share as a quick steps:
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
"It's a package which is preferred for RHEL machine."
sudo yum install tcl
“The Tcl package contains the Tool Command Language, a robust general-purpose scripting language. This package is known to build and work properly using an LFS-7.7 platform. This package is known to build and work properly using the gcc-5 compiler.”
sudo yum clean all
“Cleans the yum cache”
sudo yum install R
“For installing R”
Try this one
rpm -ivh http://mirror.unl.edu/epel/6/x86_64/epel-release-6-7.noarch.rpm
The second is:
#yum install R
Thanks & Regards,
Alok
Try sudo yum groupinstall “Development Tools”
This installs development tools which includes all compilers.
I am also trying to install the same. Tried building from source. Now trying to build with yum. Let's see how it goes
"I tried this.. it said "package epel-release-6-8.noarch is already installed". "
But not enabled... See: https://bluehatrecord.wordpress.com/2014/10/13/installing-r-on-red-hat-enterprise-linux-6-5/
I was having the same issue, And many seem to be getting stuck on this.
The dependencies are available in the RedHat Repo [rhel-6-server-optional-rpms]. Enable the repo and R should install.

How can I solve this Sphinx search dependency issue?

I'm trying to install Sphinx search on a CentOS VPS via SSH but I keep getting dependency issues that I can't seem to resolve.
Here's the OS I'm using:
cat /etc/redhat-release
CentOS 6.4 (Final)
uname -a
Linux host.example.com 2.6.32-042stab074.10 #1 SMP Fri Mar 1 09:18:44 MSK 2013 i686 i686 i386 GNU/Linux
This to me looks like I need the 32-bit CentOS 6 rpm so I tried to install it with this command:
sudo yum install http://sphinxsearch.com/files/sphinx-2.0.8-1.rhel6.i386.rpm
but I get the following error message:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.advancedhosters.com
* extras: centos.mirror.constant.com
* updates: mirror.lug.udel.edu
base | 3.7 kB 00:00
extras | 3.5 kB 00:00
updates | 3.4 kB 00:00
Setting up Install Process
sphinx-2.0.8-1.rhel6.i386.rpm | 5.6 MB 00:30
Examining /var/tmp/yum-root-oMekz6/sphinx-2.0.8-1.rhel6.i386.rpm: sphinx-2.0.8-1.rhel6.i386
Marking /var/tmp/yum-root-oMekz6/sphinx-2.0.8-1.rhel6.i386.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package sphinx.i386 0:2.0.8-1.rhel6 will be installed
--> Processing Dependency: libmysqlclient.so.16 for package: sphinx-2.0.8-1.rhel6.i386
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: sphinx-2.0.8-1.rhel6.i386
--> Finished Dependency Resolution
Error: Package: sphinx-2.0.8-1.rhel6.i386 (/sphinx-2.0.8-1.rhel6.i386)
Requires: libmysqlclient.so.16
Error: Package: sphinx-2.0.8-1.rhel6.i386 (/sphinx-2.0.8-1.rhel6.i386)
Requires: libmysqlclient.so.16(libmysqlclient_16)
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
frontpage-2002-SR1.2.i386 has missing requires of libexpat.so.0
sendmail-cf-8.14.4-8.el6.noarch has missing requires of sendmail = ('0', '8.14.4', '8.el6')
No matter what I try I always seem to be missing libmysqlclient.so.16.
Any idea where I can find this package?
yum install mysql-devel
should do it.
Install the remi repository:
[http://blog.famillecollet.com/pages/Config-en]
Enterprise Linux 6 (with EPEL) i386 or x86_64
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
then install compat-mysql51
yum --enablerepo=remi install compat-mysql51
then install sphinx from the rpm downloaded
yum localinstall sphinx-2.1.2-1.rhel6.SYSTEM-VERSION.rpm
Use the SphinxSearch docker files (docker hub link) to easily install SphinxSearch.
Grab it:
docker pull leodido/sphinxsearch:latest
If you want to see how to compile from source (which I recommend as the better mode to install SphinxSearch), look into them - e.g., here.

Resources