You may find solutions here for known issues.
If you didn't find your problem in the following list, please consider submit a GitHub issue so that we can help you solve it.
If you solved the problem yourself, you may create a pull Request to edit this file, adding your own solution (according to the existing format), so that later people with same problem can find solution easier.
You ran CMake for multiple times, and CMake somehow failed with confusing error messages.
CMake is a stupid state machine, the cached configuration variables from previous build may break the next build.
Try remove the build
directory completely:
rm -rf build
Then re-run CMake again:
cmake -B build
cmake --build build --config Release
JOKE: Every time you meet a problem about CMake, try
rm -rf build
first :) This solve 99% problems. Ifrm -rf build
doesn't solve, this is the 1% real problems, ask us for help.
See also my public course for learning CMake (and C++ parallel programming).
When building with the Python extension:
CMake Error at projects/Python/CPython/CMakeLists.txt:287 (message):
Failed to locate python source.
If you already downloaded the source, you could try to re-configure this
project passing -DSRC_DIR:PATH=/path/to/Python-{PY_VERSION} using cmake or
adding an PATH entry named SRC_DIR from cmake-gui.
Your Internet maybe unstable, making us failed to download the Python source code, please fix it via an 'ladder'.
Delete the build
directory completely and re-run CMake to try again, i.e. rm -rf build
.
Zeno runs extremely slow, I believe this is abnormal.
Consider quit anti-virus softwares like 360, they will put all console process into a virtualized sandbox, result in a very poor performance.
Error: Could not find 'Qt5Core.dll'
when running build\bin\zenoedit.exe
.
Suppose you have installed Qt5
in C:\Qt\Qt5.14.2
.
Then this file may be located in C:\Qt\Qt5.14.2\msvc2017_64\bin\Qt5Core.dll
.
You have three solutions:
- Manually copy the
Qt5Core.dll
,Qt5Gui.dll
, and etc. to thebuild\bin
directory (same directory aszenoedit.exe
is). - Add the path
C:\Qt\Qt5.14.2\msvc2017_64\bin
(whereQt5Core.dll
is located in) to the environment variablePATH
. - Execute this in
cmd
:C:\Qt\Qt5.14.2\msvc2017_64\bin\windeployqt.exe build\bin\zenoedit.exe
(recommended).
This application failed to start because it could not find or load the Qt platfo
rm plugin "windows".
Available platform plugins are: minimal, offscreen, windows
s).
Reinstalling the application may fix this problem.
Also three solutions:
- Manually copy the directory
C:\Qt\Qt5.14.2\msvc2017_64\plugins\platforms
tobuild\bin\platforms
. - Add an environment variable
QT_QPA_PLATFORM_PLUGIN_PATH
with contentC:\Qt\Qt5.14.2\msvc2017_64\plugins\platforms
. - Execute this in
cmd
:C:\Qt\Qt5.14.2\msvc2017_64\bin\windeployqt.exe build\bin\zenoedit.exe
.
See: https://stackoverflow.com/questions/34948960/qt-platform-plugin-windows-is-not-found-on-one-computer
error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in xxx.obj
Please always use the Release
configuration.
The default configuration is Debug
which can leads to serious ABI conflict.
You have to manually switch to Release
configuration to fix it.
Yeah, Windows is just so troublesome and we have to make it happy.
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
Both -DCMAKE_BUILD_TYPE=Release
and --config Release
are required.
Delete the
build
directory completely (see CMake problem) whenever you restart the build.
If the second step (
--config Release
) doesn't work, you need to open thezeno.sln
in Visual Studio, and select theRelease
configuration in the UI, and clickBuild
.
Cannot find program entry ?qResourceFeatureZlib@YAEXZ in DLL on zenoedit.exe.
when running build\bin\zenoedit.exe
.
You are having multiple Qt installation in your PATH
environment variable (e.g. having both Qt 5.12 and Qt 5.14, or having PyQt 5.12 and Qt 5.14). Please only leave a correct version (Qt 5.14) in the PATH
, delete the wrong version.
The compiler complains about encoding errors (GB2312 vs UTF-8).
This is because Windows (Chinese edition) use GB2312 by default, but we use UTF-8 (for writing Chinese comments) in our code.
Please either add add_compile_options("/utf-8")
at the head of CMakeLists.txt
to make MSVC happy, or delete these useless comments that contains UTF-8 characters (related article: https://blog.csdn.net/u014671962/article/details/101525645).
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
when running build/bin/zenoedit
.
This means your Linux system don't have a graphic interface (GUI). You might be using WSL, WSL don't have GUI by default. They only have command line interface but no graphic interface. So all GUI application won't work in your WSL. This is not a Zeno bug, but a microsoft bug.
My opinion: never use WSL, Docker, or virtual machines, they have extremely poor graphic support (no GPU). For best performance, why not use native Windows instead? Zeno already have full-support for Windows years ago. If you insist to use WSL, here's the solution:
- You need to install X-Launch (or vcxsrv): https://sourceforge.net/projects/xlauncher/
- Start X-Launch (select the multi-window mode if it asks).
- Execute
export DISPLAY=:0
in the WSL terminal. - Now run Zeno again, its GUI window should shows up successfully.
If you are WSL2, may need
export DISPLAY=192.168.xx.xx:0
instead, where192.168.xx.xx
should be your local IP address. Some people says that WSL2 now have graphic interface by default, I'm not sure. I never used WSL2.
To test if your GUI is working, use the xclock
(a small GUI application showing a clock):
sudo apt-get install -y xclock
xclock
- If the
xclock
failed to start: your WSL still doesn't have GUI, all GUI application won't work, not just Zeno. - If the
xclock
starts successfully: your WSL GUI is working well, go ahead and Zeno should work too.
Zeno still gives the same error even after
xclock
worked? Trysudo apt-get install qt5-default
.
Not using WSL but still meet this problem? You might be using Zeno on a headless-server, hint:
ssh -X [email protected]
/usr/include/c++/9/exception:143:10: fatal error: /mnt/e/zeno/build/ui/zenoui/zenoui_autogen/include/bits/exception_ptr.h: Invalid argument
143 | #include <bits/exception_ptr.h>
| ^~~~~~~~~~~~~~~~~~~~~~
during cmake --build build
.
This is because your Qt5 and GCC libs version mismatched, upgrade them:
sudo apt-get update
sudo apt-get upgrade
rm -rf build # clean cmake build directory and re-run cmake
/usr/lib/qt5/bin/uic: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
during cmake --build build
.
This is a silly bug from Ubuntu official team, you need manually run this command to fix the stupid libQt5Core.so.5
:
sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5
Any error around TBB.
Consider uninstall OneAPI (/opt/intel/oneapi
), OpenVDB requires the old version of TBB, not the stupid OneTBB.
CMake error when I set -DZENO_WITH_CUDA:BOOL=ON
:
CMake Error at C:/Program Files/CMake/share/cmake-3.23/Modules/CMakeDetermineCompilerId.cmake:491 (message):
No CUDA toolset found.
Are you using Windows? Then you must install the CUDA Visual Studio integration first. Also you cannot use MinGW or Clang, since CUDA sucks MSVC.
The OptiX renderer failed to work on my computer.
OptiX requires RTX20xx and above (hardware accelerated ray-tracing). And make sure you have installed NVIDIA's latest CUDA & OpenGL drivers.
Also check if you have switched to High-Performance
in NVIDIA settings panel.
Laptop users usually have dual-cards, and Windows use the stupid Intel card by default (so called Power-Saving
), which is extremely slow.
You need to switch to the High-Performance
in the stupid Windows GUI settings, so that Windows will start Zeno with NVIDIA card by default.
During CMake:
nvlink fatal : Could not open input file '/usr/lib/librt.a'
Are you using Arch Linux? pacman -Syu
.