[webkit-help] Troubles cross-compiling webkit as part of qt-4.8.0-rc1

Gabor Rapcsanyi rgabor at inf.u-szeged.hu
Thu Oct 27 00:36:02 PDT 2011


On 10/26/2011 05:49 PM, Allan Nielsen wrote:
> Hi
>
> I'm trying to compile QT 4.8.0-rc1, but I have some troubles to make 
> it use the correct header files.
>
> When it compiles platform/graphics/MediaPlayer.cpp the following 
> command is used:
>
> awn at awn-pc
> ~/git/buildroot/output/build/qt-4.8.0-rc1/src/3rdparty/webkit/Source/WebCore 
> $
> /home/awn/git/buildroot/output/host/usr/bin/x86_64-gmb-linux-gnu-g++ 
> -c -pipe
> -O3 -fPIC -DPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wreturn-type -fno-strict-aliasing
> -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type
> -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum 
> -Wundef
> -Wmissing-noreturn -Winit-self -Werror -ffunction-sections 
> -fdata-sections -O2
> -fPIC -pthread -pthread -pthread -pthread -pthread -pthread -pthread 
> -pthread
> -I/home/awn/git/buildroot/output/host/usr/x86_64-unknown-linux-gnu/sysroot/usr/include/freetype2
> -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS
> -DENABLE_JIT=1 -DENABLE_XSLT=0 -DENABLE_WEB_TIMING=0
> -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1
> -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1
> -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1
> -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_QUOTA=0
> -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1
> -DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_SHARED_WORKERS=1 
> -DENABLE_WORKERS=1
> -DENABLE_XHTMLMP=0 -DENABLE_DETAILS=1 -DENABLE_METER_TAG=1
> -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB=1 -DENABLE_NOTIFICATIONS=1
> -DENABLE_INPUT_SPEECH=0 -DENABLE_INSPECTOR=1 -DENABLE_3D_RENDERING=1
> -DENABLE_WEB_AUDIO=0 -DENABLE_WEBGL=0 -DENABLE_MEDIA_STATISTICS=0
> -DENABLE_VIDEO_TRACK=0 -DENABLE_TOUCH_ICON_LOADING=0 
> -DENABLE_ANIMATION_API=0
> -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FOREIGN_OBJECT=1
> -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1
> -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1
> -DENABLE_NETSCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 
> -DWTF_USE_QT_BEARER=1
> -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIDEO=1 -DWTF_USE_GSTREAMER=1 
> -DSQLITE_CORE
> -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DXP_UNIX
> -DENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1 -DENABLE_GLIB_SUPPORT=1
> -DENABLE_JIT=1 -DBUILDING_JavaScriptCore -DBUILDING_WTF -DBUILDING_WEBKIT
> -DQT_MAKEDLL -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG
> -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW
> -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 
> -DQT_HAVE_SSSE3
> -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -DQT_SHARED
> -I../../../../../mkspecs/linux-g++-64 -I. -I../../../../../include/QtCore
> -I../../../../../include/QtNetwork -I../../../../../include/QtGui
> -I../../../../../include -I../JavaScriptCore -I../../Source 
> -I../ThirdParty
> -I../JavaScriptCore/assembler -I../JavaScriptCore/bytecode
> -I../JavaScriptCore/bytecompiler -I../JavaScriptCore/heap
> -I../JavaScriptCore/dfg -I../JavaScriptCore/debugger
> -I../JavaScriptCore/interpreter -I../JavaScriptCore/jit
> -I../JavaScriptCore/parser -I../JavaScriptCore/profiler
> -I../JavaScriptCore/runtime -I../JavaScriptCore/wtf
> -I../JavaScriptCore/wtf/gobject
> -I/home/awn/git/buildroot/output/build/qt-4.8.0-rc1/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian
> -I../JavaScriptCore/wtf/unicode -I../JavaScriptCore/yarr
> -I../JavaScriptCore/API -I../JavaScriptCore/ForwardingHeaders
> -I../JavaScriptCore/generated -Ibridge/qt -Ipage/qt -Iplatform/graphics/qt
> -Iplatform/network/qt -Iplatform/qt -I../WebKit/qt/Api
> -I../WebKit/qt/WebCoreSupport -I. -Iaccessibility -Ibindings 
> -Ibindings/generic
> -Ibridge -Icss -Idom -Idom/default -Iediting -Ifileapi -Ihistory -Ihtml
> -Ihtml/canvas -Ihtml/parser -Ihtml/shadow -Iinspector -Iloader
> -Iloader/appcache -Iloader/archive -Iloader/cache -Iloader/icon -Imathml
> -Inotifications -Ipage -Ipage/animation -Iplatform -Iplatform/animation
> -Iplatform/audio -Iplatform/graphics -Iplatform/graphics/filters
> -Iplatform/graphics/filters/arm -Iplatform/graphics/texmap
> -Iplatform/graphics/transforms -Iplatform/image-decoders 
> -Iplatform/leveldb
> -Iplatform/mock -Iplatform/network -Iplatform/sql -Iplatform/text
> -Iplatform/text/transcoder -Iplugins -Irendering -Irendering/mathml
> -Irendering/style -Irendering/svg -Istorage -Isvg -Isvg/animation
> -Isvg/graphics -Isvg/graphics/filters -Isvg/properties -Itesting 
> -Iwebaudio
> -Iwebsockets
> -I/home/awn/git/buildroot/output/build/qt-4.8.0-rc1/src/3rdparty/webkit/Source/WebCore/wml
> -Iworkers -Ixml -Ibridge/jsc -Ibindings/js
> -I/home/awn/git/buildroot/output/build/qt-4.8.0-rc1/src/3rdparty/webkit/Source/WebCore/bindings/js/specialization
> -Ibridge/c -Itesting/js -Igenerated -I../../Source -I../../include
> -I../include/QtWebKit -I../include -I../../../sqlite
> -Iplatform/graphics/gstreamer
> -I/usr/include/glib-2.0                      # WHERE DOES THIS COME FROM
> -I/usr/lib64/glib-2.0/include                # WHERE DOES THIS COME FROM
> -I/usr/include/gstreamer-0.10                # WHERE DOES THIS COME FROM
> -I/usr/include/libxml2                       # WHERE DOES THIS COME FROM
> -I/home/awn/git/buildroot/output/host/usr/x86_64-unknown-linux-gnu/sysroot/usr/include
> -I.moc/release-static -o .obj/release-static/MediaPlayer.o
> platform/graphics/MediaPlayer.cpp
>
>
>
> As it appears in the output, it is using includes from my root 
> directory and not the sysroot.
>
> I would expect it to use the values from the .qmake.cache which says:
>
> # FROM .qmake.cache
> QT_CFLAGS_GSTREAMER = -pthread
> -I/home/awn/git/buildroot/output/host/usr/x86_64-unknown-linux-gnu/sysroot/usr/include/gstreamer-0.10
> -I/home/awn/git/buildroot/output/host/usr/x86_64-unknown-linux-gnu/sysroot/usr/include/glib-2.0
> -I/home/awn/git/buildroot/output/host/usr/x86_64-unknown-linux-gnu/sysroot/usr/lib/glib-2.0/include 
>
>
> QT_LIBS_GSTREAMER = -pthread -lgstreamer-0.10 -lgobject-2.0 
> -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
>
>
>
> Interesting enough, if I run:
>
> make -k; make -k
>
> The problem seems to be fixed somehow???
>
> I'm not an expert in qmake, and could therefor use some help to fix 
> this issue.
>
>
> Best regards
> Allan W. Nielsen
>
>
> _______________________________________________
> webkit-help mailing list
> webkit-help at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-help
Hi!

Those include paths come form pkg-config, because its running on your 
host system.
Check WebCore.pri:
   PKGCONFIG += libxslt
   PKGCONFIG += libxml-2.0
   PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 
gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 
gstreamer-plugins-base-0.10 gstreamer-video-0.10

So you should make a wrapper script or something for pkg-config.
For example:
export PKG_CONFIG_PATH="$TARGET_SYSTEM_ROOT/usr/share/pkgconfig"
export PKG_CONFIG_LIBDIR="$TARGET_SYSTEM_ROOT/usr/lib/pkgconfig"
/usr/bin/pkg-config --define-variable=prefix=$TARGET_SYSTEM_ROOT/usr $@

Regards,
     Gabor Rapcsanyi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-help/attachments/20111027/c2358962/attachment-0001.html>


More information about the webkit-help mailing list