Gwenole Beauchesne <[EMAIL PROTECTED]> wrote:
>On Tue, 5 Mar 2002, pascal wrote:
>
>> I am not a programmer but a Merchant Navy Officer, by hoby a very small
>> tester, but sugest it should be great if somme of you could find some scripte
>> or others making transparent capability for compiling applications using QT
>> even with gcc 2.96 or gcc 3.0 without turning around the clock
>
>gcc-2.96 is the system compiler, thus meaning that everything was built
>with it and verified to work OK. So coherency here is for a user to build
>with the system compiler. gcc-3.0.4 is a toy compiler for 8.2 for people
>willing to test it, have other features. This will change for 9.0 as more
>testing will be done with gcc3+ compilers.
>
>You are definetely in trouble if you want to mix gcc3 C++ code with gcc2
>C++ code. Otherwise, C code should be OK. I am not saying that compiling
>C++ code with gcc3 doesn't work. It's just that you need to check that all
>other dependent C++ libs are built with it too.
>
>Again, it is always advised to use the system compiler. "2.96" for 8.2.

Hi, 

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?


[]'s
Raul Dias


Reply via email to