CI Investigate timeout in no-OpenMP build with Meson 1.5

https://github.com/scikit-learn/scikit-learn/pull/29486#issuecomment-2242359516

> So the no-OpenMP build still times out ... from the [diff](https://github.com/scikit-learn/scikit-learn/pull/29486/files#diff-5dfc3d97f64b11902494f92b685545d78f4aa020b235c55db0d2d4a87bb976fe) Meson 1.5 could be the culprit maybe 🤔 ...
> 
> One thing that is weird is that OpenMP is now detected in the no-OpenMP build, so at the very least this build does not serve its purpose and needs to be adapted. Probably this as a side-effect of [mesonbuild/meson#13350](https://github.com/mesonbuild/meson/pull/13350), see see [build log](https://dev.azure.com/scikit-learn/scikit-learn/_build/results?buildId=68941&view=logs&j=e6d5b7c0-0dfd-5ddf-13d5-c71bebf56ce2&t=c500742d-7cbe-569e-8da5-94db9b4cd21e&l=43)
> 
> ```
> Built with OpenMP: True
> ```

Once this is fixed/worked-around, the temporary Meson<1.5 pin can be removed:
https://github.com/scikit-learn/scikit-learn/blob/8133ecaacca77f06a8c4c560f5dbbfd654f1990f/build_tools/update_environments_and_lock_files.py#L168-L170

COMMENT:
Thanks to @EmilyXinyi trying to reproduce on her macOS machine :pray:, I noticed the warning in the [build log](https://dev.azure.com/scikit-learn/scikit-learn/_build/results?buildId=68941&view=logs&j=e6d5b7c0-0dfd-5ddf-13d5-c71bebf56ce2&t=c500742d-7cbe-569e-8da5-94db9b4cd21e):
```
/usr/local/miniconda/envs/testvenv/lib/python3.12/site-packages/threadpoolctl.py:1214: RuntimeWarning: 
Found Intel OpenMP ('libiomp') and LLVM OpenMP ('libomp') loaded at
the same time. Both libraries are known to be incompatible and this
can cause random crashes or deadlocks on Linux when loaded in the
same Python program.
Using threadpoolctl may cause crashes or deadlocks. For more
information and possible workarounds, please see
    https://github.com/joblib/threadpoolctl/blob/master/multiple_openmp.md

  warnings.warn(msg, RuntimeWarning)
```

The full output of `sklearn.show_versions()` shows that there are two OpenMP one from the conda environment and a system one (I guess from brew installed on the Azure VM)
```
Number of cores (physical): 4 (4)
/usr/local/miniconda/envs/testvenv/lib/python3.12/site-packages/threadpoolctl.py:1214: RuntimeWarning: 
Found Intel OpenMP ('libiomp') and LLVM OpenMP ('libomp') loaded at
the same time. Both libraries are known to be incompatible and this
  warnings.warn(msg, RuntimeWarning)

System:
    python: 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 10:14:12) [Clang 14.0.6 ]
executable: /usr/local/miniconda/envs/testvenv/bin/python
   machine: macOS-10.16-x86_64-i386-64bit

Python dependencies:
      sklearn: 1.6.dev0
          pip: 24.0
   setuptools: 69.5.1
        numpy: 1.26.4
        scipy: 1.11.4
       Cython: 3.0.10
       pandas: 2.2.2
   matplotlib: 3.8.4
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: mkl
    num_threads: 4
         prefix: libmkl_rt
       filepath: /usr/local/miniconda/envs/testvenv/lib/libmkl_rt.2.dylib
        version: 2023.1-Product
threading_layer: intel

       user_api: openmp
   internal_api: openmp
    num_threads: 4
         prefix: libiomp
       filepath: /usr/local/miniconda/envs/testvenv/lib/libiomp5.dylib
        version: None

       user_api: openmp
   internal_api: openmp
    num_threads: 4
         prefix: libomp
       filepath: /usr/local/Cellar/libomp/18.1.8/lib/libomp.dylib
        version: None
```

@jeremiedbb, as the local OpenMP expert do you have any insights into this? I guess the no-OpenMP CI is meant to check that we can compile without OpenMP and maybe macOS with system clang was just a convenient way to check this? Now that OpenMP detection was improved in Meson 1.5, see https://github.com/mesonbuild/meson/pull/13350, maybe we need to find another way, for example a Meson compilation flag?

If that's really important to check the macOS system clang without any OpenMP support, I guess there may be a way to remove the system OpenMP with brew? Edit: `brew uninstall libomp` would probably be the first thing to try if we want to keep this macOS with system clang and without libomp installed.

The macOS CI Azure runner environment is detailed [here](https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#macos-12) and I am guessing that OpenMP comes with one of the compiler installed with brew.

Labels: Build / CI