WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
112368
WebKit doesn't build with --disable-xslt: libxslt/transform.h: No such file or directory
https://bugs.webkit.org/show_bug.cgi?id=112368
Summary
WebKit doesn't build with --disable-xslt: libxslt/transform.h: No such file o...
Tobias Mueller
Reported
2013-03-14 11:17:51 PDT
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.
Attachments
Patch making XSLT mandatory
(5.48 KB, patch)
2013-03-14 11:20 PDT
,
Tobias Mueller
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Tobias Mueller
Comment 1
2013-03-14 11:20:24 PDT
Created
attachment 193156
[details]
Patch making XSLT mandatory
Martin Robinson
Comment 2
2013-03-14 11:25:48 PDT
Comment on
attachment 193156
[details]
Patch making XSLT mandatory Okay. This seems reasonable.
Martin Robinson
Comment 3
2013-03-14 15:19:14 PDT
Comment on
attachment 193156
[details]
Patch making XSLT mandatory I actually just realized that this does not take care of the automake flag in SetupAutomake.m4.
Tobias Mueller
Comment 4
2013-03-14 16:45:01 PDT
(In reply to
comment #3
)
> I actually just realized that this does not take care of the automake flag in SetupAutomake.m4.
Like which? $ grep -ir xslt Source/autotools/ Source/autotools/Versions.m4:m4_define([libxslt_required_version], [1.1.7]) Source/autotools/FindDependencies.m4:PKG_CHECK_MODULES([LIBXSLT],[libxslt >= libxslt_required_version]) Source/autotools/FindDependencies.m4:AC_SUBST([LIBXSLT_CFLAGS]) Source/autotools/FindDependencies.m4:AC_SUBST([LIBXSLT_LIBS]) $ The only relevant reference I can see is in Source/WTF/wtf/FeatureDefines.h but I suppose that was forgotten with the cleanup by
bug 111830
, but it seems to be gracefully handled.
Martin Robinson
Comment 5
2013-03-14 16:52:52 PDT
(In reply to
comment #4
)
> (In reply to
comment #3
) > > I actually just realized that this does not take care of the automake flag in SetupAutomake.m4. > > Like which?
Ah! I missed
https://bugs.webkit.org/show_bug.cgi?id=111830
.
WebKit Review Bot
Comment 6
2013-03-14 17:12:16 PDT
Comment on
attachment 193156
[details]
Patch making XSLT mandatory Clearing flags on attachment: 193156 Committed
r145859
: <
http://trac.webkit.org/changeset/145859
>
WebKit Review Bot
Comment 7
2013-03-14 17:12:20 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug