Bug 34387

Summary: GtkLauncher is not compiled when --enable-mathml specified
Product: WebKit Reporter: marinalan
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cmsigler, commit-queue, hamaji
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch to fix WebKitGTK build when --enable-mathml specified.
none
Patch to fix WebKitGTK build when --enable-mathml specified.
hamaji: review-
Patch to fix WebKitGTK build when --enable-mathml specified. none

Description marinalan 2010-01-30 22:05:12 PST
already second week, after

svn update
./autogen.sh --enable-web-sockets --enable-mathml --enable-geolocation --enable-3D-transforms --enable-filters
make

it compiles everything, except GtkLauncher.
Last messages on console are:

--------------------------------------------------------------
 CXX    JavaScriptCore/Programs_jsc-jsc.o
  CXXLD  Programs/jsc
  CC     JavaScriptCore/API/tests/Programs_minidom-JSNode.o
  CC     JavaScriptCore/API/tests/Programs_minidom-JSNodeList.o
  CC     JavaScriptCore/API/tests/Programs_minidom-Node.o
  CC     JavaScriptCore/API/tests/Programs_minidom-NodeList.o
  CC     JavaScriptCore/API/tests/Programs_minidom-minidom.o
  CCLD   Programs/minidom
  CC     WebKitTools/GtkLauncher/Programs_GtkLauncher-main.o
  CCLD   Programs/GtkLauncher
./.libs/libwebkit-1.0.so: undefined reference to `WebCore::RenderMathMLBlock::RenderMathMLBlock(WebCore::Node*)'
collect2: ld returned 1 exit status
make[1]: *** [Programs/GtkLauncher] Error 1
make[1]: Leaving directory `/home/marina/src/WebKit'
make: *** [all] Error 2
Comment 1 marinalan 2010-01-30 22:06:10 PST
My distribution is fedora 12
Comment 2 Clemmitt Sigler 2010-02-01 09:25:36 PST
(In reply to comment #0)
> already second week, after
> 
...
>   CC     WebKitTools/GtkLauncher/Programs_GtkLauncher-main.o
>   CCLD   Programs/GtkLauncher
> ./.libs/libwebkit-1.0.so: undefined reference to
> `WebCore::RenderMathMLBlock::RenderMathMLBlock(WebCore::Node*)'
> collect2: ld returned 1 exit status
> make[1]: *** [Programs/GtkLauncher] Error 1
> make[1]: Leaving directory `/home/marina/src/WebKit'
> make: *** [all] Error 2

I can confirm this build error.  Specifics:

- Gentoo 10.0/current on amd64 (x86_64) platform (this is wholly independent of marinalan's Fedora 12 dist., FWIW)
- svn update run, updated to revision r54134
- Ran the following:
   $ make distclean
   $ ./autogen.sh --enable-mathml
   $ ./configure --enable-mathml
   $ make
- Identical build error as reported by marinalan
- Building without --enable-mathml succeeds

In inspecting my local dir tree after the build failed, I see that neither WebCore/mathml/RenderMathMLBlock.cpp nor WebCore/mathml/MathMLTextElement.cpp is being built.

I have little experience in working with autoconf/automake, but I'm trying to find where the build configuration problem lies.  I think it's in WebCore/GNUmakefile.am.  Will report back if I find a fix for the build error I'm experiencing.

Clemmitt
Comment 3 Clemmitt Sigler 2010-02-01 10:18:02 PST
(In reply to comment #2)
> I can confirm this build error.  Specifics:
...
> Will report back if I find a fix for the build error
> I'm experiencing.

Yes, the problem is in WebCore/GNUmakefile.am.  It appears to me that when r53764 (or r52721) was committed, GNUmakefile.am wasn't updated correspondingly.  Here is a QnD patch:

=== Cut here -- START ===
--- WebCore/GNUmakefile.am.orig	2010-02-01 09:32:29.000000000 -0500
+++ WebCore/GNUmakefile.am	2010-02-01 12:20:18.000000000 -0500
@@ -2713,7 +2713,11 @@
 	WebCore/mathml/MathMLInlineContainerElement.cpp \
 	WebCore/mathml/MathMLInlineContainerElement.h  \
 	WebCore/mathml/MathMLMathElement.cpp \
-	WebCore/mathml/MathMLMathElement.h
+	WebCore/mathml/MathMLMathElement.h \
+	WebCore/mathml/MathMLTextElement.cpp \
+	WebCore/mathml/MathMLTextElement.h \
+	WebCore/mathml/RenderMathMLBlock.cpp \
+	WebCore/mathml/RenderMathMLBlock.h
 
 webcore_built_sources += \
 	DerivedSources/MathMLElementFactory.cpp \
=== Cut here -- END ===

I hope someone with commit privileges will be able to patch this into the trunk.  TIA for your help, and for WebKit.

Clemmitt
Comment 4 Clemmitt Sigler 2010-02-03 16:07:36 PST
(In reply to comment #3)

I wonder what one does to get the attention of a developer, if no one goes through bugzilla examining reported problems or looking for fixes?  I'll try again by attaching a patch for this problem.  Hopefully the patch will be reviewed.

Clemmitt
Comment 5 Clemmitt Sigler 2010-02-03 16:15:49 PST
Created attachment 48072 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

Patch to fix WebKitGTK build when --enable-mathml specified.
Comment 6 Clemmitt Sigler 2010-02-03 16:17:48 PST
Created attachment 48073 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

Patch to fix WebKitGTK build when --enable-mathml specified.
Comment 7 Shinichiro Hamaji 2010-02-04 04:20:58 PST
Comment on attachment 48073 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

Thanks for sending this patch. This seems to be OK, but please add a ChangeLog entry for your change. WebKitTools/Scripts/prepare-ChangeLog should do the trick. Please read the following document for the detail.

http://webkit.org/coding/contributing.html

For the record, this is the corresponding change: http://trac.webkit.org/changeset/53764
Comment 8 Shinichiro Hamaji 2010-02-04 04:21:56 PST
Changing the title of this bug
Comment 9 Clemmitt Sigler 2010-02-04 07:10:50 PST
(In reply to comment #7)
> (From update of attachment 48073 [details])
> Thanks for sending this patch. This seems to be OK, but please add a ChangeLog
> entry for your change. WebKitTools/Scripts/prepare-ChangeLog should do the
> trick.

My apologies.  I don't think I've contributed a WebKit patch for over year and a half; my memory failed me :^)  I'll get the ChangeLog entry together next.

> For the record, this is the corresponding change:
> http://trac.webkit.org/changeset/53764

Thanks for looking up that change.

Clemmitt
Comment 10 Clemmitt Sigler 2010-02-04 13:27:17 PST
Created attachment 48163 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

Patch to fix WebKitGTK build when --enable-mathml specified.
Comment 11 David Levin 2010-02-04 16:14:01 PST
Comment on attachment 48163 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

> Index: WebCore/ChangeLog
> +        https://bugs.webkit.org/show_bug.cgi?id=34387
> +
> +        No new tests.

Typically one would say something like "No change in functionality so no new tests." or "Covered by existing tests for MathML."
Comment 12 WebKit Commit Bot 2010-02-04 16:36:03 PST
Comment on attachment 48163 [details]
Patch to fix WebKitGTK build when --enable-mathml specified.

Clearing flags on attachment: 48163

Committed r54386: <http://trac.webkit.org/changeset/54386>
Comment 13 WebKit Commit Bot 2010-02-04 16:36:10 PST
All reviewed patches have been landed.  Closing bug.
Comment 14 Clemmitt Sigler 2010-02-04 18:40:27 PST
(In reply to comment #11)
> Typically one would say something like "No change in functionality so no new
> tests." or "Covered by existing tests for MathML."

David, thanks for the pointer and landing :^)

Clemmitt