On Fri, May 30, 2014 at 4:48 PM, Jonathan Wakely wrote: > On 30 May 2014 15:29, Csaba Raduly wrote: >> This seems to be due to libstdc++.a from 4.9.0 (which doesn't contain >> the string State_base) having overwritten the one from 4.8.2 (which >> does). >> >> This is the only binary which needs -static-libstdc++ -static-libgcc . >> Other binaries (using libstdc++.so) build correctly. > > The libstdc++.so shared library contains the symbols from previous > versions in order to support binaries that were originally linked with > the older libstdc++.so > >> Is this not a supported configuration? > > No. > > When you compile with GCC 4.8 you need to link to the libstdc++ > library from GCC 4.8, but you can't do that because you've overwritten > it with the library from 4.9 > >> Do I have to give up on >> switching back and forth between 4.8.2 and 4.9.0? > > No, you just need to install them so that they don't overwrite each > other's files. How am I supposed to do that? I just ran "make install" , and all the compiler versions live happily next to each other, except for libstdc++.a :( Csaba -- GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++ The Tao of math: The numbers you can count are not the real numbers. Life is complex, with real and imaginary parts. "Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds "People disagree with me. I just ignore them." -- Linus Torvalds