[docker] Add Dockerfiles for Rocky 9 and handle Qt 6 installation
Description
This PR updates the Dockerfiles for Meshroom as follows:
- The Dockerfiles for CentOS 7 are replaced with Dockerfiles for Rocky 9
- The version of Ubuntu and CUDA is upgraded for the Ubuntu Dockerfiles (from 20.04 to 22.04)
- The installation of Qt is updated to correctly use the installer for Qt 6
Features list
- [X] Remove CentOS 7 Dockerfiles and scripts
- [X] Update Ubuntu Dockerfiles
- [X] Add new Dockerfiles and scripts for Rocky 9
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 77.80%. Comparing base (
aeadee5) to head (650d4d1). Report is 49 commits behind head on develop.
:white_check_mark: All tests successful. No failed tests found.
Additional details and impacted files
@@ Coverage Diff @@
## develop #2626 +/- ##
===========================================
- Coverage 78.57% 77.80% -0.77%
===========================================
Files 48 48
Lines 6577 6674 +97
===========================================
+ Hits 5168 5193 +25
- Misses 1409 1481 +72
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Thank you for this great PR.
I am new to Meshroom, I would like to know more about the Docker infrastructure design and eventually contribute to the project as well.
For AliceVision and Meshroom, why are we using a dl folder and use wget --no-check-certificate "https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run in the build-*.sh scripts?
Why not directly include those calls in the Dockerfile? It would improve the isolation and avoid unnecessary Build Context.
I am happy to create a PR if needed.
Why not add the environment variables inside the docker as well?
export ALICEVISION_ROOT=/opt/AliceVision_install
export ALICEVISION_SENSOR_DB=/opt/AliceVision_install/share/aliceVision/cameraSensors.db
export ALICEVISION_VOCTREE=/opt/AliceVision_install/share/aliceVision/vlfeat_K80L3.SIFT.tree
export ALICEVISION_SPHERE_DETECTION_MODEL=/opt/AliceVision_install/share/aliceVision/sphereDetection_Mask-RCNN.onnx
export ALICEVISION_SEMANTIC_SEGMENTATION_MODEL=/opt/AliceVision_install/share/aliceVision/fcn_resnet50.onnx
export PATH=$PATH:/opt/AliceVision_install/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/AliceVision_install/lib
@cbentejac since alicevision uses the 22.04 image now and these changes seem due, do you think these will be merged in the near future?
@cbentejac do you think this PR will make it in the develop branch anytime soon?
@cbentejac @nicolas-lambert-tc
I don't know how you build, but Alicevision already uses these Images, so i think it Meshroom should follow like it is intended in this PR. Is there any blocker i could help to address so it can be merged?
Hi @hiaselhans,
Yes, this PR will be merged soon! I need to slightly rework it before we do, though. I'm converting it to "draft" until then.