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.