Sign inSign up

jmbatto/juliabench

By jmbatto

•Updated 8 months ago

Julia 1.12 (Source Build) & PDI 1.10 environment on Debian Trixie with headless GTK4 support.

Image
Languages & frameworks
Developer tools
Data science
0

1.1K

jmbatto/juliabench repository overview

⁠Julia 1.12 & PDI Development Environment (Debian Trixie)

A robust, source-compiled development environment designed for high-performance coupling between Julia and C using PDI. This image is built on Debian Trixie (Testing) and includes critical patches for stability with modern toolchains (GCC 13+).
Docker file on github⁠

⁠🚀 Key Features

  • Julia 1.12.4 (Source Compiled): Built from source to ensure compatibility with Debian Trixie's system libraries.

    • Stability Fixes: Compiled with -gdwarf-4 and noexecstack to resolve critical libunwind segfaults caused by GCC 13 defaults.
    • System Integration: Configured to use internal unwinding while avoiding conflicts with system LLVM.
  • PDI 1.10.0: Installed with full Python support.

    • Compatibility: Patched to support Python 3.12+ (which removed distutils), ensuring the pycall plugin compiles correctly.
  • Headless GTK4 Support: Pre-configured with Xvfb, dbus-x11, and libgl1 to support graphical plotting libraries (ProfileView, Gtk4.jl) in a headless container environment.

  • Clean Environment: LD_LIBRARY_PATH is strictly optimized to prevent "DLL Hell" between Julia Artifacts and system libraries (GLib/GObject).

⁠📦 Installed Components

  • OS: Debian Trixie (Testing)
  • Julia: v1.12.4
  • PDI: v1.10.0 (with HDF5, Python, and PyCall plugins)
  • Python: 3.12+ (with numpy and setuptools)
  • Dev Tools: build-essential, hdf5-tools, cmake, git, gdb, valgrind, neowofetch.
  • Julia Packages: HDF5, DataFrames, Gtk4, ProfileView, PProf.

⁠🛠 Usage

⁠Basic Interactive Shell
docker run -it jmbatto/juliabench
⁠Important

To use Gtk4 or ProfileView without a physical display, you must wrap the command with xvfb-run :

xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24 -nolisten tcp" \
    julia --project=. -e 'using ProfileView; ...'

Tag summary

Content type

Image

Digest

sha256:22cab9b88…

Size

1.2 GB

Last updated

8 months ago

docker pull jmbatto/juliabench