[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC 3.0 status?



Wichert Akkerman wrote:
> 
> Previously Harald Dunkel wrote:
> > Of course I _have_ gcc 3.0 installed. But I can't use it without redefining
> > a lot of variables in all Makefiles, cause the compiler names are mixed up.
> 
> Then your makefiles are wrong. 

These are not _my_ Makefiles. 

> In all sources I have here I can simply
> switch using either of:
> 
> * CC=gcc-3.0 CXX=g++-3.0 ./configure --your-usual-options
> or
> * edit a toplevel makefile that defines CC and CXX which all submakefiels
>   inherit.
> 

So what is your problem with compiling and linking a few packages with another 
gcc/g++? You could setup $LD_LIBRARY_PATH or $(CFLAGS) at package built time 
to point to the right libraries, couldn't you?

I guess we have a communication problem here. In a previous EMail you
wrote

> We can't use it for woody, since switching to g++ 3.0 means breaking
> the ABI and will force us to change to sonames on all C++ libraries.
> You can not link anything you compile with g++-3.0 with C++ libraries
> that are currently in woody/sid.

I cannot see that using another g++ "breaks" anything. You will get 
2 kinds of C++ binary objects, one for the old ABI, and one for the new. 
Neither of these is broken, unless there is a serious bug.

The problem you seem to have is to distinguish between both kinds of 
libs. There are 2 ways: You could use different names, or different 
installation directories, which was my suggestion. AFAIR ld.so uses 
information added by the linker to your binaries to look for the library 
in a binary specific default directory (the argument to the -L flag; 
check ld(1)) before using ld.so.cache. If you are using different -L 
flags at link time for the old and the new g++, then there will be no 
conflict.


Good luck

Harri



Reply to: