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.