boa icon indicating copy to clipboard operation
boa copied to clipboard

Building package with c++ tests fail to build env with "nothing provides requested compiler"

Open frmdstryr opened this issue 2 years ago • 3 comments

When trying to build a project with c++ tests the test env fails to solve with the following error:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│                                                                                                  │
│ /home/runner/projects/boa/boa/core/run_build.py:390 in build_recipe                                 │
│                                                                                                  │
│   387 │   │   │   if final_outputs is not None:                                                  │
│   388 │   │   │   │   for final_out in final_outputs:                                            │
│   389 │   │   │   │   │   if not notest:                                                         │
│ ❱ 390 │   │   │   │   │   │   run_test(                                                          │
│   391 │   │   │   │   │   │   │   final_out,                                                     │
│   392 │   │   │   │   │   │   │   o.config,                                                      │
│   393 │   │   │   │   │   │   │   stats,                                                         │
│ /home/runner/projects/boa/boa/core/test.py:794 in run_test                                          │
│                                                                                                  │
│   791 │                                                                                          │
│   792 │   solver.replace_channels()                                                              │
│   793 │   MambaContext().target_prefix = metadata.config.test_prefix                             │
│ ❱ 794 │   transaction = solver.solve(specs, [pkg_cache_path])                                    │
│   795 │                                                                                          │
│   796 │   downloaded = transaction.fetch_extract_packages()                                      │
│   797 │   if not downloaded:                                                                     │
│                                                                                                  │
│ /home/runner/projects/boa/boa/core/solver.py:216 in solve                                           │
│                                                                                                  │
│   213 │   │   │   pstring = "\n".join(["- " + el for el in pstring.split("\n")])                 │
│   214 │   │   │   error_string += f"\nThe reported errors are:\n{pstring}"                       │
│   215 │   │   │   print(error_string)                                                            │
│ ❱ 216 │   │   │   raise RuntimeError("Solver could not find solution." + error_string)           │
│   217 │   │                                                                                      │
│   218 │   │   if pkg_cache_path is None:                                                         │
│   219 │   │   │   # use values from conda                                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: Solver could not find solution.Mamba failed to solve:
 - smesh 9.8.0.0 h0b1f3a6_0
 - occt 7.6.1 hd272fb3_0
 - vtk 9.1.0 qt_py310h8af6549_206
 - boost-cpp 1.77.0 h359cf19_1
 - zlib 1.2.11 h36c2ea0_1013
 - libstdcxx-ng 11.2.0 he4da1e4_14
 - libgcc-ng >=11.2.0
 - libgcc-ng 11.2.0 h1d223b6_14
 - tbb 2021.5.0 h4bd325d_0
 - libzlib 1.2.11 h36c2ea0_1013
 - _libgcc_mutex 0.1 conda_forge
 - mysql-common 8.0.28 ha770c72_0
 - libgfortran5 11.2.0 h5c6108e_14
 - utfcpp 3.2.1 ha770c72_0
 - ld_impl_linux-64 2.36.1 hea4e1c9_2
 - ca-certificates 2021.10.8 ha878542_0
 - libgomp 11.2.0 h1d223b6_14
 - libgfortran-ng 11.2.0 h69a702a_14
 - _openmp_mutex 4.5 1_gnu
 - xorg-xextproto 7.3.0 h7f98852_1002
 - xorg-xproto 7.0.31 h7f98852_1007
 - xorg-libice 1.0.10 h7f98852_0
 - xorg-kbproto 1.0.7 h7f98852_1002
 - lame 3.100 h7f98852_1001
 - jxrlib 1.1 h7f98852_2
 - xorg-libxdmcp 1.1.3 h7f98852_0
 - xorg-libxau 1.0.9 h7f98852_0
 - pthread-stubs 0.4 h36c2ea0_1001
 - rapidjson 1.1.0 he1b5a44_1002
 - libuuid 2.32.1 h7f98852_1000
 - libopus 1.3.1 h7f98852_1
 - pcre 8.45 h9c3ff4c_0
 - libffi 3.4.2 h7f98852_5
 - nspr 4.32 h9c3ff4c_1
 - alsa-lib 1.2.3 h516909a_0
 - ncurses 6.3 h9c3ff4c_0
 - x264 1!161.3030 h7f98852_1
 - nettle 3.6 he412f7d_0
 - gmp 6.2.1 h58526e2_0
 - libglu 9.0.0 he1b5a44_1001
 - bzip2 1.0.8 h7f98852_4
 - libev 4.33 h516909a_1
 - c-ares 1.18.1 h7f98852_0
 - keyutils 1.6.1 h166bdaf_0
 - libwebp-base 1.2.2 h7f98852_1
 - lerc 3.0 h9c3ff4c_0
 - jbig 2.1 h7f98852_2003
 - xz 5.2.5 h516909a_1
 - libnsl 2.0.0 h7f98852_0
 - openssl 1.1.1l h7f98852_0
 - pugixml 1.11.4 h9c3ff4c_0
 - lz4-c 1.9.3 h9c3ff4c_1
 - libdeflate 1.10 h7f98852_0
 - libogg 1.3.4 h7f98852_1
 - jsoncpp 1.9.5 h4bd325d_1
 - eigen 3.4.0 h4bd325d_0
 - libiconv 1.16 h516909a_0
 - icu 69.1 h9c3ff4c_0
 - jpeg 9e h7f98852_0
 - expat 2.4.7 h27087fc_0
 - double-conversion 3.2.0 h9c3ff4c_0
 - libxcb 1.13 h7f98852_1004
 - xorg-libsm 1.2.3 hd9c2040_1000
 - gettext 0.19.8.1 h73d1719_1008
 - libedit 3.1.20191231 he28a2e2_2
 - readline 8.1 h46c0cb4_0
 - gnutls 3.6.13 h85f3911_1
 - libevent 2.1.10 h9b69904_4
 - libvorbis 1.3.7 h9c3ff4c_0
 - tbb-devel 2021.5.0 h4bd325d_0
 - libllvm13 13.0.1 hf817b99_2
 - zstd 1.5.2 ha95c52a_0
 - tk 8.6.12 h27826a3_0
 - xorg-libx11 1.7.2 h7f98852_0
 - libglib 2.70.2 h174f98d_4
 - krb5 1.19.3 h3790be6_0
 - libclang 13.0.1 default_hc23dcda_0
 - mysql-libs 8.0.28 hfa10184_0
 - libtiff 4.3.0 h542a066_3
 - openh264 2.1.1 h780b84a_0
 - ilmbase 2.5.5 h780b84a_0
 - libpng 1.6.37 h21135ba_2
 - libssh2 1.10.0 ha56f1ee_2
 - libzip 1.8.0 h4de3113_1
 - hdf4 4.2.15 h10796ff_3
 - libnghttp2 1.47.0 h727a467_0
 - sqlite 3.37.1 h4ff8645_0
 - libxml2 2.9.12 h885dcf4_1
 - xorg-libxext 1.3.4 h7f98852_1
 - xorg-libxt 1.2.1 h7f98852_2
 - gstreamer 1.20.1 hd4edc92_1
 - dbus 1.13.6 h5008d03_3
 - libpq 14.2 hd57d9b9_0
 - lcms2 2.12 hddcbb42_0
 - openexr 2.5.5 hf817b99_0
 - openjpeg 2.4.0 hb52868f_1
 - gl2ps 1.4.2 h0708190_0
 - libtheora 1.1.1 h7f98852_1005
 - freetype 2.10.4 h0708190_1
 - libcurl 7.82.0 h7bff187_0
 - nss 3.76 h2350873_0
 - libxkbcommon 1.0.3 he3ba5ed_0
 - glew 2.1.0 h9c3ff4c_2
 - gst-plugins-base 1.20.1 hcf0ee16_1
 - libraw 0.20.2 h10796ff_1
 - fontconfig 2.13.96 h8e229c2_2
 - ffmpeg 4.3.2 h37c90e5_3
 - hdf5 1.12.1 nompi_h2386368_104
 - curl 7.82.0 h7bff187_0
 - proj 9.0.0 h93bde94_1
 - freeimage 3.18.0 h88c329d_7
 - libnetcdf 4.8.1 nompi_hb3fd0d9_101
 - font-ttf-dejavu-sans-mono 2.37 hab24e00_0
 - font-ttf-inconsolata 3.000 h77eed37_0
 - font-ttf-source-code-pro 2.038 h77eed37_0
 - font-ttf-ubuntu 0.83 hab24e00_0
 - tzdata 2022a h191b570_0
 - fonts-conda-forge 1 0
 - fonts-conda-ecosystem 1 0
 - python 3.10.2 h85951f9_4_cpython
 - qt 5.12.9 h1304e3e_6
 - python_abi 3.10 2_cp310
 - setuptools 60.10.0 py310hff52083_0
 - wheel 0.37.1 pyhd8ed1ab_0
 - pip 22.0.4 pyhd8ed1ab_0
 - loguru 0.5.3 py310hff52083_3
 - COMPILER_C c
 - COMPILER_CXX cxx
 - catch2
 - cmake
 - libselinux-cos6-x86_64
 - libxdamage-cos6-x86_64
 - libxfixes-cos6-x86_64
 - libxi-devel-cos6-x86_64
 - libxxf86vm-cos6-x86_64
 - mesa-dri-drivers-cos6-x86_64
 - mesa-libegl-devel-cos6-x86_64
 - mesa-libgl-devel-cos6-x86_64
 - ninja

with channels:

The reported errors are:
- Encountered problems while solving:
-   - nothing provides requested compiler_c c
-   - nothing provides requested compiler_cxx cxx

The repo is here https://github.com/frmdstryr/SMESH/tree/smesh-9.8 To test it run boa convert ci/conda/meta.yaml > ci/conda/recipe.yaml and build it with boa build ci/conda

frmdstryr avatar Mar 22 '22 12:03 frmdstryr

can you use the compilers package for now?

- compilers instead of - '{{ compiler("c") }}' in the test (you can keep it everywhere else).

wolfv avatar Mar 22 '22 12:03 wolfv

That works. Thank you!

Should I leave this open?

frmdstryr avatar Mar 22 '22 12:03 frmdstryr

yes, because it looks like we need to jinja-evaluate also the test requirements section.

wolfv avatar Mar 22 '22 15:03 wolfv