conda-forge / lfortran-feedstock

A conda-smithy repository for lfortran.
BSD 3-Clause "New" or "Revised" License
6 stars 9 forks source link

Get the package building again #104

Closed certik closed 1 day ago

certik commented 2 days ago

There seem to be some build issues unrelated to LFortran, so in this PR we get the old LFortran version that used to work building again. Only then we will upgrade LFortran.

Checklist

certik commented 2 days ago

First we'll see if it builds without rerendering. Then we'll rerender and see again.

conda-forge-admin commented 2 days ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

certik commented 1 day ago

@conda-forge-admin, please rerender

certik commented 1 day ago

Ok, got it working without rerender. The issue was that emsdk by default upgraded node from 18 to 20. It's weird, we set a specific version of emsdk, but it still happened. I would like to control this explicitly, as it obviously broke the build and it will break it again in the future. But for now at least it works.

Now let's rerender and see.

certik commented 1 day ago

Now we are facing a really weird error on macOS intel:

/Users/runner/miniforge3/conda-bld/lfortran_1731688392502/work/src/libasr/codegen/asr_to_cpp.cpp:1:10: fatal error: 'iostream' file not found
    1 | #include <iostream>
      |          ^~~~~~~~~~
1 error generated.
make[2]: *** [src/libasr/CMakeFiles/asr.dir/build.make:76: src/libasr/CMakeFiles/asr.dir/codegen/asr_to_cpp.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:470: src/libasr/CMakeFiles/asr.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

And a problem on macOS arm:

├─ cmake 3.21.1.*  is installable and it requires
│  └─ zlib >=1.2.11,<1.3.0a0 , which can be installed;
└─ llvmdev 18.1.8.*  is not installable because it requires
   ├─ libzlib >=1.3.1,<2.0a0  but there are no viable options
   │  ├─ libzlib 1.3.1 would require
   │  │  └─ zlib 1.3.1 *_1, which conflicts with any installable versions previously reported;
   │  ├─ libzlib 1.3.1 would require
   │  │  └─ zlib 1.3.1 *_2, which conflicts with any installable versions previously reported;
   │  └─ libzlib 1.3.1 would require
   │     └─ zlib 1.3.1 *_0, which conflicts with any installable versions previously reported;
   └─ llvm-tools [18.1.8 h9ce406d_0|18.1.8 h9ce406d_1], which requires
      └─ libzlib >=1.3.1,<2.0a0 , which cannot be installed (as previously explained).

We need lower cmake, as the newer cmake adds -g which breaks things. But we need newer LLVM as the older is not installable anymore. The two requirements are incompatible via the zlib version.

certik commented 1 day ago

Doing a clean fix of this in https://github.com/conda-forge/lfortran-feedstock/pull/108.

certik commented 1 day ago

Closing in favor of https://github.com/conda-forge/lfortran-feedstock/pull/108.