Skip to content

New feature: Add AlmaLinux8 Dockerfile with updated ML toolchain (TensorFlow 2.17 / CUDA 12.3)#9

Open
xaviliz wants to merge 4 commits into
MTG:masterfrom
xaviliz:feat/upgrade-to-almalinux8
Open

New feature: Add AlmaLinux8 Dockerfile with updated ML toolchain (TensorFlow 2.17 / CUDA 12.3)#9
xaviliz wants to merge 4 commits into
MTG:masterfrom
xaviliz:feat/upgrade-to-almalinux8

Conversation

@xaviliz
Copy link
Copy Markdown
Contributor

@xaviliz xaviliz commented Mar 9, 2026

New feature: Add AlmaLinux8 Dockerfile with updated ML toolchain (TensorFlow 2.17 / CUDA 12.3)

Upgrade

New Dockerfile based on manylinux_2_28 AlmaLinux8 to update the Essentia building procedure and to accomplish onnxruntime prerequisites.

Details

  • Provides a new Dockerfile for building Essentia 3rd party libraries in Debian
  • Modify building scripts to build essentia dependencies:
    • build_3rdparty_static.sh
    • build_tools.sh
    • install_cuda.sh
  • Download a custom essentia version
    • To build tensorflow-2.17.0 it need to modify TENSORFLOW_VERSIONand some TF flags in build_config.sh
    • Update those changes in a new pull request in Essentia repository.

Prerequisites

  • docker >= 29.0.0

Testing

  • All Essentia dependencies build successfully in a x86_64 machine
  • Tensorflow builds successfully!
  • Essentia builds successfully
    • except --with-vamp (ffmpeg should be build as dynamic library - need to add additional flags)
    • TensorflowPredict unit tests have been successfully passed

How to test

docker build -f Dockerfile-manylinux_2_28_x86_64 -t manylinux_2_28_x86_64

How to run and validate

docker run -it manylinux2014_x86_64:latest /bin/bash
ls -lth /usr/local/lib/

xaviliz added 4 commits March 9, 2026 15:20
New dependencies:

- tensorflow-2.17.0
- cuda-12.3
- cudnn-9
- bazel-6.5.0
- cmake-3.16.9
- gcc-11
- qt-5
- Download an Essentia version with updated tensorflow version and
  variables to build TF2.17.0
- Erase gaia from the building command to avoid errors building Qt4.
  Gaia should upgrade to Qt5 to build with cmake3
- Install Qt5 package - Qt4 is not available in Alma Linux8
- Define Bazel version to 6.5.0 in the .bashrc
@xaviliz xaviliz marked this pull request as ready for review March 9, 2026 15:38

# Check out a particular commit for building dependencies
curl -SLO https://github.com/MTG/essentia/archive/$ESSENTIA_3RDPARTY_VERSION.zip
curl -SLO https://github.com/xaviliz/essentia/archive/$ESSENTIA_3RDPARTY_VERSION.zip
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use MTG repository


# Install dependencies to /usr/local; force --static flag to pickup private libraries for Qt
PKGCONFIG="/usr/bin/pkg-config --static" ./packaging/build_3rdparty_static_debian.sh --with-gaia ${with_tensorflow}
#! Gaia cannot be installed with Qt4 with cmake3, it needs to update to Qt5 first
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check if we can keep older cmake in addition to cmake3 to be able to build with Gaia.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the issue here is about there is no qt4-devel package in quay.io/pypa/manylinux_2_28_x86_64 we would need to update to Qt5 in AlmaLinux8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually updated Gaia to Qt5 in this PR, therefore, we need to fix the pending issues in https://github.com/MTG/gaia/milestone/3, tag a new Gaia release and use it here.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants