Trying to build QtWebKit 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/DateMath.o /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/DateMath.cpp /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/DateMath.cpp: In function 'std::int32_t WTF::calculateUTCOffset()': /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/DateMath.cpp:402: error: 'timegm' 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/DateMath.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.
Created attachment 157989 [details] Patch
Comment on attachment 157989 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=157989&action=review > Source/WTF/wtf/DateMath.cpp:108 > +#if OS(QNX) > +// qnx6 defines timegm in nbutil.h > +#include <nbutil.h> > +#endif Out of curiousity: Why doesn't the blackberry port need this?
Rim folks, any idea? I keep on forgetting OS(QNX) vs. PLATFORM(BLACKBERRY) - is there a way to simplify the #ifdef usage here? :)
Sorry, wrong bug ;). But my question to the RIM folks just changes slightly ;-): Any idea why the include isn't needed for PLATFORM(BLACKBERRY)?
(In reply to comment #4) > Sorry, wrong bug ;). But my question to the RIM folks just changes slightly ;-): Any idea why the include isn't needed for PLATFORM(BLACKBERRY)? Isn't timegm defined in time.h? Can you check the time.h you are using?
No, in the BBNDK 2.0.1, it's only defined in nbutil.h: ~/bbndk-2.0.1$ grep -R timegm target/qnx6/usr/include/ target/qnx6/usr/include/nbutil.h:time_t timegm(struct tm *);
(In reply to comment #6) > No, in the BBNDK 2.0.1, it's only defined in nbutil.h: > > ~/bbndk-2.0.1$ grep -R timegm target/qnx6/usr/include/ > target/qnx6/usr/include/nbutil.h:time_t timegm(struct tm *); OK. We also have nbutil.h. So it shouldn't break BB build. Patch looks good to me.
(In reply to comment #3) > Rim folks, any idea? I keep on forgetting OS(QNX) vs. PLATFORM(BLACKBERRY) - is there a way to simplify the #ifdef usage here? :) The patch looks good to me as well as I do not think DateMath.cpp should have a dependency on any PLATFORM() macro. I agree with Simon that we should clarify the macro usage. I think it would be useful to: a./ List the currently maintained or targeted OS() macros when PLATFORM(BLACKBERRY) is set (in addition to OS(QNX)) b./ List the currently maintained or targeted PLATFORM() macros when OS(QNX) is set (in addition to PLATFORM(BLACKBERRY)). If OS(QNX) is equivalent to PLATFORM(BLACKBERRY) than we should look into eliminate one of the 2 macros.
(In reply to comment #8) > (In reply to comment #3) > > Rim folks, any idea? I keep on forgetting OS(QNX) vs. PLATFORM(BLACKBERRY) - is there a way to simplify the #ifdef usage here? :) > > The patch looks good to me as well as I do not think DateMath.cpp should have a dependency on any PLATFORM() macro. > > I agree with Simon that we should clarify the macro usage. > > I think it would be useful to: > > a./ List the currently maintained or targeted OS() macros when PLATFORM(BLACKBERRY) is set (in addition to OS(QNX)) > > b./ List the currently maintained or targeted PLATFORM() macros when OS(QNX) is set (in addition to PLATFORM(BLACKBERRY)). > > If OS(QNX) is equivalent to PLATFORM(BLACKBERRY) than we should look into eliminate one of the 2 macros. They are definitely not equivalent. PLATFORM(BLACKBERRY) is a subset of OS(QNX). OS(QNX) is always true in PLATFORM(BLACKBERRY) a./ None (OS(QNX) only) b./ PLATFORM(QT) and probably others. Also OS(QNX) can be used without any PLATFORM() macros.
I can r+ the patch if no objection. Simon?
Millian, please set commit-queue? if you'd like to land it via the commit queue.
Comment on attachment 157989 [details] Patch Clearing flags on attachment: 157989 Committed r125877: <http://trac.webkit.org/changeset/125877>
All reviewed patches have been landed. Closing bug.