I understend that glib 2.31 is not yet in portage. This version removed g_thread_init: x86_64-pc-linux-gnu-gcc -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g -DNDEBUG -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0_147-icedtea"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt/X11 -I../../../src/solaris/native/sun/awt/X11 -I/usr/include -DXAWT -DXAWT_HACK -I/var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/../../sun.awt/awt/CClassHeaders -I../../../src/solaris/native/sun/awt -I../../../src/solaris/native/sun/xawt -I../../../src/solaris/native/sun/jdga -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/java2d -I../../../src/share/native/sun/java2d/loops -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/font -I../../../src/solaris/native/sun/java2d -I../../../src/share/native/sun/java2d/pipe -I../../../src/share/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/x11 -I../../../src/share/native/sun/dc/path -I../../../src/share/native/sun/dc/doe -I../../../src/share/native/sun/awt/alphacomposite -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/solaris/native/sun/font -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/libdrm -DUSE_SYSTEM_GTK -DUSE_SYSTEM_CUPS -DUSE_SYSTEM_FONTCONFIG -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DUSE_SYSTEM_GIO -I/usr/X11R6/include/X11/extensions -I/usr/include/X11/extensions -I/usr/X11R6//include -Xlinker -O1 -Xlinker -version-script=mapfile-vers -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs -L/var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/lib/amd64 -Wl,-soname=libmawt.so -L/usr/X11R6//lib64 -lpthread -shared -mimpure-text -o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/lib/amd64/xawt/libmawt.so /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/XlibWrapper.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/XWindow.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/XToolkit.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11Color.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11SurfaceData.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_InputMethod.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/robot_common.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Robot.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/list.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/multiVis.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/initIDs.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_util.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Desktop.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_UNIXToolkit.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11FontScaler_md.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11TextRenderer_md.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/fontpath.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Insets.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Event.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11Renderer.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/X11PMBlitLoops.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLBlitLoops.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLBufImgOps.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLContext.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLFuncs.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskBlit.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskFill.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLPaints.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderQueue.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderer.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLSurfaceData.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLTextRenderer.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/OGLVertexCache.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/GLXGraphicsConfig.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/GLXSurfaceData.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/AccelGlyphCache.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Font.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/multi_font.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_AWTEvent.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_DrawingSurface.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/jawt.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/CUPSfuncs.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/debug_assert.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/debug_mem.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/debug_trace.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/debug_util.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/awt_Plugin.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKEngine.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKStyle.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/rect.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/sun_awt_X11_GtkFileDialogPeer.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/XRSurfaceData.o /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/XRBackendNative.o -lm -lawt -lXext -lX11 -lXrender -ldl -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs -L/var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/lib/amd64 -Wl,-soname=libmawt.so -lXtst -lXi -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lcups -lfontconfig -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ljava -L/var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/lib/amd64/server -ljvm -lc /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk.build-boot/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o: In function `gtk2_load': /var/tmp/paludis/dev-java-icedtea-7.2.0-r5/work/icedtea-2.0/openjdk-boot/jdk/make/sun/xawt/../../../src/solaris/native/sun/awt/gtk2_interface.c:218: undefined reference to `g_thread_init' collect2: ld returned 1 exit status
*** Bug 400715 has been marked as a duplicate of this bug. ***
I'm seeing the same. If I understand correctly the glib change is that libgthread-2.0 is now a dummy library containing just the deprecated g_thtread_init function, which no longer does anything. The build fails not so much because g_thread_init was removed, but because -lgthread-2.0 is not in the linker flags. It was probably pulled in indirectly in the past. Adding -lgthread-2.0 to the linker flags (upstream mentions pkg-config --libs gthread-2.0 for getting this) should fix this, and should also work on older glibs. Alternatively g_thread_init could be removed, but it seems that is unsafe on glib <= .30, so the former fix is probably easier. I'll see if I can cook up a patch, but as I'm expecting the icedtea build system to be somewhat hairy it might take a while.
Created attachment 303181 [details, diff] explicitly link to gthread The attached patch gets me past it. Not 100% sure it's the best place to add these linker flags, though.
Looks correct. Also posted here: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-February/017367.html
Fixed for icedtea 7.2.0.1 and 7.2.1, 6.x aren't affected as they use internal gtk headers. Thanks to Maciej Piechotka for the report and Marien Zwart for the patch.