no idea about the gtk use flag for gcc
the original poster will be fine when he will fix is ldflags, the dup -wl,--as-needed without a space = bork ldflags -> C compiler cannot...
(ok he might not, but that would be another issue)

Hello, it seems it was glibc that had issue with my ldflags, i commented them out and it built fine and so did everything else. Now since then i get eselect new item telling that -Wl,--as-needed has been added to default profile, i can also add this to ldflags which will override default profile.

I had a similar problem when doing an upgrade via "emerge -u portage". When it tried to compile a pre-requisite package (in this case Gawk), I got the same error message.

I found that apparently it had updated the C++ libraries and my paths (specifically in /etc/ld.so.conf), were now wrong. In order to fix it I had to:

1) edit /etc/ld.so.conf to fix the gcc-lib path (in my case it went from 3.2.3 to 3.3.3.

2) run "ldconfig" to set the proper library path

3) edit /etc/env.d/05gcc and change all the paths to the new version.

If you don't do steps 1 and 2 you won't be able to run emerge again. If you don't do step 3, it will undo your changes from step 1 when you run emerge again.

Hope this helps...
-Robert

Hey Robert

this helped massively. Thought i would pull this thread up to date this is a important addition as i broke my system doing a emerge --depclean

I had 3 compilers on my system version 3.x a 4.3x and current 4.4.x

So i am sure you can imagine -depclean removed 3.x and 4.3.x but left the directory listings in the 05gcc files.

BTW 05gcc file has on my system located as: "/etc/env.d/05gcc-i686-pc-linux-gnu" so anyone need assistance in finding the file cd into /etc/env.d and find which file ending there is by doing a "ls" in that directory. I would also advise on opening a second terminal(I was in X windows so multiple terminals were open) cd each gcc directory listed in the 05gcc file to double check they exist and contain files this is a good way of checking that gcc is installed and the version it points to exists.

Most important find i have found to fix this problem something not mentioned in Roberts post was after modifying all the directories in the files make sure you run:

Quote:

env-update

If you dont it wont take effect unless you reboot which i dont advise on a broken system rofl. so to conclude the perfect fix Thank You Robert:

Quote:

I found that apparently it had updated the C++ libraries and my paths (specifically in /etc/ld.so.conf), were now wrong. In order to fix it I had to:

1) edit /etc/ld.so.conf to fix the gcc-lib path (in my case it went from 3.2.3 to 3.3.3.

2) run "ldconfig" to set the proper library path

3) edit /etc/env.d/05gcc and change all the paths to the new version.

4) run env-update

If you don't do steps 1 and 2 you won't be able to run emerge again. If you don't do step 3, it will undo your changes from step 1 when you run emerge again.

Thanks again all and hope this helps someone. _________________When i look In-between white and black i see a rainbow of colours

Finally, wine failed to emerge with a bus error. After that, I can emerge NOTHING! Every attempt says my C compiler cannot create executables, and the associated config.log looks like this (for a ccache emerge, for example):