visit icon indicating copy to clipboard operation
visit copied to clipboard

qt6 and vtk9 are not defaults for build_visit 3.4RC?

Open JustinPrivitera opened this issue 1 year ago • 7 comments

I thought we were going to make qt6 and vtk9 the defaults. Yet when I run build_visit: ./build_visit --makeflags -j24 --mesagl --mpich --required --optional I see qt5 and vtk8 downloaded. I'm pretty sure that we don't patch qt5 correctly so it doesn't build on toss4 right now, so this will fail down the road.

Download succeeded: https://github.com/visit-dav/third-party/releases/download/v3.4.0/Python-3.7.7.tgz
Checking for qt-5.14.2
Downloading qt-everywhere-src-5.14.2.tar.xz . . .
verifying SHA256 checksum c6fcd53c744df89e7d3223c02838a33309bd1c291fcb6f9341505fe99f7f19fa for qt-everywhere-src-5.14.2.tar.xz . . .
verified
Download succeeded: https://github.com/visit-dav/third-party/releases/download/v3.4.0/qwt-6.1.2.tar.bz2
Checking for vtk-8.1.0
Downloading VTK-8.1.0.tar.gz . . .
verifying SHA256 checksum 6e269f07b64fb13774f5925161fb4e1f379f4e6a0131c8408c555f6b58ef3cb7 for VTK-8.1.0.tar.gz . . .
verified

JustinPrivitera avatar Nov 21 '23 23:11 JustinPrivitera

@biagas I went ahead and modified modules.xml, swapping qt with qt6 everywhere. This had the effect of enabling qt6 by default, but VTK 8 was still being downloaded. I saw that the bv_XXX_initiaialize function is called first so I looked and DO_QT6="no"; it never gets turned on until bv_qt6_enable. I went down the rabbit hole, changing things iteratively until I got something that caused qt6 to be default and also triggered vtk8. Success! Except it's super hacky. Also, if you say --qt on the command line, qt5 won't be built. This seems a mess.

What are your thoughts on the following? @brugger1 and I were discussing swapping bv_qt6.sh and bv_qt.sh, and then renaming bv_qt6 to bv_qt5. Thus when you specify --qt on the command line, you would get qt6, and when you specify --qt5 or --qt510 you would get qt5. This would keep all of the current relationships intact such that saying you want --qt5 will prevent qt6 from being built, etc.

Does that sound reasonable?

JustinPrivitera avatar Nov 29 '23 21:11 JustinPrivitera

Does that sound reasonable?

Yes it does, good thinking!

biagas avatar Nov 29 '23 22:11 biagas

@biagas why are there two files, bv_qt.sh and bv_qt6.sh? Why don't they share a file? Could they be combined with some effort? What prevents qt6 from behaving like qt5.10, where it is an extra option that lives inside the bv_qt.sh file?

JustinPrivitera avatar Dec 05 '23 19:12 JustinPrivitera

When I added support for QT6, there was significant enough difference in how things are built, it was easier to create a new file.

biagas avatar Dec 05 '23 19:12 biagas

I would also add, that I never thought we would need to continue support for QT 5 for so long.

biagas avatar Dec 05 '23 19:12 biagas

Can you think of any reason it would not make sense to combine the two? If not I will go ahead with that to simplify things in preparation for making qt6 the default.

JustinPrivitera avatar Dec 05 '23 21:12 JustinPrivitera

I don't see any reason they cannot be combined.

biagas avatar Dec 05 '23 22:12 biagas

For future edification: I opted to not combine bv_qt6.sh and bv_qt.sh, as it became very complicated and messy very quickly. I think the best course of action is to leave them separate until a day when we can retire qt5 support.

JustinPrivitera avatar May 03 '24 20:05 JustinPrivitera