Building gcc-4.4.7 with gcj and gtk USE flags results in a build failure. The error message is: libtool: link: /var/tmp/portage/sys-devel/gcc-4.4.7/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.4.7/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -m32 -shared .libs/gnu_java_awt_peer_gtk_CairoSurface.o .libs/gnu_java_awt_peer_gtk_CairoGraphics2D.o .libs/gnu_java_awt_peer_gtk_ComponentGraphics.o .libs/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o .libs/gnu_java_awt_peer_gtk_FreetypeGlyphVector.o .libs/gnu_java_awt_peer_gtk_GdkFontPeer.o .libs/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o .libs/gnu_java_awt_peer_gtk_GdkPixbufDecoder.o .libs/gnu_java_awt_peer_gtk_GdkRobotPeer.o .libs/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o .libs/gnu_java_awt_peer_gtk_GtkButtonPeer.o .libs/gnu_java_awt_peer_gtk_GtkCanvasPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxPeer.o .libs/gnu_java_awt_peer_gtk_GtkChoicePeer.o .libs/gnu_java_awt_peer_gtk_GtkClipboard.o .libs/gnu_java_awt_peer_gtk_GtkComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkFileDialogPeer.o .libs/gnu_java_awt_peer_gtk_GtkFramePeer.o .libs/gnu_java_awt_peer_gtk_GtkGenericPeer.o .libs/gnu_java_awt_peer_gtk_GtkImage.o .libs/gnu_java_awt_peer_gtk_GtkLabelPeer.o .libs/gnu_java_awt_peer_gtk_GtkListPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuBarPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkPanelPeer.o .libs/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollbarPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollPanePeer.o .libs/gnu_java_awt_peer_gtk_GtkSelection.o .libs/gnu_java_awt_peer_gtk_GtkTextAreaPeer.o .libs/gnu_java_awt_peer_gtk_GtkTextFieldPeer.o .libs/gnu_java_awt_peer_gtk_GtkToolkit.o .libs/gnu_java_awt_peer_gtk_GtkWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkVolatileImage.o .libs/GtkDragSourceContextPeer.o .libs/gtk_jawt.o .libs/gtkpeer.o ../../../native/jni/classpath/.libs/jcl.o -L/usr/lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lcairo -lgthread-2.0 -lrt -lgdk_pixbuf-2.0 -lpangoft2-1.0 -lpango-1.0 /usr/lib64/libfontconfig.so -lfreetype -lz -lbz2 -lexpat -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXrender -lXrandr -lXtst -m32 -pthread -pthread -m32 -pthread -m32 -pthread -pthread -Wl,-soname -Wl,libgtkpeer.so -o .libs/libgtkpeer.so /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libgtk-x11-2.0.so when searching for -lgtk-x11-2.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libgdk-x11-2.0.so when searching for -lgdk-x11-2.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libatk-1.0.so when searching for -latk-1.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libgio-2.0.so when searching for -lgio-2.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libpangocairo-1.0.so when searching for -lpangocairo-1.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libcairo.so when searching for -lcairo /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libgthread-2.0.so when searching for -lgthread-2.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/librt.so when searching for -lrt /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/librt.a when searching for -lrt /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libgdk_pixbuf-2.0.so when searching for -lgdk_pixbuf-2.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libpangoft2-1.0.so when searching for -lpangoft2-1.0 /usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libpango-1.0.so when searching for -lpango-1.0 /usr/lib64/libfontconfig.so: could not read symbols: File in wrong format It looks to me like the linker is trying to pick up 64-bit libraries while being instructed to link a 32-bit library (the -m32 argument). I have emul-linux-x86-gtklibs-20121028 installed, but the linker for some reason does not find those libraries.
*** This bug has been marked as a duplicate of bug 444350 ***
I don't understand how this is a duplicate of bug 444350. According to bug 444350: "Just manually emerging app-emulation/emul-linux-x86-gtklibs should help you get gcc building again until someone can add this dependency." As I stated in my initial report, I do have emul-linux-x86-gtklibs installed. It's only gcc-4.4.7 I am having issues with, gcc-4.5.4 and gcc-4.6.3 emerge without errors.
I am sorry for the spam, but gcc-4.4.7 is emerging now. I don't know what changed since yesterday. I suspect it's possible that my rsync mirror wasn't up to date enough to include the necessary fixes until now.