visit-dav / visit

VisIt - Visualization and Data Analysis for Mesh-based Scientific Data
https://visit.llnl.gov
BSD 3-Clause "New" or "Revised" License
421 stars 109 forks source link

develop branch build issues with VTK-8.1.0 and QT-5.14.2 on Ubuntu22 #18931

Closed jameskress closed 1 month ago

jameskress commented 11 months ago

Describe the bug

VTK and QT on the develop branch do not build on a fresh Ubuntu 22 system with gcc 11.4.0

To Reproduce

Try to build visit with the build_visit script on a fresh Ubuntu 22.04 system

./build_visit --parallel --makeflags -j14 --system-python --conduit --vtk --qt --qwt --adios --advio --boost --conduit --gdal --glu --h5part --hdf5 --icet --llvm --netcdf --mfem --mesagl --szip --silo --zlib --mpich --vtkm --boxlib --pyside --build-mode release --mpich --prefix /home/kressjm/packages/visit-install

Additionally, I tried having visit build its own python, but this was causing lots of headaches too. Hence system python here.

Desktop

Additional context

I saw some commits for QT6, so I don't know what the plan is for supporting QT5 going forward. But a few additional patches in the build system will fix QT. Below are the problem files and the fixes.

static const unsigned kSigStackSize = std::max(16384L, SIGSTKSZ);
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc

#include <cstdint>
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h

#include <stddef.h>
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
../qt-everywhere-src-5.14.2/qtwebengine/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h

In file included from gen/third_party/blink/renderer/core/core_generated_jumbo_11.cc:7:
/home/kressjm/packages/visit-src/qt-everywhere-src-5.14.2-build/qtwebengine/src/core/debug/gen/third_party/blink/renderer/core/xpath_grammar.cc:124:10: fatal error: xpath_grammar.hh: No such file or directory
  124 | #include "xpath_grammar.hh"

remove line: os.unlink(outputHTmp)
./qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/rule_bison.py

For VTK the issue is mainly around and solvable via this issue: https://gitlab.kitware.com/vtk/vtk/-/issues/17670

JustinPrivitera commented 11 months ago

I wonder if this is related? #18747

Maybe this will fix: #18642

jameskress commented 11 months ago

I wonder if this is related? #18747

Maybe this will fix: #18642

Potentially related to the first issue. It does not look like the fixes for MacOS will resolve these issues here. But I could be wrong.

I finished the build by doing the changes listed above, moving down go gcc 9.5, and with this I was able to let visit build python as well.

./build_visit --parallel --makeflags -j14 --python --conduit --vtk --qt --qwt --adios --advio --boost --conduit --gdal --glu --h5part --hdf5 --icet --llvm --netcdf --mfem --mesagl --szip --silo --zlib --mpich --vtkm --boxlib --pyside --build-mode release --mpich --prefix /home/kressjm/packages/visit-install

Fixing the VTK issue can be accomplished with a couple different greps

grep -rl "  nullptr, // tp_print"  ./ | xargs sed -i 's|  nullptr, // tp_print|  0, // tp_print|g'

grep -rl "  nullptr,                               // tp_print"  ./ | xargs sed -i 's|  nullptr,                               // tp_print|  0, // tp_print|g'

I still think a few of these will be issues moving forward.

Olami1993 commented 8 months ago

After installed visit 3.3 on my ubuntu22.04, it fail to launch the interface. How can I fix that?

JustinPrivitera commented 8 months ago

Can you run visit with debugging enabled and send us the logs? You can try visit -debug 5, which should produce a number of files ending in .vlog. If you could send us the .5.vlog files we could have a look and help diagnose your issue.

cyrush commented 1 month ago

closing, b/c releases will now focus on VTK 9 + Qt6