| Summary: | webkit: Buildroot Libtool Patch Fails | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | Dan Dart <dandart> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED FIXED | ||
| Severity: | enhancement | CC: | buildroot |
| Priority: | P5 | ||
| Version: | unspecified | ||
| Target Milestone: | 2010.05 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | i686-pc-linux-gnu | Target: | i386-pc-linux-uclibc |
| Build: | i386-pc-linux-gnu | ||
| Attachments: | gperf package with host gperf support | ||
Webkit uses libtool 2.x, while Buildroot patch for libtool only applies to 1.5.x versions of libtool. Therefore, Webkit Makefile should set WEBKIT_LIBTOOL_PATCH=NO. However, even with this fix, I have libtool issues while compiling Webkit, which is why I haven't submitted the fix yet. But since you're compiling for a x86 target on a x86 host, setting WEBKIT_LIBTOOL_PATCH = NO might be enough for you. Yes it did go past, bear in mind the host needs gperf to compile it. Maybe that should be added to host tools
However I now get:
make[2]: *** [JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ./WebCore/platform/graphics/transforms/TransformationMatrix.h:36,
from ./WebCore/rendering/style/RenderStyle.h:28,
from ./WebCore/rendering/RenderObject.h:33,
from WebCore/accessibility/AXObjectCache.cpp:46:
/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo/cairo.h:1550:5: warning: "CAIRO_HAS_PNG_FUNCTIONS" is not defined
/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo/cairo.h:1682:5: warning: "CAIRO_HAS_PNG_FUNCTIONS" is not defined
mv -f WebCore/accessibility/.deps/libWebCore_la-AXObjectCache.Tpo WebCore/accessibility/.deps/libWebCore_la-AXObjectCache.Plo
make[2]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552'
make: *** [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_built] Error 2
Created attachment 605 [details]
gperf package with host gperf support
(In reply to comment #2) > Yes it did go past, bear in mind the host needs gperf to compile it. Maybe that > should be added to host tools > > However I now get: > make[2]: *** [JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo] Error 1 > make[2]: *** Waiting for unfinished jobs.... > In file included from > ./WebCore/platform/graphics/transforms/TransformationMatrix.h:36, > from ./WebCore/rendering/style/RenderStyle.h:28, > from ./WebCore/rendering/RenderObject.h:33, > from WebCore/accessibility/AXObjectCache.cpp:46: > /home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo/cairo.h:1550:5: > warning: "CAIRO_HAS_PNG_FUNCTIONS" is not defined > /home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo/cairo.h:1682:5: > warning: "CAIRO_HAS_PNG_FUNCTIONS" is not defined > mv -f WebCore/accessibility/.deps/libWebCore_la-AXObjectCache.Tpo > WebCore/accessibility/.deps/libWebCore_la-AXObjectCache.Plo > make[2]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552' > make: *** [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_built] > Error 2 > WebKit requires cairo to be built with png support. That can be enabled from the menuconfig to get things building. I need to investigate under which circumstances WebKit uses cairo and it's PNG support. Then it should select it. Done now and now getting JS compilation errors. In file included from JavaScriptCore/AllInOneFile.cpp:47: JavaScriptCore/runtime/Collector.cpp: In function ‘void* JSC::currentThreadStackBase()’: JavaScriptCore/runtime/Collector.cpp:451: error: ‘pthread_getattr_np’ was not declared in this scope mv -f WebCore/accessibility/.deps/libWebCore_la-AccessibilityList.Tpo WebCore/accessibility/.deps/libWebCore_la-AccessibilityList.Plo ./doltlibtool --tag=CXX --mode=compile /home/dan/xenon/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-g++ -Os -pipe -Os -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include -I/home/dan/xenon/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/xenon/buildroot/build_i386/staging_dir/ -isysroot /home/dan/xenon/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -I. -DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1 -DNDEBUG -I./WebCore -I./WebCore/accessibility -I./WebCore/bindings/js -I./WebCore/bridge -I./WebCore/bridge/c -I./WebCore/css -I./WebCore/dom -I./WebCore/editing -I./WebCore/history -I./WebCore/html -I./WebCore/inspector -I./WebCore/loader -I./WebCore/loader/appcache -I./WebCore/loader/archive -I./WebCore/loader/icon -I./WebCore/page -I./WebCore/page/animation -I./WebCore/platform -I./WebCore/platform/animation -I./WebCore/platform/graphics -I./WebCore/platform/graphics/filters -I./WebCore/platform/graphics/transforms -I./WebCore/platform/image-decoders -I./WebCore/platform/image-decoders/bmp -I./WebCore/platform/image-decoders/gif -I./WebCore/platform/image-decoders/ico -I./WebCore/platform/image-decoders/jpeg -I./WebCore/platform/image-decoders/png -I./WebCore/platform/image-decoders/xbm -I./WebCore/platform/network -I./WebCore/platform/text -I./WebCore/plugins -I./WebCore/rendering -I./WebCore/rendering/style -I./WebCore/workers -I./WebCore/xml -I./WebCore/bindings/js -DDATA_DIR=\"/usr/share\" -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DASHBOARD_SUPPORT=1 -DENABLE_DATABASE=1 -I./WebCore/platform/sql -I./WebCore/storage -DENABLE_DOM_STORAGE=1 -I./WebCore/storage -DENABLE_ICONDATABASE=1 -DENABLE_XPATH=1 -DENABLE_XSLT=1 -DENABLE_WORKERS=1 -DENABLE_SVG=1 -I./WebCore/svg -I./WebCore/svg/animation -I./WebCore/svg/graphics -I./WebCore/svg/graphics/filters -DENABLE_SVG_USE=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_ANIMATION=1 -DWTF_USE_SOUP=1 -DENABLE_PLUGIN_PACKAGE_SIMPLE_HASH=1 -I./WebCore/accessibility/gtk -I./WebCore/loader/gtk -I./WebCore/page/gtk -I./WebCore/platform/graphics/cairo -I./WebCore/platform/graphics/gtk -I./WebCore/platform/gtk -I./WebCore/platform/network/soup -DUSE_FREETYPE=1 -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 -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 -fno-strict-aliasing -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/enchant -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -pthread -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -D_REENTRANT -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/gtk-2.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/lib/gtk-2.0/include -I/home/dan/xenon/buildroot/build_i386/staging_dir/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo -I/home/dan/xenon/buildroot/build_i386/staging_dir/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/directfb -I/home/dan/xenon/buildroot/build_i386/staging_dir/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/freetype2 -I/home/dan/xenon/buildroot/build_i386/staging_dir/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/pixman-1 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/atk-1.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/cairo -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/pango-1.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/freetype2 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/directfb -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/pixman-1 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/libsoup-2.4 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/libxml2 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/libxml2 -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include/libxml2 -D_REENTRANT -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include -Os -pipe -Os -I/home/dan/xenon/buildroot/build_i386/staging_dir/usr/include -I/home/dan/xenon/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/xenon/buildroot/build_i386/staging_dir/ -isysroot /home/dan/xenon/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -MT WebCore/accessibility/libWebCore_la-AccessibilityListBox.lo -MD -MP -MF WebCore/accessibility/.deps/libWebCore_la-AccessibilityListBox.Tpo -c -o WebCore/accessibility/libWebCore_la-AccessibilityListBox.lo `test -f 'WebCore/accessibility/AccessibilityListBox.cpp' || echo './'`WebCore/accessibility/AccessibilityListBox.cpp make[2]: *** [JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f WebCore/accessibility/.deps/libWebCore_la-AccessibilityListBox.Tpo WebCore/accessibility/.deps/libWebCore_la-AccessibilityListBox.Plo make[2]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/dan/xenon/buildroot/build_i386/webkit-r44552' make: *** [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_built] Error 2 The error you are seeing is because uClibc linuxthreads.old does not have support for some newer features of pthreads that WebKit uses. There is a patch that has been proposed for uClibc to fix this, but I am not sure how correct it is and I don't know if there are plans to merge it: http://www.mail-archive.com/uclibc@uclibc.org/msg02399.html You could try building with this patch in toolchain/uClibc or try using the new linuxthreads library and see if that is more successful. Move milestone to 2010.05 since enhancements will not be handled before the release of 2010.02. All issues mentionned in this bug have been fixed : * The libtool patch is no longer applied to webkit * The dependency from webkit to Cairo PNG has been added * The patch to fix the Webkit build failure due to missing pthread calls in uClibc has been added I'm therefore closing this bug. |
Don't know what I'm supposed to do. Errors: configure.ac:30: installing `autotools/missing' GNUmakefile.am: installing `autotools/depcomp' WebKit configure 1.1.8 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. touch /home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_hook_post_extract >>> webkit r44552 Patching libtool Applying buildroot-libtool.patch using plaintext: patching file ltmain.sh Hunk #1 FAILED at 273. Hunk #2 succeeded at 5416 (offset 3008 lines). Hunk #3 FAILED at 5560. Hunk #4 FAILED at 5904. Hunk #5 succeeded at 8075 with fuzz 1 (offset 2452 lines). Hunk #6 FAILED at 8400. 4 out of 6 hunks FAILED -- saving rejects to file ltmain.sh.rej Patch failed! Please fix buildroot-libtool.patch! make: *** [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_libtool_patch] Error 1