[webkit-dev] problems in cross compiling webkit - Execution of JavaScriptCore/kjs/create_hash_table aborted due to compilation errors.

Bn, Sharath sharath.bn at philips.com
Wed Oct 22 04:57:12 PDT 2008


Dear All,

I am new bee to the world of opensource software.

I could able to compile and execute Webkit with DirectFB backend in SUSE 11.0.

However I am facing problems while cross compiling webkit for MIPS.

Can anybody help me Cross compiling the Webkit for MIPS platform.
FYI, I am using MontaVista tool chain on Cygwin.
I could able to cross compile and install all the dependencies of Webkit, except ICU.
So I used replace_icu_with_glib patch from this website https://bugs.webkit.org/show_bug.cgi?id=15914.

The following is the command that I supply at command line

CC=mips2_fp_le-gcc CXX=mips2_fp_le-g++ LD=mips2_fp_le-ld NM=mips2_fp_le-nm
./autogen.sh --disable-dashboard-support --disable-xpath --disable-xslt --with-font-backend=freetype
 --disable-svg --disable-offline-web-applications --disable-dom-storage --disable-icon-database --disable-video
--with-font-backend=freetype --disable-database --enable-debug --with-target=directfb --prefix=/usr/webkit
--host=mipsel-montavista-linux-gnu --build=i686-pc-cygwin --with-unicode-backend=glib

With this the configure and make files are generated without any error.
Pls find the console prints when I run autorun.sh

libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:28: installing `./config.guess'
configure.ac:28: installing `./config.sub'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for mipsel-montavista-linux-gnu-strip... no
checking for strip... strip
configure: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet.  If you think this
configuration is useful to you, please write to autoconf at gnu.org<mailto:autoconf at gnu.org>.
checking build system type... i686-pc-cygwin
checking host system type... mipsel-montavista-linux-gnu
checking for native Win32... no
checking for style of include used by make... GNU
checking for mipsel-montavista-linux-gnu-gcc... mips2_fp_le-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mips2_fp_le-gcc accepts -g... yes
checking for mips2_fp_le-gcc option to accept ISO C89... none needed
checking dependency style of mips2_fp_le-gcc... gcc3
checking whether mips2_fp_le-gcc and cc understand -c and -o together...
checking whether we are using the GNU C++ compiler... yes
checking whether mips2_fp_le-g++ accepts -g... yes
checking dependency style of mips2_fp_le-g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by mips2_fp_le-gcc... mips2_fp_le-ld
checking if the linker (mips2_fp_le-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... mips2_fp_le-nm
checking the name lister (mips2_fp_le-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for mips2_fp_le-ld option to reload object files... -r
checking how to recognize dependent libraries... pass_all
checking for mipsel-montavista-linux-gnu-ar... no
checking for ar... ar
checking for mipsel-montavista-linux-gnu-strip... strip
checking for mipsel-montavista-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse mips2_fp_le-nm output from mips2_fp_le-gcc obje
k
checking how to run the C preprocessor... mips2_fp_le-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether mips2_fp_le-g++ accepts -g... (cached) yes
checking dependency style of mips2_fp_le-g++... (cached) gcc3
checking how to run the C++ preprocessor... mips2_fp_le-g++ -E
checking for objdir... .libs
checking if mips2_fp_le-gcc supports -fno-rtti -fno-exceptions... no
checking for mips2_fp_le-gcc option to produce PIC... -fPIC -DPIC
checking if mips2_fp_le-gcc PIC flag -fPIC -DPIC works... yes
checking if mips2_fp_le-gcc static flag -static works... yes
checking if mips2_fp_le-gcc supports -c -o file.o... yes
checking if mips2_fp_le-gcc supports -c -o file.o... (cached) yes
checking whether the mips2_fp_le-gcc linker (mips2_fp_le-ld) supports sha
raries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for ld used by mips2_fp_le-g++... mips2_fp_le-ld
checking if the linker (mips2_fp_le-ld) is GNU ld... yes
checking whether the mips2_fp_le-g++ linker (mips2_fp_le-ld) supports sha
raries... yes
checking for mips2_fp_le-g++ option to produce PIC... -fPIC -DPIC
checking if mips2_fp_le-g++ PIC flag -fPIC -DPIC works... yes
checking if mips2_fp_le-g++ static flag -static works... yes
checking if mips2_fp_le-g++ supports -c -o file.o... yes
checking if mips2_fp_le-g++ supports -c -o file.o... (cached) yes
checking whether the mips2_fp_le-g++ linker (mips2_fp_le-ld) supports sha
raries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for bash... /usr/bin/bash
checking if dolt supports this host... no, falling back to libtool
checking if mips2_fp_le-g++ supports -fvisibility=hidden -fvisibility-inl
dden... yes
checking for perl... /usr/bin/perl
checking for bison... /usr/bin/bison
checking for flex... /usr/webkit/bin/flex
checking for gawk... (cached) gawk
checking for gperf... /usr/webkit/bin/gperf
checking for mv... /usr/bin/mv
checking for glib-genmarshal... /usr/webkit/bin/glib-genmarshal
checking for glib-mkenums... /usr/webkit/bin/glib-mkenums
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for working volatile... yes
checking for ANSI C header files... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib... yes
checking for pkg-config... /usr/webkit/bin/pkg-config
checking the Unicode backend to use... glib
checking the target windowing system... directfb
checking for Hildon UI extensions... no
checking the HTTP backend to use... curl
checking for GLOBALDEPS... yes
checking for LIBXML... yes
checking for PANGO... yes
checking for CAIRO... yes
checking for GTK... yes
checking whether to do a debug build... yes
checking whether to enable Dashboard support... no
checking whether to enable HTML5 offline web applications support... no
checking whether to enable HTML5 client-side session and persistent stora
ort... no
checking whether to enable HTML5 client-side database storage support...
checking whether to enable icon database support... no
checking whether to enable HTML5 video support... no
checking whether to enable XPath support... no
checking whether to enable XSLT support... no
checking whether to enable SVG support... no
checking whether to enable support for SVG animation... no
checking whether to enable support for SVG filters... no
checking whether to enable support for SVG fonts... no
checking whether to enable support for SVG foreign objects... no
checking whether to enable SVG as Image support... no
checking whether to enable support for SVG use element... no
checking whether to enable code coverage support... no
checking whether to enable optimized memory allocator... no
checking the font backend to use... freetype
checking for LIBCURL... yes
checking for FREETYPE... yes
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating WebKit/gtk/webkit-1.0.pc
config.status: creating WebKit/gtk/webkit/webkitversion.h
config.status: creating autotoolsconfig.h
config.status: executing depfiles commands
config.status: executing libtool commands

WebKit was configured with the following options:

Build configuration:
 Enable debugging (slow)                                  : yes
 Code coverage support                                    : no
 Unicode backend                                          : glib
 HTTP backend                                             : curl
 Font backend                                             : freetype
 Optimized memory allocator                               : no
Features:
 Dashboard support                                        : no
 HTML5 offline web applications support                   : no
 HTML5 client-side session and persistent storage support : no
 HTML5 client-side database storage support               : no
 HTML5 video element support                              : no
 Icon database support                                    : no
 SVG support                                              : no
 SVG animation support                                    : no
 SVG filters support                                      : no
 SVG fonts support                                        : no
 SVG foreign object support                               : no
 SVG as image support                                     : no
 SVG use element support                                  : no
 XPATH support                                            : no
 XSLT support                                             : no
GTK+ configuration:
 GDK target                                               : directfb
 Hildon UI extensions                                     : no

But when I run make command I get the following error
/usr/bin/bison -d -p kjsyy ./JavaScriptCore/kjs/grammar.y -o DerivedSources/grammar.cpp > bison_out.txt 2>&1
/usr/bin/perl -p -e 'END { if ($conflict) { unlink "grammar.cpp"; die; } } $conflict ||= /conflict/' < bison_out.txt
cat ./DerivedSources/grammar.hpp > ./DerivedSources/grammar.h
rm -f ./DerivedSources/grammar.hpp bison_out.txt
/usr/bin/perl JavaScriptCore/kjs/create_hash_table JavaScriptCore/kjs/keywords.table > DerivedSources/lexer.lut.h
Global symbol "@nameEntries" requires explicit package name at JavaScriptCore/kjs/create_hash_table line 218.
Execution of JavaScriptCore/kjs/create_hash_table aborted due to compilation errors.
make: *** [DerivedSources/lexer.lut.h] Error 255

Can anybody help me to fix the problem as well as give some guidelines to cross compile the Webkit.

Regards
Sharath.B.N

________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20081022/ad021c7f/attachment.html>


More information about the webkit-dev mailing list