Bug 355

Summary: Please update WebKit - it doesn't compile!
Product: buildroot Reporter: Dan Dart <dandart>
Component: Outdated packageAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: buildroot, laurent.laffont
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: i386-pc-linux-gnu Target: i386-pc-linux-uclibc
Build: i386-pc-linux-uclibc

Description Dan Dart 2009-05-28 19:24:26 UTC
I get an error while trying to compile WebKit, it may be due to the fact it is r31321. It and midori really need updating.

 /home/dan/Desktop/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-g++ -Os -pipe -Os -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -I/home/dan/Desktop/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/Desktop/buildroot/build_i386/staging_dir/ -isysroot /home/dan/Desktop/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -I. -DWTF_USE_ICU_UNICODE=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DXP_UNIX -DNDEBUG -DENABLE_ICONDATABASE=0 -I./JavaScriptCore -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/wtf -I./JavaScriptCore/kjs -I./DerivedSources -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/wtf/unicode -I./JavaScriptCore/pcre -I./JavaScriptCore/kjs -fvisibility-inlines-hidden -fno-rtti -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 -fno-exceptions -fvisibility=hidden -pthread -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -D_REENTRANT -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -fstrict-aliasing -Os -pipe -Os -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -I/home/dan/Desktop/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/Desktop/buildroot/build_i386/staging_dir/ -isysroot /home/dan/Desktop/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT JavaScriptCore/wtf/unicode/icu/libJavaScriptCore_la-CollatorICU.lo -MD -MP -MF JavaScriptCore/wtf/unicode/icu/.deps/libJavaScriptCore_la-CollatorICU.Tpo -c JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp  -fPIC -DPIC -o JavaScriptCore/wtf/unicode/icu/.libs/libJavaScriptCore_la-CollatorICU.o
JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp: In constructor 'WTF::Collator::Collator(const char*)':
JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp:53: error: 'strdup' was not declared in this scope
JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp: In member function 'void WTF::Collator::createCollator() const':
JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp:110: error: 'strcmp' was not declared in this scope
make[2]: *** [JavaScriptCore/wtf/unicode/icu/libJavaScriptCore_la-CollatorICU.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
 /home/dan/Desktop/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-g++ -Os -pipe -Os -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -I/home/dan/Desktop/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/Desktop/buildroot/build_i386/staging_dir/ -isysroot /home/dan/Desktop/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -I. -DWTF_USE_ICU_UNICODE=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DXP_UNIX -DNDEBUG -DENABLE_ICONDATABASE=0 -I./JavaScriptCore -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/wtf -I./JavaScriptCore/kjs -I./DerivedSources -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/wtf/unicode -I./JavaScriptCore/pcre -I./JavaScriptCore/kjs -fvisibility-inlines-hidden -fno-rtti -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 -fno-exceptions -fvisibility=hidden -pthread -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include/glib-2.0 -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/lib/glib-2.0/include -D_REENTRANT -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -fstrict-aliasing -Os -pipe -Os -I/home/dan/Desktop/buildroot/build_i386/staging_dir/usr/include -I/home/dan/Desktop/buildroot/build_i386/staging_dir/include --sysroot=/home/dan/Desktop/buildroot/build_i386/staging_dir/ -isysroot /home/dan/Desktop/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT JavaScriptCore/kjs/libJavaScriptCore_la-AllInOneFile.lo -MD -MP -MF JavaScriptCore/kjs/.deps/libJavaScriptCore_la-AllInOneFile.Tpo -c JavaScriptCore/kjs/AllInOneFile.cpp  -fPIC -DPIC -o JavaScriptCore/kjs/.libs/libJavaScriptCore_la-AllInOneFile.o
In file included from JavaScriptCore/kjs/SymbolTable.h:32,
                 from JavaScriptCore/kjs/JSVariableObject.h:33,
                 from JavaScriptCore/kjs/function.h:28,
                 from JavaScriptCore/kjs/function.cpp:27,
                 from JavaScriptCore/kjs/AllInOneFile.cpp:28:
JavaScriptCore/kjs/ustring.h:283: warning: type qualifiers ignored on function return type
In file included from JavaScriptCore/kjs/function.cpp:47,
                 from JavaScriptCore/kjs/AllInOneFile.cpp:28:
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIAlphanumeric(char)':
./JavaScriptCore/wtf/ASCIICType.h:53: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIAlphanumeric(short unsigned int)':
./JavaScriptCore/wtf/ASCIICType.h:54: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIAlphanumeric(wchar_t)':
./JavaScriptCore/wtf/ASCIICType.h:56: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIAlphanumeric(int)':
./JavaScriptCore/wtf/ASCIICType.h:58: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIHexDigit(char)':
./JavaScriptCore/wtf/ASCIICType.h:67: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIHexDigit(short unsigned int)':
./JavaScriptCore/wtf/ASCIICType.h:68: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIHexDigit(wchar_t)':
./JavaScriptCore/wtf/ASCIICType.h:70: warning: suggest parentheses around && within ||
./JavaScriptCore/wtf/ASCIICType.h: In function 'bool WTF::isASCIIHexDigit(int)':
./JavaScriptCore/wtf/ASCIICType.h:72: warning: suggest parentheses around && within ||
In file included from JavaScriptCore/kjs/AllInOneFile.cpp:33:
JavaScriptCore/kjs/collector.cpp: In function 'void* KJS::currentThreadStackBase()':
JavaScriptCore/kjs/collector.cpp:342: error: 'pthread_getattr_np' was not declared in this scope
In file included from JavaScriptCore/kjs/AllInOneFile.cpp:40:
JavaScriptCore/kjs/dtoa.cpp: In function 'double b2d(Bigint*, int*)':
JavaScriptCore/kjs/dtoa.cpp:1003: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:1005: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:1005: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:1010: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:1012: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp: In function 'Bigint* d2b(double, int*, int*)':
JavaScriptCore/kjs/dtoa.cpp:1082: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp: In function 'double kjs_strtod(const char*, char**)':
JavaScriptCore/kjs/dtoa.cpp:1655: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp: In function 'char* kjs_dtoa(double, int, int, int*, int*, char**)':
JavaScriptCore/kjs/dtoa.cpp:2487: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:2487: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:2488: warning: suggest parentheses around + or - inside shift
JavaScriptCore/kjs/dtoa.cpp:2712: warning: suggest parentheses around && within ||
JavaScriptCore/kjs/dtoa.cpp:2882: warning: suggest parentheses around && within ||
JavaScriptCore/kjs/dtoa.cpp:2904: warning: suggest parentheses around && within ||
JavaScriptCore/kjs/dtoa.cpp:2964: warning: suggest parentheses around && within ||
In file included from JavaScriptCore/kjs/AllInOneFile.cpp:51:
JavaScriptCore/kjs/lexer.cpp: In static member function 'static bool KJS::Lexer::isHexDigit(int)':
JavaScriptCore/kjs/lexer.cpp:624: warning: suggest parentheses around && within ||
JavaScriptCore/kjs/lexer.cpp:625: warning: suggest parentheses around && within ||
In file included from JavaScriptCore/kjs/AllInOneFile.cpp:69:
JavaScriptCore/kjs/ustring.cpp: At global scope:
JavaScriptCore/kjs/ustring.cpp:61: warning: type qualifiers ignored on function return type
JavaScriptCore/kjs/ustring.cpp:62: warning: type qualifiers ignored on function return type
JavaScriptCore/kjs/ustring.cpp:936: warning: type qualifiers ignored on function return type
make[2]: *** [JavaScriptCore/kjs/libJavaScriptCore_la-AllInOneFile.lo] Error 1
make[2]: Leaving directory `/home/dan/Desktop/buildroot/build_i386/webkit-r31321'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dan/Desktop/buildroot/build_i386/webkit-r31321'
make: *** [/home/dan/Desktop/buildroot/build_i386/webkit-r31321/.stamp_built] Error 2
Comment 1 laurent laffont 2009-06-15 13:16:43 UTC
I have the same problem. Which Webkit revision compile successfully ?
Comment 2 Dan Dart 2009-06-15 13:46:05 UTC
I have not been able to add extra software, because I don't know how, and the Makefiles have to be edited very much. So, I can't test it.
Comment 4 laurent laffont 2009-06-18 07:35:14 UTC
I managed to build webkit + midori, thanks to John Voltz work.

Here's the steps:

- I checked out trunk of  public buildroot at  http://code.google.com/p/buildroot/source/browse/trunk. (It seems to be sync with buildroot 2009.02 stable)

- Put the uClibc-0.9.30-linuxthreads.patch in toolchain/uClibc directory (
http://code.google.com/p/buildroot/source/browse/branches/john-avr32-buildroot/toolchain/uClibc/uClibc-0.9.30-linuxthreads.patch)

- Switched to xlib_libX11 1.1.5 as xlib_libX11 1.1.3 does not compile.

- Replaced package webkit with john's one: http://code.google.com/p/buildroot/source/browse/branches/john-avr32-buildroot/package/webkit (webkit revision 40813)

- Rollback to midori 0.17 (git commit 1d2af67 Mon Jul 7 12:04:19 2008). I found the tarball here: http://mirrors.isc.org/pub/MidnightBSD/distfiles/midori-0.0.17.tar.gz
Comment 5 Peter Korsgaard 2009-08-02 20:18:11 UTC
(In reply to comment #0)
> I get an error while trying to compile WebKit, it may be due to the fact it is
> r31321. It and midori really need updating.

Do you still see problems with latest git now that we're using r44552?
Comment 6 Dan Dart 2009-08-02 23:12:58 UTC
How now do I get it to work? I get:

checking for libintl.h... no
configure: error:
*** You must have either have gettext support in your C library, or use the
*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html

Where is it looking? I have /usr/include/libintl.h in the libc6-dev package and gettext installed.

Using Ubuntu 9.04.
Comment 7 Dan Dart 2009-08-06 21:57:17 UTC
Still doesn't work - see :
https://bugs.busybox.net/show_bug.cgi?id=545
Comment 8 Dan Dart 2009-12-27 18:13:19 UTC
> Do you still see problems with latest git now that we're using r44552?

Yes. And it looks like it's in the same place.

./doltlibtool  --tag=CXX   --mode=compile /home/dan/xenon/buildroot/output/staging/usr/bin/i686-linux-uclibc-g++ -Os -pipe -Os  -I/home/dan/xenon/buildroot/output/staging/usr/include -I/home/dan/xenon/buildroot/output/staging/include --sysroot=/home/dan/xenon/buildroot/output/staging/ -isysroot /home/dan/xenon/buildroot/output/staging -mtune=i686 -march=i686 -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./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 -fstrict-aliasing -O3 -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 -pthread -I/home/dan/xenon/buildroot/output/staging/usr/include/glib-2.0 -I/home/dan/xenon/buildroot/output/staging/usr/lib/glib-2.0/include   -D_REENTRANT -I/home/dan/xenon/buildroot/output/staging/usr/include -Os -pipe -Os  -I/home/dan/xenon/buildroot/output/staging/usr/include -I/home/dan/xenon/buildroot/output/staging/include --sysroot=/home/dan/xenon/buildroot/output/staging/ -isysroot /home/dan/xenon/buildroot/output/staging -mtune=i686 -march=i686 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -MT JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo -MD -MP -MF JavaScriptCore/.deps/libJavaScriptCore_la-AllInOneFile.Tpo -c -o JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo `test -f 'JavaScriptCore/AllInOneFile.cpp' || echo './'`JavaScriptCore/AllInOneFile.cpp                                                                                                           
In file included from JavaScriptCore/runtime/JSFunction.cpp:26,                                                       
                 from JavaScriptCore/AllInOneFile.cpp:35:                                                             
JavaScriptCore/runtime/JSFunction.h: In member function ‘JSC::JSValue (* JSC::JSFunction::nativeFunction())(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&)’:                                                           
JavaScriptCore/runtime/JSFunction.h:87: warning: dereferencing type-punned pointer will break strict-aliasing rules   
JavaScriptCore/runtime/JSFunction.h: In member function ‘JSC::ScopeChain& JSC::JSFunction::scopeChain()’:             
JavaScriptCore/runtime/JSFunction.h:104: warning: dereferencing type-punned pointer will break strict-aliasing rules  
JavaScriptCore/runtime/JSFunction.h: In member function ‘void JSC::JSFunction::setScopeChain(const JSC::ScopeChain&)’:
JavaScriptCore/runtime/JSFunction.h:119: warning: dereferencing type-punned pointer will break strict-aliasing rules  
JavaScriptCore/runtime/JSFunction.h: In member function ‘void JSC::JSFunction::setNativeFunction(JSC::JSValue (*)(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&))’:                                                    
JavaScriptCore/runtime/JSFunction.h:123: warning: dereferencing type-punned pointer will break strict-aliasing rules  
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 JavaScriptCore/yarr/.deps/libJavaScriptCore_la-RegexJIT.Tpo JavaScriptCore/yarr/.deps/libJavaScriptCore_la-RegexJIT.Plo                                                                                                               
./doltlibtool  --tag=CXX   --mode=compile /home/dan/xenon/buildroot/output/staging/usr/bin/i686-linux-uclibc-g++ -Os -pipe -Os  -I/home/dan/xenon/buildroot/output/staging/usr/include -I/home/dan/xenon/buildroot/output/staging/include --sysroot=/home/dan/xenon/buildroot/output/staging/ -isysroot /home/dan/xenon/buildroot/output/staging -mtune=i686 -march=i686 -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./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 -fstrict-aliasing -O3 -Wall -W -Wcast-align -Wchar-subscripts -Wro-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strin -fno-exceptions -fvisibility=hidden -pthread -I/home/dan/xenon/buildroot/outdan/xenon/buildroot/output/staging/usr/lib/glib-2.0/include   -D_REENTRANT -Iusr/include -Os -pipe -Os  -I/home/dan/xenon/buildroot/output/staging/usr/inctaging/include --sysroot=/home/dan/xenon/buildroot/output/staging/ -isysroot -mtune=i686 -march=i686 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFF/libJavaScriptCore_la-ParserArena.lo -MD -MP -MF JavaScriptCore/parser/.deps/o JavaScriptCore/parser/libJavaScriptCore_la-ParserArena.lo `test -f 'JavaScr./'`JavaScriptCore/parser/ParserArena.cpp
make[2]: *** [JavaScriptCore/libJavaScriptCore_la-AllInOneFile.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f JavaScriptCore/parser/.deps/libJavaScriptCore_la-ParserArena.Tpo JavaSca-ParserArena.Plo
make[2]: Leaving directory `/home/dan/xenon/buildroot/output/build/webkit-r44
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dan/xenon/buildroot/output/build/webkit-r44
make: *** [/home/dan/xenon/buildroot/output/build/webkit-r44552/.stamp_built]
Comment 9 Thomas Petazzoni 2010-02-21 17:53:02 UTC
The problem is that pthread_get_attr_np() does not exist in uClibc. Only glibc can compile WebKit as of today. Therefore, I've sent a patch today to make sure that selecting WebKit is not possible when building with uClibc as the C library:
 http://lists.busybox.net/pipermail/buildroot/2010-February/032141.html

Patches against uClibc to implement pthread_get_attr_np() or against WebKit to allow not to use this function are welcome.