[Webkit-unassigned] [Bug 112368] New: WebKit doesn't build with --disable-xslt: libxslt/transform.h: No such file or directory

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 14 11:15:26 PDT 2013


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

           Summary: WebKit doesn't build with --disable-xslt:
                    libxslt/transform.h: No such file or directory
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Tools / Tests
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: tobiasmue at gnome.org
                CC: mrobinson at webkit.org, csaavedra at igalia.com


I tried to save compilation time by disabling as many optional things as possible. One of them being XSLT as per ./configure --help. As XSLT is optional, I didn't install it.

But then WebKit doesn't build:
  CXX    DerivedSources/WebCore/libWebCore_la-JSHTMLAllCollection.lo
  CXX    DerivedSources/WebCore/libWebCore_la-JSHTMLAnchorElement.lo
In file included from ./Source/WebCore/xml/XSLTProcessor.h:29:0,
                 from DerivedSources/WebCore/JSXSLTProcessor.h:27,
                 from DerivedSources/WebCore/JSDOMWindow.cpp:590:
./Source/WebCore/xml/XSLStyleSheet.h:33:31: fatal error: libxslt/transform.h: No such file or directory
compilation terminated.
make[1]: *** [DerivedSources/WebCore/libWebCore_la-JSDOMWindow.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
  CXX    DerivedSources/WebCore/libWebCore_la-JSHTMLAppletElement.lo
make[1]: Leaving directory `/tmp/WebKit'
make: *** [all] Error 2


When XSLT is installed, but when WebKit is configured with --disable-xslt:

libtool: link: g++ -fvisibility-inlines-hidden -fno-rtti -g3 -pipe -O2 -Wno-c++11-compat -Wno-c++11-extensions -O2 -Wl,--unresolved-symbols=ignore-in-object-files -Wl,-O0 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed -o Programs/.libs/WebKitPluginProcess Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-ArgumentCoders.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-ArgumentDecoder.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-ArgumentEncoder.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-Attachment.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-BinarySemaphore.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-Connection.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-DataReference.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-MessageDecoder.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-MessageEncoder.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-MessageReceiverMap.o Source/WebKit2/Platform/CoreIPC/Programs_WebKitPluginProcess-StringReference.o Source/WebKit2/Platform/CoreIPC/unix/Programs_WebKitPluginProcess-AttachmentUnix.o Source/WebKit2/Platform/CoreIPC/unix/Programs_WebKitPluginProcess-ConnectionUnix.o Source/WebKit2/Platform/Programs_WebKitPluginProcess-Module.o Source/WebKit2/Platform/Programs_WebKitPluginProcess-WorkQueue.o Source/WebKit2/Platform/gtk/Programs_WebKitPluginProcess-ModuleGtk.o Source/WebKit2/Platform/gtk/Programs_WebKitPluginProcess-WorkQueueGtk.o Source/WebKit2/Platform/unix/Programs_WebKitPluginProcess-SharedMemoryUnix.o Source/WebKit2/PluginProcess/Programs_WebKitPluginProcess-PluginControllerProxy.o Source/WebKit2/PluginProcess/Programs_WebKitPluginProcess-PluginCreationParameters.o Source/WebKit2/PluginProcess/Programs_WebKitPluginProcess-PluginProcess.o Source/WebKit2/PluginProcess/Programs_WebKitPluginProcess-WebProcessConnection.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-PluginProcessCreationParameters.o Source/WebKit2/PluginProcess/unix/Programs_WebKitPluginProcess-PluginControllerProxyUnix.o Source/WebKit2/PluginProcess/unix/Programs_WebKitPluginProcess-PluginProcessMainUnix.o Source/WebKit2/PluginProcess/unix/Programs_WebKitPluginProcess-PluginProcessUnix.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-ChildProcess.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-ChildProcessProxy.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-ConnectionStack.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-NPIdentifierData.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-NPObjectMessageReceiver.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-NPObjectProxy.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-NPRemoteObjectMap.o Source/WebKit2/Shared/Plugins/Programs_WebKitPluginProcess-NPVariantData.o Source/WebKit2/Shared/Plugins/Netscape/Programs_WebKitPluginProcess-NetscapePluginModule.o Source/WebKit2/Shared/Plugins/Netscape/x11/Programs_WebKitPluginProcess-NetscapePluginModuleX11.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-ShareableBitmap.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebCoreArgumentCoders.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebEvent.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebKeyboardEvent.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebKit2Initialize.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebMouseEvent.o Source/WebKit2/Shared/Programs_WebKitPluginProcess-WebWheelEvent.o Source/WebKit2/Shared/gtk/Programs_WebKitPluginProcess-NativeWebKeyboardEventGtk.o Source/WebKit2/Shared/gtk/Programs_WebKitPluginProcess-NativeWebWheelEventGtk.o Source/WebKit2/Shared/gtk/Programs_WebKitPluginProcess-NativeWebMouseEventGtk.o Source/WebKit2/Shared/gtk/Programs_WebKitPluginProcess-ProcessExecutablePathGtk.o Source/WebKit2/Shared/gtk/Programs_WebKitPluginProcess-WebEventFactory.o Source/WebKit2/Shared/cairo/Programs_WebKitPluginProcess-ShareableBitmapCairo.o Source/WebKit2/Shared/soup/Programs_WebKitPluginProcess-WebCoreArgumentCodersSoup.o Source/WebKit2/UIProcess/Plugins/unix/Programs_WebKitPluginProcess-PluginProcessProxyUnix.o Source/WebKit2/WebProcess/Plugins/Programs_WebKitPluginProcess-Plugin.o Source/WebKit2/WebProcess/Plugins/Netscape/Programs_WebKitPluginProcess-NPRuntimeUtilities.o Source/WebKit2/WebProcess/Plugins/Netscape/Programs_WebKitPluginProcess-NetscapeBrowserFuncs.o Source/WebKit2/WebProcess/Plugins/Netscape/Programs_WebKitPluginProcess-NetscapePlugin.o Source/WebKit2/WebProcess/Plugins/Netscape/Programs_WebKitPluginProcess-NetscapePluginStream.o Source/WebKit2/WebProcess/Plugins/Netscape/x11/Programs_WebKitPluginProcess-NetscapePluginX11.o Source/WebKit2/unix/Programs_WebKitPluginProcess-PluginMainUnix.o DerivedSources/WebKit2/Programs_WebKitPluginProcess-NPObjectMessageReceiverMessageReceiver.o DerivedSources/WebKit2/Programs_WebKitPluginProcess-PluginControllerProxyMessageReceiver.o DerivedSources/WebKit2/Programs_WebKitPluginProcess-PluginProcessMessageReceiver.o DerivedSources/WebKit2/Programs_WebKitPluginProcess-WebProcessConnectionMessageReceiver.o -Wl,--export-dynamic -pthread  -L/opt/gnome2/lib64 ./.libs/libjavascriptcoregtk-3.0.so -lpthread ./.libs/libWebCore.a ./.libs/libWebCorePlatform.a ./.libs/libWebCoreGtk2.a -lgmodule-2.0 -lgthread-2.0 -lgailutil -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -ljpeg -lsecret-1 -lsoup-2.4 -lgio-2.0 -lxml2 -lGL -ldl -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lpng15 -lsqlite3 -licui18n -licuuc -licudata -lwebp -lXrender -lXt -lX11 -lz -lrt -pthread -Wl,-rpath -Wl,/opt/gnome2/lib64
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSetCtxtSecurityPrefs'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltNextImport'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSetSecurityPrefs'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltQuoteUserParams'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltTransformError'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltNewTransformContext'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltNewSecurityPrefs'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSecurityForbid'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSaveResultTo'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltFreeTransformContext'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltComputeSortResult'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltRegisterExtFunction'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltApplyStylesheetUser'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltGetNsProp'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltLoadStylesheetPI'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSetCtxtSortFunc'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltEvalAttrValueTemplate'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltFreeSecurityPrefs'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltParseStylesheetDoc'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltFreeStylesheet'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltSetLoaderFunc'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `xsltFunctionNodeSet'
collect2: error: ld returned 1 exit status
make[1]: *** [Programs/WebKitWebProcess] Error 1


the following objects need XSLT symbols:
$ find Source/ .libs/ -name '*.o' | parallel "nm {} | (grep 'U xslt' && echo {})"
                 U xsltGetNsProp
                 U xsltLoadStylesheetPI
                 U xsltParseStylesheetDoc
Source/WebCore/xml/.libs/libWebCore_la-XSLStyleSheetLibxslt.o
                 U xsltApplyStylesheetUser
                 U xsltFreeSecurityPrefs
                 U xsltFreeStylesheet
                 U xsltFreeTransformContext
                 U xsltNewSecurityPrefs
                 U xsltNewTransformContext
                 U xsltNextImport
                 U xsltQuoteUserParams
                 U xsltSaveResultTo
                 U xsltSecurityForbid
                 U xsltSetCtxtSecurityPrefs
                 U xsltSetCtxtSortFunc
                 U xsltSetLoaderFunc
                 U xsltSetSecurityPrefs
Source/WebCore/xml/.libs/libWebCore_la-XSLTProcessorLibxslt.o
                 U xsltComputeSortResult
                 U xsltEvalAttrValueTemplate
                 U xsltTransformError
Source/WebCore/xml/.libs/libWebCore_la-XSLTUnicodeSort.o
                 U xsltFunctionNodeSet
                 U xsltRegisterExtFunction
Source/WebCore/xml/.libs/libWebCore_la-XSLTExtensions.o


I configured like this:
$ head config.log 
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by WebKitGTK configure 2.1.0, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --disable-xslt


One solution is to fix the build system to not depend on XSLT stuff, i.e. it may be possible to not include the objects mentioned in libWebCore.
But I know next to nothing about it so it is way easier for me to depend on XSLT. Also, nothing ever uses ENABLE_XSLT.
So I wrote the patch attached.

-- 
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