Raul Dias <[EMAIL PROTECTED]> writes:

> I have proposed a new kind of conflict checking for rpm, but
> JBJ is not sure (yet) if rpm is the right place for it.
> 
> However URPMI would be a right tool to check for it.
> 
> The problem:
> 
> Using a C++ application compiling with one gcc that depends on
> another C++ library that was compiled with another gcc will
> __not__ work and probably segfaults.
> 
> This is the main issue discussed in this thread. :)
> 
> 
> How do we know if a package is a c++ application/lib?
> \
> It will depends on libstdc++.so.XXXXX
> 
> 
> How do we know what gcc was use to compile a c++ package?
> 
> the XXXX in the libstdc++.so.XXXX dependency is different 
> to every gcc version/c++ ABI.
> This also means that when the time comes and we get a final
> ABI, new gccs will keep the same soname in the libstc++ lib.
> 
> 
> How can urpmi know that a c++ package will not work in 
> 
> the system __even__ if the dependencies are met?
> If a c++ package will be installed in the system, urpmi
> should check for every package that provides its dependencies
> to see if they also depends on a libstdc++.
> If the libstdc++ which they depends are different, the package 
> should not be installed.
> 
> 
> Any thought about this?

Hum, urpmi use rpm dependencies, which use effectively so name, so name should
be changed if compatibility is broken.

$ rpm -qR xalan-c | grep libstdc 
libstdc++-libc6.2-2.so.3  

$ ldd /usr/bin/testXPath | grep libstdc
        libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4083d000)

$ objdump -x /usr/lib/libstdc++-libc6.2-2.so.3  | grep SONAME
  SONAME      libstdc++-libc6.2-2.so.3

How can we known more here ?

François.

Reply via email to