Bug 36088 - [gtk] DumpRenderTree build failure: multiple definitions of symbol _kJSClassDefinitionEmpty
: [gtk] DumpRenderTree build failure: multiple definitions of symbol _kJSClassD...
Status: RESOLVED DUPLICATE of bug 49877
: WebKit
Tools / Tests
: 528+ (Nightly build)
: Macintosh Mac OS X 10.4
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2010-03-13 10:40 PST by
Modified: 2011-08-07 02:38 PST (History)


Attachments
Link private/convenience lib before public one (1.01 KB, patch)
2010-03-14 10:43 PST, Daniel Macks
eric: review-
Review Patch | Details | Formatted Diff | Diff
Debug log of failed link (141.35 KB, text/plain)
2010-03-30 11:14 PST, Tim Lyons
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-03-13 10:40:32 PST
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.
------- Comment #1 From 2010-03-13 10:42:26 PST -------
This is actually not tested against the nightly build and I don't know how to map public webkitgtk.org releases to webkit.org versioning, but the makefile segment looks the same in current SVN trunk.
------- Comment #2 From 2010-03-14 10:43:36 PST -------
Created an attachment (id=50674) [details]
Link private/convenience lib before public one
------- Comment #3 From 2010-03-23 04:41:27 PST -------
I have applied the patch through a MacPorts Portfile, and confirmed that WebKitTools/GNUmakefile.am is correctly updated. However, it doesn't make any difference to the build failure. (This is on Mac OS X 10.4.11 PowerPC G5)


Portfile changed since last build; discarding previous state.
--->  Computing dependencies for webkit-gtk
--->  Fetching webkit-gtk
--->  Verifying checksum(s) for webkit-gtk
--->  Extracting webkit-gtk
--->  Applying patches to webkit-gtk
--->  Configuring webkit-gtk
--->  Building webkit-gtk
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_webkit-gtk/work/webkit-1.1.15.4" && /usr/bin/make -j1 all " returned error 2
Command output:   CC     JavaScriptCore/API/tests/Programs_minidom-NodeList.o
  CC     JavaScriptCore/API/tests/Programs_minidom-minidom.o
  CCLD   Programs/minidom
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
  CC     WebKitTools/GtkLauncher/Programs_GtkLauncher-main.o
  CCLD   Programs/GtkLauncher
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
  CXX    WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityController.o
  CXX    WebKitTools/DumpRenderTree/Programs_DumpRenderTree-AccessibilityUIElement.o
  CXX    WebKitTools/DumpRenderTree/Programs_DumpRenderTree-GCController.o
  CXX    WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o
  CXX    WebKitTools/DumpRenderTree/Programs_DumpRenderTree-WorkQueue.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityControllerGtk.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityUIElementGtk.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-DumpRenderTree.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-EventSender.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-GCControllerGtk.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-LayoutTestControllerGtk.o
  CXX    WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-WorkQueueItemGtk.o
  CXXLD  Programs/DumpRenderTree
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
/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[1]: *** [Programs/DumpRenderTree] Error 1
make: *** [all] Error 2

Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.


 The GNUmakefile at the top level still has the Programs_DumpRenderTree_LDADD in the wrong order, but manually changing the order of these gives a warning about the process, but ultimately still gives the same error:

--->  Computing dependencies for webkit-gtk
--->  Building webkit-gtk
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_webkit-gtk/work/webkit-1.1.15.4" && /usr/bin/make -j1 all " returned error 2
Command output:          you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
  GEN    DerivedSources/webkitenumtypes.cpp
  GEN    stamp-webkitenumtypes.h
/usr/bin/make  all-am
 cd . && /bin/sh /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_webkit-gtk/work/webkit-1.1.15.4/autotools/missing --run automake-1.11 --foreign GNUmakefile
configure.ac:42: version mismatch.  This is Automake 1.11.1,
configure.ac:42: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:42: comes from Automake 1.11.  You should recreate
configure.ac:42: aclocal.m4 with aclocal and run automake again.
WARNING: `automake-1.11' is probably too old.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
  CXX    DerivedSources/libwebkit_1_0_la-webkitenumtypes.lo
  CXXLD  libwebkit-1.0.la
warning: no debug map in executable (-arch ppc)
  CCLD   Programs/GtkLauncher
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
  CXXLD  Programs/DumpRenderTree
libtool: link: warning: `-no-install' is ignored for powerpc-apple-darwin8.11.0
libtool: link: warning: assuming `-no-fast-install' instead
/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[1]: *** [Programs/DumpRenderTree] Error 1
make: *** [all] Error 2

Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.
------- Comment #4 From 2010-03-25 01:44:25 PST -------
(From update of attachment 50674 [details])
Please explain in the ChangeLog why this fixes the build failure.
------- Comment #5 From 2010-03-25 22:03:50 PST -------
(In reply to comment #3)

>  The GNUmakefile at the top level still has the Programs_DumpRenderTree_LDADD
> in the wrong order, but manually changing the order of these gives a warning
> about the process, but ultimately still gives the same error:

Is this when also changing in the WebKitTools/GNUmakefile.am template, or just in the derived GNUmakefile.in derived file? The warnings suggest you are changing some template still, rather than just the higher level files in the built set. Or else if you are going to patch the low-level WebKitTools/GNUmakefile.am, propagate that change by redoing the autotools chain (autoreconf, or some similar command, not sure what is the recommended way for the webkit build system).

Can you get MacPorts to give a more verbose build, so you can verify that the order is changed in the actual linker call? 'make V=1' or passing --disable-silent-rules to ./configure or something like that? Is the -d flag relevant to debugging the build or just debugging the macports process?
------- Comment #6 From 2010-03-30 11:13:06 PST -------
(In reply to comment #5)
> (In reply to comment #3)
> 
> 
> Is this when also changing in the WebKitTools/GNUmakefile.am template, or just
> in the derived GNUmakefile.in derived file? The warnings suggest you are
> changing some template still, rather than just the higher level files in the
> built set. Or else if you are going to patch the low-level
> WebKitTools/GNUmakefile.am, propagate that change by redoing the autotools
> chain (autoreconf, or some similar command, not sure what is the recommended
> way for the webkit build system).
> 
> Can you get MacPorts to give a more verbose build, so you can verify that the
> order is changed in the actual linker call? 'make V=1' or passing
> --disable-silent-rules to ./configure or something like that? Is the -d flag
> relevant to debugging the build or just debugging the macports process?



As far as I can understand, MacPorts does not run automake by default, hence I have not run it at all.

I have now edited Makefile.in and run the build part again with MacPorts debug output, and I have now managed to change the order of the link (see the debug output configurelog2.txt attached: the last link includes:

-L/opt/local/lib ./.libs/libJavaScriptCore.a ./.libs/libwebkit-1.0.dylib /opt/local/lib/libenchant.dylib)


(I changed GNUmakefile.in)

However, it still gives the error about multiple definitions of symbol _kJSClassDefinitionEmpty.

I don't understand why changing the order would avoid the duplicate: if the symbol is defined twice surely it is defined twice whatever the order?

(Since I am not running automake, I think the warning is indeed a separate problem, and probably just a warning when the build is running, and reporting on the files it is using).
------- Comment #7 From 2010-03-30 11:14:09 PST -------
Created an attachment (id=52057) [details]
Debug log of failed link
------- Comment #8 From 2011-08-07 02:38:40 PST -------
I think this problem was a side effect of the fact that two copies of JavaScriptCore were compiled into DumpRenderTree. Free free to re-open this issue if it's still a problem on trunk.

*** This bug has been marked as a duplicate of bug 49877 ***