Skip to content

Instantly share code, notes, and snippets.

@blockspacer
Last active March 11, 2019 11:01
Show Gist options
  • Save blockspacer/794ec03784e59f7023283f47e15a1035 to your computer and use it in GitHub Desktop.
Save blockspacer/794ec03784e59f7023283f47e15a1035 to your computer and use it in GitHub Desktop.
qt wasm build error with module-qtcharts

qt 5.13 wasm build error with module-qtcharts

 ~/job/qt5/qtbase/bin/qmake ; make 
shared:WARNING: emcc: cannot find library "qicns"
shared:WARNING: emcc: cannot find library "qtga"
shared:WARNING: emcc: cannot find library "qtiff"
shared:WARNING: emcc: cannot find library "qwbmp"
shared:WARNING: emcc: cannot find library "qwebp"
emcc: warning: cannot represent a NaN literal '0x1aad6980' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
 in   ret double 0x7FF4000000000000 in _ZL7qt_snanv.20381() 
error: undefined symbol: _Z27qt_static_plugin_QTgaPluginv
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
error: undefined symbol: _Z28qt_static_plugin_QICNSPluginv
error: undefined symbol: _Z28qt_static_plugin_QTiffPluginv
error: undefined symbol: _Z28qt_static_plugin_QWbmpPluginv
error: undefined symbol: _Z28qt_static_plugin_QWebpPluginv
Error: Aborting compilation due to previous errors
shared:ERROR: '/usr/local/tander/x86_64-pc-linux-gnu/usr/bin/node /usr/local/tander/x86_64-pc-linux-gnu/usr/libexec/emscripten/src/compiler.js /tmp/tmpHHUj3u.txt /usr/local/tander/x86_64-pc-linux-gnu/usr/libexec/emscripten/src/embind/emval.js /usr/local/tander/x86_64-pc-linux-gnu/usr/libexec/emscripten/src/embind/embind.js /usr/local/tander/x86_64-pc-linux-gnu/usr/libexec/emscripten/src/library_pthread_stub.js' failed (1)

Reproduce

clone emsdk

git clone https://github.com/juj/emsdk.git
cd emsdk
./emsdk install --build=Release sdk-incoming-64bit binaryen-master-64bit
./emsdk activate --build=Release sdk-incoming-64bit binaryen-master- 64bit
source ./emsdk_env.sh --build=Release

clone QT source code

cd ~/job/
git clone https://github.com/qt/qt5.git
cd qt5/
git checkout origin/ version here
perl init-repository --berlin --module-subset=default,-qtwebengine
cd ~/job/qt5
./configure -xplatform wasm-emscripten -nomake examples -prefix $PWD/qtbase
make module-qtbase module-qtdeclarative module-qtcharts

Build example using QT charts

cd projectdir
 ~/job/qt5/qtbase/bin/qmake ; make 
@blockspacer
Copy link
Author

If you get SSE/SIMD related errors build qt with:

 -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-warnings-are-errors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment