the immediate blocker when trying to run this Python project is that a native package deep within its dependency graph won’t compile without gcc-12 even though gcc 15 was released in August last year

that’s not even targeting gcc 14 which was released in 2024

and to hardcode this expectation without a Dockerfile or some Python-native mechanism to pull in a specific version of a C/Cxx compiler …

https://xkcd.com/1987/

🐍 🤡

  • jokeyrhyme@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    12
    ·
    15 hours ago

    Why do you need gcc to compile a Python program?

    this is pretty common in interpreted languages/runtimes like Python, Node.js, Ruby, etc where a dependency is written in C or C++ or Rust or something else when the performance benefit is worth the cost of abandoning the primary language

    the amusing/horrifying part is that Node.js actually depends on a Python script for this, so any Node.js application with a C/C++/Rust dependency actually needs Python installed somewhere

    e.g. https://github.com/pyca/cryptography is a Python dependency that requires the Rust compiler/toolchain if pip / pipx / uv can’t find a pre-compiled version for your system

    To me sounds like either a neglected project or designed to run in a docker image maybe? When was it updated last?

    as far as i can tell, the project is alive and well, frequent and recent commits, and all the dependencies involved here are on their latest versions

    In such cases its probably the best to run the application in a virtual machine.

    and yeah, i know i can fix this with a VM or a Dockerfile and i’ll probably have to

    but my point is that Python is kinda’ hot garbage for sharing code that depends on other shared code

    it’s a terrific language by itself and sharing code that only depends on the standard library is perfectly fine, but as soon as we share code that depends on other third-party code we introduce inevitable suffering

    • thingsiplay@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      I see. My assumption was you had a problem with a certain application, and my reply was from that viewpoint.

      I 100% agree that Python programs relying on binary programs can be really complicated. In fact one of my projects requires a third party binary program to be installed, but I do not build it from source and just require it to be available on the system. And I encountered lot of issues when trying to create AppImage and sharing in certain environments. Actually this made me learn Rust, so I have a real compiled language in my repertoire for future projects when needed.