Feeds:
Posts
Comments

Archive for the ‘SuSE’ Category

Exact Error Message
bpcd: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

Details:

Overview:
In Veritas NetBackup ™ Enterprise Server 5.x or 6.0, master servers may be unable to connect to the bpcd daemon on Linux clients using the administration console or may have backups failing with timeout errors.  This can also occur for the bpps and bmrsetupclient commands during the installation of NetBackup 6.0 clients.  These errors occur when the binaries on the client cannot load shared libraries.  Specifically, this is the result of the standard C++  compatibility libraries not being installed. In order to provide support for earlier versions of Linux, the NetBackup binaries were built with earlier versions of the C++ compatibility libraries, which may not have been installed on the problem client.
Troubleshooting:
To verify that the libraries are not installed, telnet to the bpcd port on the client from the master with the following command:

# telnet client 13782

If the libraries are not present, the output will be as follows:

# telnet <client name> 13782

Trying x.x.x.x

Connected to <client name>

Escape character is '^]'.

bpcd: error while loading shared libraries: libstdc++-libc6.2-2.so.3:

cannot open shared object file: No such file or directory

Connection closed by foreign host.

During a NetBackup 6.0 installation the following errors may appear if the standard C++ compatibility libraries are not installed.
/usr/openv/netbackup/bin/bpps: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
/usr/openv/netbackup/bin/bmrsetupclient: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
Log Files:  n/a
Resolution:
The solution is to install the standard C++ compatibility libraries in order to satisfy this library dependency. The version of Linux on the client will determine what RPM or software package needs to be installed.  Also check the Veritas NetBackup ™ OS Compatibility lists in the Related Documents section, below, to ensure the RedHat version is supported with the version of NetBackup that is running. 

For RedHat 4.0 Clients

The location of the required standard C++ compatibility library has been changed in RedHat 4.0 distributions. There is a different RPM that is required in order to install the library required for these binaries to run. Install the compat-libstdc++-296-2.96.132.7.2.i386.rpm package, which is located on the RedHat 4.0 Installation Disc 3.  

For RedHat 3.0 AS/ES/WS Clients

Install the compat-libstdc++-7.3-2.96.122.i386.rpm package, which is located on RedHat 3.0 Installation Disc 3 in ./RedHat/RPMS/compat-libstdc++-7.3-2.96.122.i386.rpm

For RedHat 9.0 Clients

Install the compat-libstdc++-7.3-2.96.118.i386.rpm package.

For RedHat 8.0 Clients

Install the compat-libstdc++7.3-2.96.110.I386.rpm package.

Depending on the version of Linux, the installation may require additional supporting packages to be installed long with the compat-libstdc++ package.  Contact RedHat support for assistance with locating and installing the correct version of the RedHat standard C++ compatibility RPMs as well as any other required packages.  An online search for RPMs is also available at the following Web site:  http://www.rpmfind.net/

Related Documents:
283789: GENERAL ERROR: Getting an error regarding the libncurses.so.5 library when trying to install a license key on a 64-bit Linux server
http://support.veritas.com/docs/283789
263839: Veritas NetBackup ™ 5.x Operating System Compatibility (updated July 16 2007)
http://support.veritas.com/docs/263839
278064: Veritas NetBackup ™ 6.x Operating System Compatibility List (Updated January 14, 2008)
http://support.veritas.com/docs/278064
251712: VERITAS NetBackup ™ DataCenter and NetBackup BusinesServer 4.5 Operating System Compatibility List (Updated December 2, 2005)
http://support.veritas.com/docs/251712

Supplemental Material:

Error Code: 58
NetBackup Error 58: can’t connect to client

Advertisements

Read Full Post »

The command
rpm -q –changelog rpm

#! /bin/sh
for i in $(rpm -q -a -l | grep $1); do
echo “\”$i\” is in package:”
rpm -q -f $i
echo

Read Full Post »

RPM package database /var/lib/rpm

*.rpm – Used to install, uninstall, upgrade, query, verify a package in Redhat and SuSe Linux

rpm [option] [package_name(PN)/ package_filename(PFN)]

 

-i <PFN> : To install the package if not installed

-F <PFN> : To upgrade the package if older version already exists

-U <PFN> : To install/upgrade the package

-e <PN> : To remove the package (if no dependencies exist)

–nodeps : ignores dependency check while installing/upgrading/removing packages

–force : Replace package dependencies automatically while installing packages

-v : Verbose

-h : Shows installation program bar in terms of hash symbol

q [sub-options] <PN> : to determine whether the package is installed or not

Query [sub-options]

-a : Displays the list of all installed packages

-f <file-name: Displays the name of the package which contains the file

-i <PN> : Displays brief information about the package

-l <PN> : Displays the list of all the files that are contained in the package

-p <PFN> : To query an uninstalled package

–requires <PN> : Displays the dependencies of the package

–scripts <PN>: Displays the scripts executed while installing the package

–changelog <PN> : Displays package revision history.

–whatrequires <capability> : Displays the list of packages that requires the capability

–whatprovides <capability> : Displays the list of package that provides that capability (library file search)

History

[root@localhost ~]# rpm -q –changelog httpd | less
* Wed Mar 21 2007 Karanbir Singh <kbsingh@centos.org> 2.2.3-6.el5.centos.1
– Roll in the CentOS Mods

* Wed Nov 29 2006 Joe Orton <jorton@redhat.com> 2.2.3-6.el5
– fix path to instdso.sh in special.mk (#217677)
– fix detection of links in “apachectl fullstatus”

* Tue Sep 19 2006 Joe Orton <jorton@redhat.com> 2.2.3-5.el5
– rebuild

* Fri Aug 11 2006 Joe Orton <jorton@redhat.com> 2.2.3-3.el5
– use RHEL branding

* Thu Aug 03 2006 Joe Orton <jorton@redhat.com> 2.2.3-3
– init: use killproc() delay to avoid race killing parent

* Fri Jul 28 2006 Joe Orton <jorton@redhat.com> 2.2.3-2
– update to 2.2.3
– trim %changelog to >=2.0.52

* Thu Jul 20 2006 Joe Orton <jorton@redhat.com> 2.2.2-8
– fix segfault on dummy connection failure at graceful restart (#199429)

Script check

[root@localhost ~]# rpm -q –scripts httpd
preinstall scriptlet (using /bin/sh):
# Add the “apache” user
/usr/sbin/useradd -c “Apache” -u 48 \
        -s /sbin/nologin -r -d /var/www apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):
# Register the httpd service
/sbin/chkconfig –add httpd
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
        /sbin/service httpd stop > /dev/null 2>&1
        /sbin/chkconfig –del httpd
fi

To find the package dependencies

[root@localhost ~]# rpm -q –requires httpd
/bin/bash
/bin/mktemp
/bin/mv
/bin/rm
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/etc/mime.types
/sbin/chkconfig
/usr/bin/find
/usr/sbin/useradd
/usr/share/magic.mime
config(httpd) = 2.2.3-6.el5.centos.1
gawk
initscripts >= 8.36
libapr-1.so.0
libaprutil-1.so.0
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libcrypt.so.1
libcrypt.so.1(GLIBC_2.0)
libcrypto.so.6
libdb-4.3.so
libdl.so.2
libexpat.so.0
liblber-2.3.so.0
libldap-2.3.so.0
libm.so.6
libm.so.6(GLIBC_2.0)
libpcre.so.0
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libselinux.so.1
libssl.so.6
libz.so.1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)
sh-utils
textutils

To find library or packages or filename

[root@localhost ~]# rpm -q –whatprovides libssl.so.6
openssl-0.9.8b-8.3.el5

[root@localhost ~]# rpm -q openssl
openssl-0.9.8b-8.3.el5

Opposite of Dependencies

[root@localhost ~]# rpm -q –whatrequires libssl.so.6
openssl-0.9.8b-8.3.el5
python-2.4.3-19.el5
openldap-2.3.27-5
curl-7.15.5-2.el5
postgresql-libs-8.1.4-1.1
php-cli-5.1.6-5.el5
python-ldap-2.2.0-2.1
m2crypto-0.16-6.el5.1
httpd-2.2.3-6.el5.centos.1
sendmail-8.13.8-2.el5
php-5.1.6-5.el5
stunnel-4.15-2
distcache-1.4.5-14.1
wpa_supplicant-0.4.8-10.1.fc6
neon-0.25.5-5.1
mysql-5.0.22-2.1
perl-Net-SSLeay-1.30-4.fc6
tog-pegasus-2.5.2-5.el5
spamassassin-3.1.7-4.el5
dovecot-1.0-1.2.rc15.el5
cadaver-0.22.3-4.el5
mod_ssl-2.2.3-6.el5.centos.1
fetchmail-6.3.6-1.el5
squid-2.6.STABLE6-3.el5
gnupg-1.4.5-12
openldap-clients-2.3.27-5
lftp-3.5.1-2.fc6
wget-1.10.2-7.el5
slrn-0.9.8.1pl1-1.2.2
elinks-0.11.1-5.1.el5
nmap-4.11-1.1
gnome-vfs2-2.16.2-4.el5
modcluster-0.8-27.el5.centos
mutt-1.4.2.2-3.el5
ricci-0.8-30.el5
cluster-snmp-0.8-27.el5.centos
cluster-cim-0.8-27.el5.centos

To find the location of installed packages

[root@localhost ~]# rpm -ql nmap
/usr/bin/nmap
/usr/share/doc/nmap-4.11
/usr/share/doc/nmap-4.11/COPYING
/usr/share/doc/nmap-4.11/COPYING.OpenSSL
/usr/share/doc/nmap-4.11/README
/usr/share/doc/nmap-4.11/nmap.usage.txt
/usr/share/man/man1/nmap.1.gz
/usr/share/nmap
/usr/share/nmap/nmap-mac-prefixes
/usr/share/nmap/nmap-os-fingerprints
/usr/share/nmap/nmap-protocols
/usr/share/nmap/nmap-rpc
/usr/share/nmap/nmap-service-probes
/usr/share/nmap/nmap-services
/usr/share/nmap/nmap.dtd
/usr/share/nmap/nmap.xsl

To remove package

[root@localhost ~]# rpm -e httpd
error: Failed dependencies:
        httpd-mmn = 20051115 is needed by (installed) php-5.1.6-5.el5.i386
        httpd-mmn = 20051115 is needed by (installed) mod_ssl-2.2.3-6.el5.centos.1.i386
        httpd-mmn = 20051115 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.2-6.1.i386
        webserver is needed by (installed) webalizer-2.01_10-30.1.i386
        httpd = 0:2.2.3-6.el5.centos.1 is needed by (installed) mod_ssl-2.2.3-6.el5.centos.1.i386
        httpd is needed by (installed) piranha-0.8.4-7.el5.i386
        httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386
        httpd >= 2.0.40 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd = 2.2.3-6.el5.centos.1 is needed by (installed) httpd-manual-2.2.3-6.el5.centos.1.i386
        httpd is needed by (installed) system-config-httpd-1.3.3.1-1.el5.noarch

use

# rpm -e –nodeps httpd

Package Verification

# rpm -V package name : Checks the integrity of the package against the installed database.

# rpm -Va : Checks the integrity of all installed packages against the installed database.

# rpm –import /mnt/cdrom/RPM-GPG-KEY (imports {installs} the public key for package verification)

# rpm –checksig package_file_name : Verifies the signature of the package.

Read Full Post »

The SuSE Linux distribution contains several versions of development kits for

developing and running java applications and several versions of runtime environments

only for running java applications. To be able to run java applications which need

different versions of runtime environment or development kit, you may install several

versions at the same time. One of these development kits or runtime environments is

always the default while the other versions can be used to develop or run particular

applications.

Note: In the next text JDK stands for java development kit and JRE for
java runtime environment.

The java configuration files:
—————————–
All the JDKs and JREs distributed within the SuSE linux have its own configuration file

in directory /etc/java. This configuration files are used by various scripts (see below)

which can help you to operate with various JREs and JDKs. You can see more

information about java configuration files in file /etc/java/README.

Attention: Script setJava and the information in the configuration files are
used also in java applications distributed within SuSE linux.
Please be patient when you install your own JDK or JRE and you
want to add a new configuration file in /etc/java.

Java related environment variables:
———————————–
PATH:
– the search path for commands
– it can contain also the path where the java compiler and the interpreter
are located

JAVA_BINDIR:
– the path to the directory with java executables
– this value is usually used in the PATH environment variable
JAVA_ROOT:
– the path to java root directory
– it is exactly the same for JDK and JRE of the same version and vendor

JAVA_HOME:
– the path to the direcory which contains all files for a given JDK or JRE
– some applications use this value to find java executables in
$JAVA_HOME/bin
– the value is usually different for JDK and JRE of the same version
and vendor

JRE_HOME:
– the path to the direcory which contains all files for given JRE
– some applications use this value to find java executables in
$JRE_HOME/bin
– the value is the same for JDK and JRE of the same version and vendor
(JRE’s form a subset of JDK’s)

JDK_HOME:
– the path to the direcory which contains all files for given JDK
– some applications use this value to find java executables in
$JDK_HOME/bin
– it is defined only for JDK’s

SDK_HOME:
– the path to the direcory which contains all files for given JDK
– some applications search for java executables in $SDK_HOME/bin
– it is defined only for JDK’s with version 1.2 or higher

Note: Various versions of JDK and JRE have different directory tree
structures.

Compactibility links:
———————
SuSEconfig maintains some links which can also help you to find valid JDK or JRE:

/usr/lib/java – default java (see below)
/usr/lib/java1 – points to any JDK or JRE with version 1.1.x
/usr/lib/java2 – points to any JDK or JRE with version 1.2 or higher
/usr/lib/SunJava1 – points to any JDK or JRE from Sun Microsystems with
version 1.1.x
/usr/lib/SunJava2 – points to any JDK or JRE from Sun Microsystems with
version 1.2 or higher
/usr/lib/IBMJava2 – points to any JDK or JRE from IBM with
version 1.2 or higher

Not all the links have to exist at a time. SuSEconfig uses next rules:

– create the link when related JDK or JRE exists
– do not change the link which point to a valid JDK or JRE
– fix the link if it points a nonexisting target or it points to
a directory with no JDK nor JRE and related JDK or JRE exists
– remove the link if it points to a nonexisting target or it points
to a directory with no JDK nor JRE and related JDK nor JRE does not exist

At your own risk, you may disable this SuSEconfig behaviour by setting the

variable CREATE_JAVALINK=”no” in /etc/sysconfig/java. Take into account that also java

applications dististributed within SuSE linux use links maintained by SuSEconfig.

The default java:
—————–
The default java is a JDK or JRE which will be used unless another JDK nor JRE has

been specified. It is defined by symbolic link /usr/lib/java which can easily be

changed by using the script setDefaultJava.

Examples:

1. Print help for script setDefaultJava:
setDefaultJava –help
2. Set any java from Sun Microsystems with version 1.3.x or higher
as your default java:
setDefaultJava –vendor Sun –version 1.3

Attention: No application using the default java should be running during
this change.

Only administrator (root) has permissions to change link /usr/lib/java.

See files /etc/java/*.conf for information about available JRE’s and JDK’s.

By default, each shell has set several environment variables (see above) which point

to the default java (using path /usr/lib/java). When you change the default java then

these variables will no longer be valid in all running shells . When you start new shell,

they will be set correctly again. By default SuSEconfig ensures the validity of the

link /usr/lib/java. The link will be corrected if it points to an invalid directory. At

your own risk you may disable this SuSEconfig behaviour by setting the variable

CREATE_JAVALINK=”no” in /etc/sysconfig/java. Take into account that also java

applications dististributed within SuSE linux use links maintained by SuSEconfig.

Java for your application:
————————–
Most java applications use the JRE found according to the path in the environment

variable PATH. Sometimes also another environment variables are used

(JAVA_HOME, JRE_HOME, …, see above). The default values of these environment

variables point to the default java (/usr/lib/java). If you want to develop or run your

application with another version of JDK or JRE you can use the script setJava, which

will change the enviroment variables to the requested java package:

Examples:

1. Print help for the script setJava:
setJava –help
2. Set environment varibales for java from Sun Microsystems with
version 1.3.x or higher:
source setJava –vendor Sun –version 1.3

!!! Important !!!
Do not forget to run this script with “source” shell command because the result of the

script must be sourced to change the settings in the current shell. Moreover, the

application must also be run from this shell.

See files /etc/java/*.conf for informations about available JRE’s and JDK’s.

Read Full Post »