Bug 93843

Summary: [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE
Product: WebKit Reporter: Milian Wolff <milian.wolff>
Component: WebKit QtAssignee: Milian Wolff <milian.wolff>
Status: RESOLVED FIXED    
Severity: Normal CC: hausmann, laszlo.gombos, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 74040    
Attachments:
Description Flags
Patch
none
Patch none

Description Milian Wolff 2012-08-13 07:22:34 PDT
Building QtWebKit for QNX fails with the following error:

$ make -j1
makeobj[0]: Entering directory `/home/milian/projects/qt5/build-playbook/qtwebkit/Release'
cd Source/WTF/ && ( test -f Makefile.WTF || /home/milian/projects/qt5/install-playbook/bin/qmake /home/milian/projects/qt5/qtwebkit/Source/WTF/WTF.pro DEFINES+=ENABLE_3D_RENDERING=0 DEFINES+=ENABLE_WEBGL=0 INSTALL_LIBS=/home/milian/projects/qt5/build-playbook/../install-playbook/ CONFIG+=release CONFIG-=debug -o Makefile.WTF ) && /usr/bin/make -f Makefile.WTF 
make[1]: Entering directory `/home/milian/projects/qt5/build-playbook/qtwebkit/Release/Source/WTF'
qcc -Vgcc_ntoarmv7le -lang-c++ -c -fstack-protector -fstack-protector-all -Wno-psabi -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -D_REENTRANT -DQ_OS_BLACKBERRY -DENABLE_3D_RENDERING=0 -DENABLE_WEBGL=0 -DWTF_USE_ICU_UNICODE=1 -DHAVE_QRAWFONT=1 -DHAVE_FONTCONFIG=1 -DENABLE_XSLT=1 -DWTF_USE_ZLIB=1 -DWTF_USE_TILED_BACKING_STORE=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DHAVE_QSTYLE=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_ANIMATION_API=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_FLEXBOX=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_DOWNLOAD_ATTRIBUTE=0 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILE_SYSTEM=0 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_GAMEPAD=0 -DENABLE_GEOLOCATION=0 -DENABLE_GESTURE_EVENTS=1 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=0 -DENABLE_LINK_PRERENDER=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=0 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=0 -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_QUOTA=0 -DENABLE_REGISTER_PROTOCOL_HANDLER=0 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SHADOW_DOM=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=0 -DENABLE_SVG=1 -DENABLE_SVG_DOM_OBJC_BINDINGS=0 -DENABLE_SVG_FONTS=1 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_TEXT_NOTIFICATIONS_ONLY=0 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_UNDO_MANAGER=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEB_AUDIO=0 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_TOUCH_SLIDER=1 -DWTF_USE_3D_GRAPHICS=0 -DENABLE_3D_RENDERING=0 -DENABLE_WEBGL=0 -DENABLE_3D_RENDERING=0 -DENABLE_WEBGL=0 -DBUILDING_QT__=1 -DNDEBUG -DBUILDING_WTF -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DQT_NO_DEBUG -DQT_CORE_LIB -I/home/milian/projects/qt5/install-playbook/mkspecs/unsupported/blackberry-armv7le-qcc -I/home/milian/projects/qt5/qtwebkit/Source/WTF -I. -I/home/milian/projects/qt5/qtwebkit/Source/WTF -I/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf -I/home/milian/projects/qt5/qtwebkit/Source -I../include -I/home/milian/projects/qt5/install-playbook/include -I/home/milian/projects/qt5/install-playbook/include/QtScript -I/home/milian/projects/qt5/install-playbook/include/QtCore -I/home/milian/bbndk-2.0.1/target/qnx6/usr/include -I/home/milian/bbndk-2.0.1/target/qnx6/usr/include/freetype2 -I. -o obj/release/wtf/TCSystemAlloc.o /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemRelease(void*, std::size_t)':
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'MADV_FREE_REUSABLE' was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'madvise' was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemCommit(void*, std::size_t)':
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'MADV_FREE_REUSE' was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'madvise' was not declared in this scope
cc: /home/milian/bbndk-2.0.1/host/linux/x86/usr/lib/gcc/arm-unknown-nto-qnx6.5.0eabi/4.4.2/cc1plus error 1
make[1]: *** [obj/release/wtf/TCSystemAlloc.o] Error 1
make[1]: Leaving directory `/home/milian/projects/qt5/build-playbook/qtwebkit/Release/Source/WTF'
make: *** [sub-Source-WTF-WTF-pro-make_first-ordered] Error 2
makeobj[0]: Leaving directory `/home/milian/projects/qt5/build-playbook/qtwebkit/Release'

I'll provide a patch now
Comment 1 Milian Wolff 2012-08-13 07:29:00 PDT
Created attachment 157991 [details]
Patch
Comment 2 Simon Hausmann 2012-08-13 12:53:42 PDT
Comment on attachment 157991 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=157991&action=review

> Source/WTF/wtf/Platform.h:483
> -#if PLATFORM(BLACKBERRY)
> +#if PLATFORM(BLACKBERRY) || OS(QNX)

Wouldn't it be simpler to use just OS(QNX) instead of PLATFORM(BLACKBERRY) || OS(QNX) ? Isn't the latter set when the former is true?
Comment 3 Milian Wolff 2012-08-14 03:36:52 PDT
As far as I understand https://bugs.webkit.org/show_bug.cgi?id=74040#c15 you are right, I'll adapt the patch accordingly.

Cheers
Comment 4 Milian Wolff 2012-08-14 03:55:45 PDT
Created attachment 158287 [details]
Patch
Comment 5 WebKit Review Bot 2012-08-14 05:53:13 PDT
Comment on attachment 158287 [details]
Patch

Clearing flags on attachment: 158287

Committed r125553: <http://trac.webkit.org/changeset/125553>
Comment 6 WebKit Review Bot 2012-08-14 05:53:17 PDT
All reviewed patches have been landed.  Closing bug.