From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux) Description of problem: When I try to install imici 1.0 and ethercap, both programs causes an error not founding glibc libraries. but we have glibc 2.2.5. other problem is on vmware that does not working with rh73- Version-Release number of selected component (if applicable): 2.2.5 How reproducible: Sometimes Steps to Reproduce: 1.Install imici 2.Install vmware 3 3.Install ethercap Actual Results: program results: vmware: VMware PANIC: (ide0:0) NOT_IMPLEMENTED F(831):688 VMware PANIC: (VMX) AIO: NOT_IMPLEMENTED F(831):688 imici: imici: relocation error: imici: symbol __on_exit, version GLIBC_2.0 not defined in file libc.so.6 with link time reference Additional info: any solutions?
You should be able to fix the VMware problem by upgrading VMware.
The vmware problem is bug in vmware, they incorrectly assume nice(3) will return non-zero on error (while SuS and other standards require it to return actual priority, error is signalled by returning -1 and setting errno). AFAIK VMWare knows about this bug and have fixed it already. Concerning imici, it is not supposed to use __on_exit which is a glibc private interface (always has been). It has to use on_exit instead. Ask imici to fix it. You have not listed any errors for ethercap, so I cannot say anything about it.
ok, VMWARE 3.1 and ETTERCAP 0.6.5 is now working thx!
Could the nice problem be solved with the glibc symbol versioning? Wasn't the versioning introduced just to support the this kind of situtations where the interface must be changed but old binaries require the old interface to function. Does the versioning slow down programs or is there any other reason not to use it? To get vmware 2.x series running I had to create my own preloaded library that wraps the nice function and always returns 0. Unfortunately the vmware is a suid program and thus the wrapper library needs to be in /usr/lib and the whole program must be run as root to make it work.
This was a bug in nice(2) implementation (it did not work as documented) and for bugfixes glibc doesn't come up with new symbol version.