[Webkit-unassigned] [Bug 36088] New: DumpRenderTree build failure: multiple definitions of symbol _kJSClassDefinitionEmpty

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Mar 13 10:40:32 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=36088

           Summary: DumpRenderTree build failure: multiple definitions of
                    symbol _kJSClassDefinitionEmpty
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Tools / Tests
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: dmacks at netspace.org


Platform: OS X 10.4/ppc with gtk built for x11 GUI and all dependencies at the
level of current GNOME2.28 releases. 

Bug: Building webkit-1.1.15.4 fails at the linking stage of
Programs/DumpRenderTree:


/bin/sh ./libtool  --tag=CXX   --mode=link g++ -Wall -W -Wcast-align
-Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k
-Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings
-Wno-unused-parameter -Wno-parentheses -fno-exceptions -fvisibility=hidden
-fvisibility-inlines-hidden -fno-rtti -I./WebKitTools/DumpRenderTree
-I./WebKitTools/DumpRenderTree/gtk -I./WebKit/gtk -I./WebKit/gtk
-DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1  
-DNDEBUG   -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/parser
-I./JavaScriptCore/wtf -I./DerivedSources -I./JavaScriptCore
-I./JavaScriptCore/API -I./JavaScriptCore/ForwardingHeaders
-I./JavaScriptCore/interpreter -I./JavaScriptCore/bytecode
-I./JavaScriptCore/bytecompiler -I./JavaScriptCore/debugger
-I./JavaScriptCore/jit -I./JavaScriptCore/pcre -I./JavaScriptCore/profiler
-I./JavaScriptCore/runtime -I./JavaScriptCore/wrec -I./JavaScriptCore/jit
-I./JavaScriptCore/assembler -I./JavaScriptCore/wtf/unicode
-I./JavaScriptCore/yarr -I./JavaScriptCore/pcre -I./JavaScriptCore/parser
-I./JavaScriptCore/runtime
-DTEST_PLUGIN_DIR=\"/sw/build.build/webkit-1.0.2-1.1.15.4-1/webkit-1.1.15.4/./TestNetscapePlugin/.libs\"
-fno-strict-aliasing -I./WebKitTools/DumpRenderTree
-I./WebKitTools/DumpRenderTree/gtk -I./WebKit/gtk -I./WebKit/gtk
-DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1  
-DNDEBUG   -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/parser
-I./JavaScriptCore/wtf -I./DerivedSources -I./JavaScriptCore
-I./JavaScriptCore/API -I./JavaScriptCore/ForwardingHeaders
-I./JavaScriptCore/interpreter -I./JavaScriptCore/bytecode
-I./JavaScriptCore/bytecompiler -I./JavaScriptCore/debugger
-I./JavaScriptCore/jit -I./JavaScriptCore/pcre -I./JavaScriptCore/profiler
-I./JavaScriptCore/runtime -I./JavaScriptCore/wrec -I./JavaScriptCore/jit
-I./JavaScriptCore/assembler -I./JavaScriptCore/wtf/unicode
-I./JavaScriptCore/yarr -I./JavaScriptCore/pcre -I./JavaScriptCore/parser
-I./JavaScriptCore/runtime
-DTEST_PLUGIN_DIR=\"/sw/build.build/webkit-1.0.2-1.1.15.4-1/webkit-1.1.15.4/./TestNetscapePlugin/.libs\"
-Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat
-Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute
-Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses
-fno-exceptions -fvisibility=hidden  -I/sw/lib/fontconfig2/include
-I/sw/include/cairo -I/sw/include/pixman-1 -I/sw/include/freetype2
-I/sw/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include/glib-2.0
-I/sw/lib/glib-2.0/include -I/sw/lib/fontconfig2/include -I/sw/include/gtk-2.0
-I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo
-I/sw/include/pango-1.0 -I/sw/include/pixman-1 -I/sw/include/freetype2
-I/sw/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include/glib-2.0
-I/sw/lib/glib-2.0/include -I/sw/include/libsoup-2.4 -O2 -no-fast-install
-no-install -L/sw/lib -o Programs/DumpRenderTree
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityUIElement.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-GCController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-WorkQueue.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityUIElementGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-DumpRenderTree.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-EventSender.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-GCControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-LayoutTestControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-WorkQueueItemGtk.o
libwebkit-1.0.la libJavaScriptCore.la  -L/sw/lib -lcairo -L/sw/lib
-L/sw/lib/fontconfig2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0
-lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype
-lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -L/sw/lib -lgobject-2.0
-lgthread-2.0 -lglib-2.0 -L/sw/lib -lsoup-2.4 -lgio-2.0 -lgobject-2.0
-lgmodule-2.0 -lglib-2.0 
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
libtool: link: g++ -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type
-Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute
-Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses
-fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti
-I./WebKitTools/DumpRenderTree -I./WebKitTools/DumpRenderTree/gtk
-I./WebKit/gtk -I./WebKit/gtk -DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1
-DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1 -DNDEBUG
-I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/parser
-I./JavaScriptCore/wtf -I./DerivedSources -I./JavaScriptCore
-I./JavaScriptCore/API -I./JavaScriptCore/ForwardingHeaders
-I./JavaScriptCore/interpreter -I./JavaScriptCore/bytecode
-I./JavaScriptCore/bytecompiler -I./JavaScriptCore/debugger
-I./JavaScriptCore/jit -I./JavaScriptCore/pcre -I./JavaScriptCore/profiler
-I./JavaScriptCore/runtime -I./JavaScriptCore/wrec -I./JavaScriptCore/jit
-I./JavaScriptCore/assembler -I./JavaScriptCore/wtf/unicode
-I./JavaScriptCore/yarr -I./JavaScriptCore/pcre -I./JavaScriptCore/parser
-I./JavaScriptCore/runtime
-DTEST_PLUGIN_DIR=\"/sw/build.build/webkit-1.0.2-1.1.15.4-1/webkit-1.1.15.4/./TestNetscapePlugin/.libs\"
-fno-strict-aliasing -I./WebKitTools/DumpRenderTree
-I./WebKitTools/DumpRenderTree/gtk -I./WebKit/gtk -I./WebKit/gtk
-DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1
-DNDEBUG -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/parser
-I./JavaScriptCore/wtf -I./DerivedSources -I./JavaScriptCore
-I./JavaScriptCore/API -I./JavaScriptCore/ForwardingHeaders
-I./JavaScriptCore/interpreter -I./JavaScriptCore/bytecode
-I./JavaScriptCore/bytecompiler -I./JavaScriptCore/debugger
-I./JavaScriptCore/jit -I./JavaScriptCore/pcre -I./JavaScriptCore/profiler
-I./JavaScriptCore/runtime -I./JavaScriptCore/wrec -I./JavaScriptCore/jit
-I./JavaScriptCore/assembler -I./JavaScriptCore/wtf/unicode
-I./JavaScriptCore/yarr -I./JavaScriptCore/pcre -I./JavaScriptCore/parser
-I./JavaScriptCore/runtime
-DTEST_PLUGIN_DIR=\"/sw/build.build/webkit-1.0.2-1.1.15.4-1/webkit-1.1.15.4/./TestNetscapePlugin/.libs\"
-Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat
-Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute
-Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses
-fno-exceptions -fvisibility=hidden -I/sw/lib/fontconfig2/include
-I/sw/include/cairo -I/sw/include/pixman-1 -I/sw/include/freetype2
-I/sw/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include/glib-2.0
-I/sw/lib/glib-2.0/include -I/sw/lib/fontconfig2/include -I/sw/include/gtk-2.0
-I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo
-I/sw/include/pango-1.0 -I/sw/include/pixman-1 -I/sw/include/freetype2
-I/sw/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include/glib-2.0
-I/sw/lib/glib-2.0/include -I/sw/include/libsoup-2.4 -O2 -o
Programs/.libs/DumpRenderTree
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityUIElement.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-GCController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o
WebKitTools/DumpRenderTree/Programs_DumpRenderTree-WorkQueue.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityUIElementGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-DumpRenderTree.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-EventSender.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-GCControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-LayoutTestControllerGtk.o
WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-WorkQueueItemGtk.o 
-L/sw/lib ./.libs/libwebkit-1.0.dylib /sw/lib/libenchant.dylib
-L/sw/lib/fontconfig2/lib /sw/lib/libgailutil.dylib /sw/lib/libintl.dylib
/sw/lib/libjpeg.dylib /sw/lib/libxslt.dylib /sw/lib/libiconv.dylib -lm
/sw/lib/libxml2.dylib /sw/lib/libpng14.dylib -lz /sw/lib/libsqlite3.dylib
-L/usr/X11R6/lib -lXt -lX11 ./.libs/libJavaScriptCore.a -licucore -lpthread
/sw/lib/libgtk-x11-2.0.dylib /sw/lib/libgdk-x11-2.0.dylib
/sw/lib/libatk-1.0.dylib /sw/lib/pango-ft219/lib/libpangoft2-1.0.dylib
/sw/lib/libgdk_pixbuf-2.0.dylib /sw/lib/pango-ft219/lib/libpangocairo-1.0.dylib
/sw/lib/libcairo.dylib /sw/lib/pango-ft219/lib/libpango-1.0.dylib
/sw/lib/freetype219/lib/libfreetype.dylib
/sw/lib/fontconfig2/lib/libfontconfig.dylib /sw/lib/libgthread-2.0.dylib
/sw/lib/libsoup-2.4.dylib /sw/lib/libgio-2.0.dylib /sw/lib/libgobject-2.0.dylib
/sw/lib/libgmodule-2.0.dylib /sw/lib/libglib-2.0.dylib
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol
_kJSClassDefinitionEmpty
./.libs/libwebkit-1.0.dylib(single module) definition of
_kJSClassDefinitionEmpty
./.libs/libJavaScriptCore.a(libJavaScriptCore_la-JSClassRef.o) definition of
_kJSClassDefinitionEmpty in section (__TEXT,__const)
collect2: ld returned 1 exit status
make: *** [Programs/DumpRenderTree] Error 1

That symbol is a const in JavaScriptCore/API/JSClassRef.cpp, a file whose
object is part of libJavaScriptCore.la. That lib is part of libwebkit-1.0.dylib
and that symbol is part of libwebkit's public ABI. DumpRenderTree links against
both libwebkit and libJavaScriptCore directly, so the symbol directly from
libJavaScriptCore collides with the (re)exported one from libwebkit.

I tried to build DumpRenderTree without direct link to libJavaScriptCore, but
that fails instead with:

/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
WTF::fastMalloc(unsigned long)
WTF::fastFree(void*)

so it really does need libJavaScriptCore functions that are not public
libwebkit bits. I then tried swapping the order of the libs in the linker
call--libJavaScriptCore (a private convenience lib, like a pile of .o) before
libwebkit ("external" public shared lib from the perspective of DumpRenderTree)
and linking succeeded.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list