WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
98038
[Qt] QNX build fails due to signature change in gl2.h header (glShaderSource)
https://bugs.webkit.org/show_bug.cgi?id=98038
Summary
[Qt] QNX build fails due to signature change in gl2.h header (glShaderSource)
Milian Wolff
Reported
2012-10-01 08:50:19 PDT
QtWebKit for QNX fails to compile with enabled 3D rendering: qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -g -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -D_REENTRANT -DQT_NO_CLIPBOARD -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DQT_OPENGL_SHIMS=1 -DBUILDING_QT__=1 -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_METER_ELEMENT=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DWTF_USE_TILED_BACKING_STORE=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DWTF_USE_ZLIB=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_CSS_SHADERS=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_ANIMATION_API=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_TEXT_DECORATION=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_DOWNLOAD_ATTRIBUTE=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_GAMEPAD=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INDEXED_DATABASE=0 -DENABLE_INPUT_SPEECH=0 -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_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LINK_PREFETCH=0 -DENABLE_LINK_PRERENDER=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MHTML=0 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_NETWORK_INFO=0 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_SVG_DOM_OBJC_BINDINGS=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_TEXT_NOTIFICATIONS_ONLY=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_UNDO_MANAGER=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEB_AUDIO=0 -DENABLE_XSLT=0 -DBUILDING_WebCore -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DSTATICALLY_LINKED_WITH_ANGLE -DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/home/milian/projects/qt5/install-qnx650/mkspecs/qnx-armv7le-qcc -I/home/milian/projects/qt5/qtwebkit/Source/WebCore -I. -I/home/milian/projects/qt5/qtwebkit/Source/WebCore -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/filesystem -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/geolocation -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/indexeddb -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/navigatorcontentutils -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/notifications -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/quota -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/webaudio -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/webdatabase -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/Modules/websockets -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/accessibility -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bindings -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bindings/generic -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bridge -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bridge/qt -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/css -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/dom -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/dom/default -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/editing -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/fileapi -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/history -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/html -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/html/canvas -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/html/parser -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/html/shadow -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/html/track -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/inspector -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/loader -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/loader/appcache -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/loader/archive -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/loader/cache -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/loader/icon -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/mathml -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/page -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/page/animation -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/page/qt -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/page/scrolling -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/animation -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/audio -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/filters -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/filters/arm -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/opengl -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/opentype -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/qt -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/surfaces -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/transforms -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/bmp -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/ico -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/gif -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/jpeg -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/png -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/image-decoders/webp -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/leveldb -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/mock -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/network -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/network/qt -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/qt -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/sql -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/text -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/text/transcoder -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/plugins -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/rendering -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/rendering/mathml -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/rendering/style -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/rendering/svg -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/storage -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/svg -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/svg/animation -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/svg/graphics -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/svg/graphics/filters -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/svg/properties -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/testing -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/websockets -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/workers -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/xml -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/xml/parser -I/home/milian/projects/qt5/qtwebkit/Source/ThirdParty -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bridge/jsc -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bindings/js -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/bridge/c -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/testing/js -Igenerated -I/home/milian/projects/qt5/qtbase/src/3rdparty/sqlite -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/gpu -I/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/gpu -I/home/milian/projects/qt5/qtwebkit/Source -I/home/milian/projects/qt5/build-qnx650/qtwebkit/Source/include -I/home/milian/projects/qt5/install-qnx650/include -I/home/milian/projects/qt5/install-qnx650/include/QtScript -I/home/milian/projects/qt5/qtwebkit/Source/ThirdParty/ANGLE/include/GLSLANG -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore -I/home/milian/projects/qt5/qtwebkit/Source -I/home/milian/projects/qt5/qtwebkit/Source/WTF -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/assembler -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/bytecode -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/bytecompiler -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/heap -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/dfg -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/debugger -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/disassembler -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/interpreter -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/jit -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/llint -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/parser -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/profiler -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/runtime -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/tools -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/yarr -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/API -I/home/milian/projects/qt5/qtwebkit/Source/JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -I/home/milian/projects/qt5/qtwebkit/Source/WTF -I/home/milian/projects/qt5/install-qnx650/include/QtSql -I/home/milian/projects/qt5/install-qnx650/include/QtNetwork -I/home/milian/projects/qt5/install-qnx650/include/QtGui -I/home/milian/projects/qt5/install-qnx650/include/QtGui/5.0.0 -I/home/milian/projects/qt5/install-qnx650/include/QtGui/5.0.0/QtGui -I/home/milian/projects/qt5/install-qnx650/include/QtCore -I/home/milian/projects/qt5/install-qnx650/include/QtCore/5.0.0 -I/home/milian/projects/qt5/install-qnx650/include/QtCore/5.0.0/QtCore -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -I. -o obj/debug/home/milian/projects/qt5/build-qnx650/qtwebkit/Source/WebCore/generated/JSDirectoryReader.o generated/JSDirectoryReader.cpp /home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp: In function 'bool WebCore::initializeOpenGLShims()': /home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp:192: error: invalid conversion from 'void (*)(GLuint, GLsizei, const GLchar* const*, const GLint*)' to 'void (*)(GLuint, GLsizei, const char**, const GLint*)' The reason here is that WebKit defines typedef void (GLAPIENTRY *glShaderSourceType) (GLuint, GLsizei, const char**, const GLint*); which is compatible to the Desktop OpenGL and older OpenGL 2 ES versions of glShaderSource. Yet recent OpenGL 2 ES versions have a different signature for this method: typedef void (GLAPIENTRY *glShaderSourceType) (GLuint, GLsizei, const char* const*, const GLint*); See e.g.
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml
(old documentation, same signature as used by webkit) and then compare to the actual gl2.h header:
http://www.khronos.org/registry/gles/api/2.0/gl2.h
- it contains: GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
Attachments
Patch
(1.54 KB, patch)
2012-10-01 09:09 PDT
,
Milian Wolff
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Milian Wolff
Comment 1
2012-10-01 09:09:28 PDT
Created
attachment 166489
[details]
Patch
Simon Hausmann
Comment 2
2012-10-21 23:23:42 PDT
Comment on
attachment 166489
[details]
Patch Ok, I see the need for the cast ;( but would it make sense to adjust the prototype in OpenGLShims.h at the same time to confirm to the latest spec?
Milian Wolff
Comment 3
2012-11-09 04:05:32 PST
Simon, I am not acquainted with OpenGL. I think that you should decide what to do with the OpenGLShims.h file. Could we still merge this patch though?
WebKit Review Bot
Comment 4
2012-11-13 13:37:59 PST
Comment on
attachment 166489
[details]
Patch Clearing flags on attachment: 166489 Committed
r134476
: <
http://trac.webkit.org/changeset/134476
>
WebKit Review Bot
Comment 5
2012-11-13 13:38:02 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug