#23464 closed defect (worksforme)
webkit-gtk 1.1.15.4: multiple definitions of symbol _kJSClassDefinitionEmpty
Reported by: | vinc17@… | Owned by: | myschizobuddy@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | guy.linton@… | |
Port: | webkit-gtk |
Description
I get the following error under Mac OS X Tiger:
[...] CCLD Programs/unittests/testhttpbackend 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[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2 Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_Users_vinc17_software_dports_www_webkit-gtk/work/webkit-1.1.15.4" && /usr/bin/make -j2 all " returned error 2
Attachments (2)
Change History (13)
comment:1 Changed 15 years ago by vinc17@…
comment:2 Changed 15 years ago by guy.linton@…
I get the same error, also on Mac OS X Tiger (10.4.11), but in my case, the build has -j1 in the make command:
---> 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/bin/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: The following dependencies failed to build: webkit-gtk Error: Status 1 encountered during processing.
Changed 15 years ago by guy.linton@…
Attachment: | webkit-gtk multiple definitions.txt added |
---|
Debug log of webkit-gtk install failure
comment:3 Changed 15 years ago by guy.linton@…
This seems to be noted as a bug upstream: https://bugs.webkit.org/show_bug.cgi?id=36088, but I am not sure whether it is being fixed.
comment:4 follow-up: 5 Changed 15 years ago by guy.linton@…
I have applied the patch in bugs.webkit.org bug 36088 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).
Do I need to do something else to make the patch to the GNUmakefile.am file take effect?
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:5 Changed 15 years ago by vinc17@…
Replying to guy.linton@…:
Do I need to do something else to make the patch to the GNUmakefile.am file take effect?
Automake needs to be rerun. The first log doesn't contain the beginning of the output, but from the second one, it seems that you haven't installed the automake port (the warning message is a bit strange, though... this could be another problem).
comment:6 follow-up: 7 Changed 15 years ago by guy.linton@…
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).
Changed 15 years ago by guy.linton@…
Attachment: | configurelog2.txt added |
---|
Debug log of webkit-gtk install failure with link order changed
comment:7 Changed 15 years ago by vinc17@…
Replying to guy.linton@…:
As far as I can understand, MacPorts does not run automake by default, hence I have not run it at all.
This is not specific to MacPorts. The autotools (automake, autoconf, libtool...) are utilities for developers. They should only be needed when some files of a tarball are patched (e.g. Makefile.am, configure.in) or when the source files are taken from a version control system (Subversion, git...). Depending on how the Makefile has been generated, there can be some rules to automatically (re)run the autotools when this is needed (a.k.a. maintainer mode).
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?
I agree.
comment:9 Changed 14 years ago by dbevans (David B. Evans)
Cc: | devans@… removed |
---|
comment:10 Changed 14 years ago by elelay (Eric Le Lay)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
hi, webkit-gtk has been updated to 1.2.4.
It builds fine for me on 10.4.11 ppc G4.
comment:11 Changed 14 years ago by dbevans (David B. Evans)
webkit-gtk was updated to 1.2.5 in r72215 which also builds correctly on 10.4.11 ppc.
Actually the error is due to
(this is because -j2 was used).