FROM ubuntu:jammy ENV DEBIAN_FRONTEND=noninteractive # install curl and download the febio installer first to prevent any site timeout for the cookies RUN apt-get update && \ apt-get install curl -y COPY cookies.txt /tmp/cookies.txt RUN curl --output /tmp/febio.zip -b /tmp/cookies.txt "https://febio.org/download/12171/?tmstv=1729879260" && \ rm /tmp/cookies.txt RUN apt-get install -y \ binutils \ libgomp1 \ libglu1-mesa \ libx11-6 \ libxtst6 \ libxrender1 \ libxrandr2 \ libxcursor1 \ libglib2.0-0 \ libxcb-xinerama0 \ libxkbcommon-x11-0 \ mesa-utils \ openbox \ qt6-base-dev \ x11-apps \ xorg \ zip \ && rm -rf /var/lib/apt/lists RUN unzip -p /tmp/febio.zip > /tmp/febio.run && \ chmod +x /tmp/febio.run && \ rm /tmp/febio.zip RUN /tmp/febio.run \ --mode unattended \ --unattendedmodeui minimal \ --enable-components comp_febio_sdk RUN rm /tmp/febio.run && \ ln -s /opt/FEBioStudio/bin/FEBioStudio /usr/bin/FEBioStudio && \ ln -s /opt/FEBioStudio/bin/febio4 /usr/bin/febio4 # See https://unix.stackexchange.com/a/700599. libQt6Core.so.6 adds a tag that denotes a minimum kernel version required # to run it and is set to 3.17.0, above Centos7's 3.10.0. This is why the library was never found even within a # container despite successfully finding other Qt6 libraries. This command removes that tag so Qt6Core will function on # Linux kernel 3.10.0 RUN strip --remove-section=.note.ABI-tag /opt/FEBioStudio/lib/libQt6Core.so.6 ENTRYPOINT ["FEBioStudio"]