su2code / SU2

SU2: An Open-Source Suite for Multiphysics Simulation and Design
https://su2code.github.io
Other
1.34k stars 844 forks source link

Improve ninja system-wide detection #2364

Open carlosal1015 opened 2 weeks ago

carlosal1015 commented 2 weeks ago

Describe the bug

In Arch Linux, ninja binary detection is wrong. Let's see a minimal extract of build_ninja().

# File located at /tmp/main.py
import sys
import os
import subprocess

try:
    subprocess.run(
        [sys.path[0] + os.path.sep + "ninja", "--version"], stdout=subprocess.PIPE
    )
except OSError:
    print("ninja executable not found. Building ...")
    subprocess.run(
        args=[
            subprocess.run(
                args=["which", "ninja"], capture_output=True, text=True
            ).stdout.strip(),
            "--version",
        ],
        stdout=subprocess.PIPE,
    )
    subprocess.run(["ninja", "--version"])

    subprocess.run(["pwd"])
    print(sys.path[0])
ninja executable not found. Building ...
1.12.1
/tmp
/tmp

Desktop

pcarruscag commented 2 weeks ago

Thanks, please open a pull request with the proposed fix