rpm doesn't see a package (libaio) as installed, zypper does - why?

Hi,
the question is related to openSuSE 12.4 x64 and package management.
I am trying to solve missing package pre-requisites of Oracle 11g installation.
I had installed libaio with zypper but Oracle said that libaio was still missing - I checked rpm - it confirmed that libaio is missing.

Please see it in the picture: https://www.dropbox.com/s/0fx2pm1mbiseyq6/20130718_openSuSE_libaio.png

https://www.dropbox.com/s/0fx2pm1mbiseyq6/20130718_openSuSE_libaio.png

  1. Why rpm and Oracle do not see package that is seen as installed by zypper?
  2. How to install libaio in a way rpm and Oracle see them as installed.

Thanks!
Michal

There is no 12.4 and never will be. The current version is 12.3, the next one will be 13.1…:wink:

  1. Why rpm and Oracle do not see package that is seen as installed by zypper?

Because libaio IS NOT installed. What you installed is “libaio1”. There is no package called “libaio” on openSUSE (except for the src rpm).

  1. How to install libaio in a way rpm and Oracle see them as installed.

You can’t. There is no “libaio” on openSUSE. (well, you could create your own)
But libaio1 does provide libaio as well. So what’s your exact error message when trying to install the Oracle package?

You could try to install your Oracle package with “rpm -i --nodeps”. libaio1 should be sufficient I hope.

Hi,
thanks for quick answer.

But libaio1 does provide libaio as well. So what’s your exact error message when trying to install the Oracle package?

There is no error message - only warnings in OUI: https://www.dropbox.com/s/cph2z39f0inq01c/20130718_openSuSE_oracle_libaio.png

I will proceed with installation and see what happens.
Thanks!
Michal

Ah, ok. Well, openSUSE 12.3’s libaio1 has version 0.3.109 (instead of 0.3.105) but that should not matter, since the soname is the same (“libaio.so.1”).

There is an installation error…
OUI says “Error in invoking target ‘install’ of makefile”


INFO: gcc -o ctxhx -m64 -L/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -L/oracle/app/oracle/product/11.2.0/dbhome_1/lib/ -L/oracle/app/oracle/product/11.2.0/dbhome_1/lib/stubs/  /oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ctxhx.o -L/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lm -lsc_fa -lsc_ex -lsc_da -lsc_ca -lz  -lctxhx -Wl,-rpath,/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnl
INFO: s11 -lcore11 -lnls11  `cat /oracle/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist`

INFO: /usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status

INFO: make: *** [ctxhx] Error 1

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/oracle/app/oraInventory/logs/installActions2013-07-18_04-44-01PM.log' for details.
Exception Severity: 1
INFO: Adding ExitStatus STOP_INSTALL to the exit status set
INFO: Finding the most appropriate exit status for the current application
INFO: Exit Status is -4
INFO: Shutdown Oracle Database 11g Release 2 Installer
INFO: Unloading Setup Driver

Any hints?
Thanks!
Michal

So apparently you don’t have a matching glibc for your installed /usr/lib64/libstdc++.so.5…

But where do you have that from anyway?
openSUSE 12.3 includes libstdc++.so.6 by default.

Please show the output of:

ls -l /usr/lib64/libstdc++.*
rpm -qf /usr/lib64/libstdc++.so.5

It’s from libstdc++33 I suppose, try to remove that (and libstdc++33-devel if installed).

Hi,
please find results of the commands that you had sent me.


mjk@mjkVBoxSUSE:~> ls -l /usr/lib64/libstdc++.*
lrwxrwxrwx 1 root root     18 Jul 18 13:01 /usr/lib64/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 852208 Jan 27 00:45 /usr/lib64/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root     19 Mar  6 12:37 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.17
-rwxr-xr-x 1 root root 987648 Jan 26 20:21 /usr/lib64/libstdc++.so.6.0.17
mjk@mjkVBoxSUSE:~> rpm -qf /usr/lib64/libstdc++.so.5
libstdc++33-3.3.3-38.1.1.x86_64
mjk@mjkVBoxSUSE:~> 

After that I removed libstdc++33* packages and during Oracle installation got:


INFO: /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libstdc++.so.5, needed by /oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib//libsc_fa.so, not found (try using -rpath or -rpath-link)
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib/libwv_core.so: undefined reference to `operator delete(void*)@GLIBCPP_3.2'
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib/libwv_core.so: undefined reference to `std::ios_base::Init::~Init()@GLIBCPP_3.2'
/oracle/app/oracle/product/11.2.0/d
INFO: bhome_2/ctx/lib/libwv_core.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info@GLIBCPP_3.2'
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib//libsc_fa.so: undefined reference to `__gxx_personality_v0@CXXABI_1.2'
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib/libsc_ch.so: undefined reference to `__gxx_personality_v0'
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib/libwv_core.so: undefined reference to `vtable for __cxxabiv1::__class_type_info@GLIBCPP_3.2'
/oracle/app/oracle/produ
INFO: ct/11.2.0/dbhome_2/ctx/lib/libwv_core.so: undefined reference to `__cxa_pure_virtual@CXXABI_1.2'
/oracle/app/oracle/product/11.2.0/dbhome_2/ctx/lib/libwv_core.so: undefined reference to `std::ios_base::Init::Init()@GLIBCPP_3.2'

INFO: collect2: error: ld returned 1 exit status
make: *** [ctxhx] Error 1

Please find my libstdc++ overview below:


mjk@mjkVBoxSUSE:~> zypper se libstdc++
Loading repository data...
Reading installed packages...

S | Name                    | Summary                                               | Type   
--+-------------------------+-------------------------------------------------------+--------
i | libstdc++-devel         | The system GNU C++ development files                  | package
  | libstdc++33             | The standard C++ shared library                       | package
  | libstdc++33-32bit       | The standard C++ shared library                       | package
  | libstdc++33-devel       | Include Files and Libraries mandatory for Development | package
  | libstdc++33-devel-32bit | Include Files and Libraries mandatory for Development | package
  | libstdc++33-doc         | Documentation for the GNU C++ standard library        | package
i | libstdc++47-devel       | Include Files and Libraries mandatory for Development | package
i | libstdc++47-devel-32bit | Include Files and Libraries mandatory for Development | package
  | libstdc++47-doc         | Documentation for the GNU C++ standard library        | package
i | libstdc++6              | The standard C++ shared library                       | package
i | libstdc++6-32bit        | The standard C++ shared library                       | package