Tips for resolving unmet dependencies
You must meet all of the Cloud APM server dependencies for a successful installation.
Resolving RPM dependency failures
Expected Property Result Found
regex(libstdc++.so.6 os.lib.libstdc++_32 FAIL Unavailable
A Red Hat® Enterprise Linux® client that is correctly configured to use the yum (Yellowdog Updater, Modified) package manager can resolve and install any missing dependencies that are required by the RPMs. For more information about yum commands, see What is yum? How do I use it?.
- Error
- The prerequisite scanner shows the following failure
message:
error: Failed dependencies: libstdc++.so.6 is needed by...
- Command
yum provides
- Enter the following command:
The following report is displayed:yum provides libstdc++.so.6
libstdc++-4.4.7-3.el6.i686 : GNU Standard C++ Library Repo : installed Matched from: Other : Provides-match: libstdc++.so.6
- Command
yum install
- Enter the following command to satisfy the missing
feature:
yum install libstdc++-4.4.7-3.el6.i686
- Command
yum install
- Enter
the following command to install all
prerequisites:
yum -y install --setopt=protected_multilib=false ksh libstdc++.i686 pam.i686 pam.x86_64 sg3_utilsbc bc rsync lsof net-tools unzip zip nmap libaio
Failure message | Possible resolution |
---|---|
error: Failed dependencies: libstdc++.so.6 is needed
by... |
rpm -Uhv libstdc++-4.4.6-4.el6.i686.rpm |
error: Failed dependencies: |
rpm -Uhv libgcc-4.4.6-4.el6.i686.rpm |
error: Failed dependencies: compat-libstdc++-33(i686) is needed
by... |
rpm -Uhv
compat-libstdc++-33-3.2-69.el6.i686.rpm |
Resolving maximum number of user processes, open files, and core file dependency failures
* soft nofile 32768
* hard nofile 65536
* soft core unlimited
To check the current system limits, enter the following commands:
- ulimit -a returns all limits
- ulimit -u returns the maximum number of processes available to a single user
- ulimit -n returns the maximum number of open file descriptors
- ulimit -c returns the maximum core file size
To increase the limit for the current shell session, enter the following commands:
- ulimit -u
new_limit
sets the maximum number of processes. Example:ulimit -u 4096
- ulimit -n
new_limit
sets the maximum number of open files descriptors. Example:ulimit -n 32768
- ulimit -c
new_limit
sets the maximum core file size. Example:ulimit -c 390000
Resolving IPv4 and IPv6 protocol dependencies in the loopback interface
If localhost
is defined for the IPv4 and IPv6 interfaces in
/etc/hosts, but the IPv4 and/or IPv6 protocols are disabled in the loopback
interface, then the prerequisite scanner test will fail.
For example, the prerequisite scanner displays the following result:
Property Result Found Expected
======== ====== ===== ========
network.loopbackMatchesHosts.ipv6 FAIL False True
This result indicates that the IPv4 and IPv6 protocols in the loopback interface do not match the
values for localhost
in the /etc/hosts file. To fix this
issue, you can either remove the IPv4/IPv6 localhost
definition in the hosts file,
or else enable the IPv4/IPv6 protocol in the loopback interface.
To check to see if the IPv4 and IPv6 protocols are defined in the loopback interface, run
ifconfig for your loopback interface. For example, if your loopback interface is
called lo
, run the command ifconfig lo
in the terminal.
To remove the IPv4/IPv6 localhost
definition from the hosts file, complete the
following steps:
- Open the /etc/hosts file for editing.
- Locate the lines that contain the defined values for your IPv4 and IPv6 interfaces. For example,
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Remove
the words
localhost
andlocalhost.localdomain
from the line that contains the IPv4 or IPv6 interface that caused the prerequisite scanner to fail. For example, change the following line:
to::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 localhost6 localhost6.localdomain6
- Save your updated hosts file and reboot your machine.
- To enable the IPv4 protocol, run the following command:
wheresysctl -w net.ipv4.conf.Io.disable_ipv4=0
Io
is the name of your loopback interface. - To enable the IPv6 protocol, run the following command:
wheresysctl -w net.ipv6.conf.Io.disable_ipv6=0
Io
is the name of your loopback interface.