Installing ffmpeg on amazon linux - cpp, gcc & libstdc++ dependancies - linux

I'm fairly new to complicated config, & am trying to setup ffmpeg on an amazon linux EC2 instance, using the instruction here...
http://wiki.razuna.com/display/ecp/FFMpeg+Installation+on+CentOS+and+RedHat
... however I've hit a wall when trying the following line...
yum install glibc gcc gcc-c++ autoconf automake libtool
Here's the errors I'm getting...
Package matching glibc-2.5-107.x86_64 already installed. Checking for update.
Package matching autoconf-2.59-12.noarch already installed. Checking for update.
Package matching automake-1.9.6-2.3.el5.noarch already installed. Checking for update.
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-54.el5 will be installed
--> Processing Dependency: cpp = 4.1.2-54.el5 for package: gcc-4.1.2-54.el5.x86_64
Package cpp is obsoleted by cpp44, but obsoleting package does not provide for requirements
---> Package gcc-c++.x86_64 0:4.1.2-54.el5 will be installed
--> Processing Dependency: libstdc++ = 4.1.2-54.el5 for package: gcc-c++-4.1.2-54.el5.x86_64
--> Processing Dependency: libstdc++-devel = 4.1.2-54.el5 for package: gcc-c++-4.1.2-54.el5.x86_64
---> Package libtool.x86_64 0:1.5.22-7.el5_4 will be installed
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-54.el5 will be installed
--> Processing Dependency: cpp = 4.1.2-54.el5 for package: gcc-4.1.2-54.el5.x86_64
Package cpp is obsoleted by cpp44, but obsoleting package does not provide for requirements
---> Package gcc-c++.x86_64 0:4.1.2-54.el5 will be installed
--> Processing Dependency: libstdc++ = 4.1.2-54.el5 for package: gcc-c++-4.1.2-54.el5.x86_64
---> Package libstdc++-devel.x86_64 0:4.1.2-54.el5 will be installed
--> Processing Dependency: libstdc++ = 4.1.2-54.el5 for package: libstdc++-devel-4.1.2-54.el5.x86_64
--> Processing Dependency: /usr/lib64/libstdc++.so.6 for package: libstdc++-devel-4.1.2-54.el5.x86_64
--> Processing Dependency: /usr/lib64/libstdc++.so.6 for package: libstdc++-devel-4.1.2-54.el5.x86_64
--> Processing Conflict: gcc-4.6.2-1.8.amzn1.noarch conflicts libtool < 2.2.10-4.6.2
--> Processing Conflict: gcc-c++-4.6.2-1.8.amzn1.noarch conflicts libtool < 2.2.10-4.6.2
--> Finished Dependency Resolution
Error: Package: gcc-4.1.2-54.el5.x86_64 (centos)
Requires: cpp = 4.1.2-54.el5
Installed: cpp46-4.6.2-2.65.amzn1.x86_64 (#amzn-main)
cpp = 4.6.2-2.65.amzn1
Available: cpp-4.1.2-54.el5.x86_64 (centos)
cpp = 4.1.2-54.el5
cpp = 4.1.1-52.el5
Available: cpp44-4.4.6-4.77.amzn1.x86_64 (amzn-main)
cpp = 4.4.6-4.77.amzn1
Available: cpp47-4.7.0-5.68.amzn1.x86_64 (amzn-main)
cpp = 4.7.0-5.68.amzn1
Available: cpp47-4.7.2-2.69.amzn1.x86_64 (amzn-updates)
cpp = 4.7.2-2.69.amzn1
Error: Package: libstdc++-devel-4.1.2-54.el5.x86_64 (centos)
Requires: /usr/lib64/libstdc++.so.6
Available: libstdc++-4.1.2-54.el5.x86_64 (centos)
Not found
Error: gcc-c++ conflicts with libtool
Error: gcc conflicts with libtool
Error: Package: gcc-c++-4.1.2-54.el5.x86_64 (centos)
Requires: libstdc++ = 4.1.2-54.el5
Installed: libstdc++46-4.6.2-2.65.amzn1.x86_64 (#amzn-main)
libstdc++ = 4.6.2-2.65.amzn1
Installed: libstdc++47-4.7.2-2.69.amzn1.x86_64 (#amzn-updates)
libstdc++ = 4.7.2-2.69.amzn1
Available: libstdc++-4.1.2-54.el5.i386 (centos)
libstdc++ = 4.1.2-54.el5
libstdc++ = 4.1.1-52.el5
Available: libstdc++44-4.4.6-4.77.amzn1.i686 (amzn-main)
libstdc++ = 4.4.6-4.77.amzn1
Available: libstdc++47-4.7.0-5.68.amzn1.i686 (amzn-main)
libstdc++ = 4.7.0-5.68.amzn1
Error: Package: libstdc++-devel-4.1.2-54.el5.x86_64 (centos)
Requires: libstdc++ = 4.1.2-54.el5
Installed: libstdc++46-4.6.2-2.65.amzn1.x86_64 (#amzn-main)
libstdc++ = 4.6.2-2.65.amzn1
Installed: libstdc++47-4.7.2-2.69.amzn1.x86_64 (#amzn-updates)
libstdc++ = 4.7.2-2.69.amzn1
Available: libstdc++-4.1.2-54.el5.i386 (centos)
libstdc++ = 4.1.2-54.el5
libstdc++ = 4.1.1-52.el5
Available: libstdc++44-4.4.6-4.77.amzn1.i686 (amzn-main)
libstdc++ = 4.4.6-4.77.amzn1
Available: libstdc++47-4.7.0-5.68.amzn1.i686 (amzn-main)
libstdc++ = 4.7.0-5.68.amzn1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Here is how to install FFMPEG on Linux using a static build.
A good FAQ is here: https://www.johnvansickle.com/ffmpeg/faq/
SSH into your instance and become root
sudo su -
Go to the the /usr/local/bin directory
cd /usr/local/bin
Inside the /usr/local/bin directory, create an "ffmpeg" directory
mkdir ffmpeg
Go into the new directory
cd ffmpeg
Now, open a browser and go to the list of FFMPEG static builds at https://johnvansickle.com/ffmpeg/ and pick the latest version.
While inside the /usr/local/bin/ffmpeg directory, type the following command to download the static build you have selected
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
Now, untar it...
tar -xzf ffmpeg-git-amd64-static.tar.xz
Run it and check what the latest version is
./ffmpeg -version
The output should look something like this
ffmpeg version N-60675-g8fe1076
built on Feb 16 2014 05:45:47 with gcc 4.6 (Debian 4.6.3-1)
configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-
static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --
extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --
disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --
enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --
enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --
enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
libavutil 52. 64.100 / 52. 64.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 32.101 / 55. 32.101
libavdevice 55. 9.101 / 55. 9.101
libavfilter 4. 1.102 / 4. 1.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
If you want to be able to execute FFMPEG from any directory, simply create a symlink into /usr/bin like this:
ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg
The first part (/usr/local/bin/ffmpeg/ffmpeg) is where the file is located after I untarred
the file. The second part (/usr/bin/ffmpeg) is where we want the symlink to go
Now, you should be able to run the command "ffmpeg" from anywhere

The answer from Marc works good for me.
To use the FFProbe (ffprobe gathers information from multimedia streams and prints it in human and machine-readable format), you can add the simlink to it too:
ln -snf /usr/local/bin/ffmpeg/ffprobe /usr/bin/ffprobe

You could just download the static builds from http://ffmpeg.gusari.org/static/64bit. It works on 64-bit Amzn Linux with no problem.

Related

Lua 5.3 is installed, but I can't locate the correct lua.h

I am trying to install some luarocks packages but it seems that although lua5.3 is installed, the relevant headers are not
$ which lua
/usr/bin/lua
$ lua -v
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
/usr/include$ ls *lua*
lua5.1:
lauxlib.h luaconf.h lua.h lua.hpp lualib.h
luajit-2.1:
lauxlib.h luaconf.h lua.h lua.hpp luajit.h lualib.h
$ locate lua.h
/usr/include/luajit-2.1/lua.h
/usr/include/luajit-2.1/lua.hpp
/usr/share/doc/texlive-doc/latex/greek-fontenc/lgr2licr.lua.html
/usr/src/linux-headers-5.4.0-31-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-40-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-66-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-70-generic/include/config/scsi/dh/alua.h
$ sudo luarocks install luacheck
Installing https://luarocks.org/luacheck-0.24.0-2.src.rock
Missing dependencies for luacheck 0.24.0-2:
luafilesystem >= 1.6.3 (not installed)
luacheck 0.24.0-2 depends on luafilesystem >= 1.6.3 (not installed)
Installing https://luarocks.org/luafilesystem-1.8.0-1.src.rock
gcc -O2 -fPIC -I/usr/include/lua5.3 -c src/lfs.c -o src/lfs.o
src/lfs.c:84:10: fatal error: lua.h: No such file or directory
84 | #include <lua.h>
| ^~~~~~~
compilation terminated.
Any help would be really appreciated.
sudo apt install liblua5.3-dev

yum dependency resolution behaves differently in docker build vs docker run

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

RHEL6 installed wrong version of rpmforge

I installed the wrong version of rpmforge for el7. Then I ran an update which installed this package on my system
python-crypto-2.6.1-1.el7.rf.x86_64
Notice the el7 but I am on rhel6. I then realized and removed the wrong repository and installed the right one for el6.
$ rpm -qa | grep rpmfor
rpmforge-release-0.5.2-2.el6.rf.x86_64
But the above process has broken the update process, which I know I could work around using --skip-broken option. How do I downgrade for the above mentioned package. I tried to uninstall and install it back again but I get this error:
Error: Trying to remove "c4ebpl", which is protected
It shows me some protected packages which can't be removed.
Update process using sudo yum update gives me this error:
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: python(abi) = 2.7
Installed: python-2.6.6-52.el6.x86_64 (#el66/$releasever)
python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libpython2.7.so.1.0()(64bit)
You could try using --skip-broken to work around the problem
Would anyone know how to downgrade to the original packages? Is there a way to do a factory reset? Or do I need to re-install linux again?
Some things I tried:
I deleted the python-crypto.x86_64 package using this command
sudo rpm --nodeps -e python-crypto.x86_64
And the update went through. So I thought I should install the python-crypto.x86_64package now as I have the right el6 rpmforge repository. So I ran this command sudo yum install python-crypto.x86_64 but I got the same error:
Resolving Dependencies
--> Running transaction check
---> Package python-crypto.x86_64 0:2.6.1-1.el7.rf will be installed
--> Processing Dependency: python(abi) = 2.7 for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.14)(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libpython2.7.so.1.0()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libgmp.so.10()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Finished Dependency Resolution
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: python(abi) = 2.7
Installed: python-2.6.6-52.el6.x86_64 (#el66/$releasever)
python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libpython2.7.so.1.0()(64bit)
You could try using --skip-broken to work around the problem
I don't know why its trying to find the el7 package? I have these libraries in my machine.
$ rpm -qa | grep rpmfor
rpmforge-release-0.5.3-1.el7.rf.x86_64
Solution from #Michael Hapton on this link
Here is the solution. I take no credit for it.
First you need to install the correct rpmforge-release package. Download it and use rpm -U --oldpackage to install it over the wrong package.
Second, you need to clean the cached yum metadata that it had. Use yum clean all to get rid of everything.
Third, use yum distro-sync to downgrade any packages that were installed for the wrong distribution. (And note that this will also upgrade any out-of-date packages.)

CentOS 64bit RPM with 32bit dependencies

I have a helper rpm package which is used to install the necessary dependencies in order for some software to work; the problem is that the dependency packages required are the 32bit ones, which can't be installed on CentOS 64bit without the --setopt=protected_multilib=false flag.
To manually install the dependencies I'd just run:
# yum install --setopt=protected_multilib=false libXrandr.i686
# yum install --setopt=protected_multilib=false gtk2.i686
# yum install --setopt=protected_multilib=false libXtst.i686
This would correctly install the 32bit version of the packages.
The problem appears when installing the helper package directly, as it seems there's no way to force --setopt=protected_multilib=false for the dependencies.
When trying to install the package (locally, using yum --nogpgcheck --setopt=protected_multilib=false localinstall centos_helper-0-0.x86_64.rpm) I get the following error:
Examining centos_helper-0-0.x86_64.rpm: centos_helper-0-0.x86_64
Marking centos_helper-0-0.x86_64.rpm to be installed
Loading mirror speeds from cached hostfile
* base: mirror.dattobackup.com
* extras: mirror.metrocast.net
* rpmforge: mirror.de.leaseweb.net
* updates: mirror.dattobackup.com
Resolving Dependencies
--> Running transaction check
---> Package centos_helper.x86_64 0:0-0 will be installed
--> Processing Dependency: libXrandr.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: gtk2.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: libXtst.i686 for package: centos_helper-0-0.x86_64
--> Finished Dependency Resolution
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: gtk2.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXrandr.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXtst.i686
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
This is the same error I get when trying to install the dependencies by hand without the protected_multilib=false flag.
The .spec file I'm using to create the package has the following content:
Summary: CentOS helper file
Name: centos_helper
Version: 0
Release: 0
License: Public
Group: Applications/System
Requires: libXrandr.i686,gtk2.i686,libXtst.i686
%description
Installer CentOS helper package
%files
Any way to have the dependencies correctly install?
You might want to look at http://www.rpm.org/wiki/PackagerDocs/ArchDependencies
I prefer referencing sonames myself, that way yum will look up what dependancy to install.
I've had major CentOS upgrades failing because if this.
This if for recent RPM versions only : 4.6 or so. If you're on something older :
Requires: real-soname.so.1()(64bit), real-soname.so.1, packagename
From memory, you might need a tweak.

I am not able to install google chrome in my oracle enterprise linux

I have created a google.repo file and stored the file in yum.repos.d, the contents of google.repo are :
[google-chrome]
name=google-chrome – 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
I executed the below command in shell as a root user :
Executed :
yum install google-chrome-stable
Output :
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package google-chrome-stable.x86_64 0:23.0.1271.64-165188 set to be updated
--> Processing Dependency: lsb >= 4.0 for package: google-chrome-stable
--> Processing Dependency: libc.so.6(GLIBC_2.11)(64bit) for package: google-chrome-stable
--> Processing Dependency: libcurl.so.4()(64bit) for package: google-chrome-stable
--> Finished Dependency Resolution
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: libcurl.so.4()(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: lsb >= 4.0 is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: libcurl.so.4()(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: lsb >= 4.0 is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
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.
I can't find lsb package also, I found that the below packages are installed :
redhat-lsb.x86_64
redhat-lsb.i386
Please help me to install google chrome in oracle enterprise linux 5...
alright, it seems that OL 5 has older version of GLIBC and chrome will not work with that.
https://superuser.com/questions/393158/how-to-install-a-chrome-on-my-rhel-5-3-box
If you don't mind installing an earlier version of Google Chrome which does not requires latest libstdc++.so, read the following:
For example, for Oracle Linux 6.6 (64bit), google chrome version 35 or higher requires libstdc++.so.6(GLIBCXX_3.4.15). Go to http://orion.lcg.ufrj.br/RPMS/myrpms/google/ and download google-chrome-stable-27.0.1453.110-202711.x86_64.rpm. Run the following command
sudo yum install /path-to/google-chrome-stable-27.0.1453.110-202711.x86_64.rpm
FYI - To check what versions of libstdc++ your system has, do the following
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

Resources