Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: output confusion in rendered recipe #5459

Open
h-vetinari opened this issue Aug 15, 2024 · 0 comments
Open

BUG: output confusion in rendered recipe #5459

h-vetinari opened this issue Aug 15, 2024 · 0 comments

Comments

@h-vetinari
Copy link
Contributor

h-vetinari commented Aug 15, 2024

Something weird seems to be going on on boost feedstock (as of conda-forge/boost-feedstock@8e31090, which first got built ~2 weeks ago using conda-build 24.5, and now got rerun with conda-build 24.7).

As far as I can tell, the issue is that conda-build mixes up the package (boost-split) with one of the outputs (libboost), and then does wrongly uses libboost's configuration for the "global" (package-level) build stage (when build.sh / bld.bat are run). As part of the log we get

Excerpt from "Rendered as" in the logs
package:
  name: libboost       <---- this is wrong, should be boost-split
  version: 1.85.0
source:  patches:
    - patches/0001-Add-default-value-for-cxx-and-cxxflags-options-for-t.patch
    - patches/0002-Merge-pull-request-183-from-boostorg-ppc64le.patch
    - patches/0003-Support-numpy-2.0.0b1.patch
    - patches/0004-Support-numpy-2.0.patch
  sha256: 7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617
  url: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.tar.bz2
build:
  noarch: false
  noarch_python: false
  number: '4'
  script: install-lib.sh
  script_env:
    - PY_DUMMY_VER=3.10
    - NP_DUMMY_VER=1.21
requirements:
  build:
    - kernel-headers_linux-64 3.10.0 h4a8ded7_16
    - libgcc-devel_linux-64 12.4.0 ha4f9413_100
    - libstdcxx-ng 14.1.0 hc0a3c3a_0
    - libstdcxx-devel_linux-64 12.4.0 ha4f9413_100
    - binutils_linux-64 2.40 hb3c18ed_0
    - _libgcc_mutex 0.1 conda_forge
    - gcc_impl_linux-64 12.4.0 hb2e57f8_0
    - gxx_linux-64 12.4.0 h8489865_0
    - _sysroot_linux-64_curr_repodata_hack 3 h69a702a_16
    - libgomp 14.1.0 h77fa898_0
    - tzdata 2024a h0c530f3_0
    - libsanitizer 12.4.0 h46f95d5_0
    - sysroot_linux-64 2.17 h4a8ded7_16
    - _openmp_mutex 4.5 2_gnu
    - gcc_linux-64 12.4.0 h6b7512a_0
    - binutils_impl_linux-64 2.40 ha1999f0_7
    - ld_impl_linux-64 2.40 hf3520f5_7
    - libgcc-ng 14.1.0 h77fa898_0
    - gxx_impl_linux-64 12.4.0 h613a52c_0
  host:                                         <--- missing python 3.10 & numpy 1.21 !
    - _libgcc_mutex 0.1 conda_forge
    - libgomp 14.1.0 h77fa898_0
    - _openmp_mutex 4.5 2_gnu
    - libgcc-ng 14.1.0 h77fa898_0
    - bzip2 1.0.8 h4bc722e_7
    - libstdcxx-ng 14.1.0 hc0a3c3a_0
    - libzlib 1.3.1 h4ab18f5_1
    - xz 5.2.6 h166bdaf_0
    - icu 75.1 he02047a_0
    - zlib 1.3.1 h4ab18f5_1
    - zstd 1.5.6 ha6fb4c9_0
  run:
    - libzlib >=1.3.1,<2.0a0
    - libstdcxx-ng >=12
    - bzip2 >=1.0.8,<2.0a0
    - zstd >=1.5.6,<1.6.0a0
    - icu >=75.1,<76.0a0
    - libgcc-ng >=12
    - xz >=5.2.6,<6.0a0
    - __glibc >=2.17,<3.0.a0
  run_constrained:
    - boost-cpp =1.85.0
test:                                           <--- makes no sense, there's nothing to package/test for boost-split
  commands:
    - test ! -d $PREFIX/include/boost
    - test ! -d $PREFIX/lib/cmake/Boost-1.85.0
    - test -f $PREFIX/lib/libboost_atomic.so
    - test ! -f $PREFIX/lib/libboost_atomic.a
    - test ! -d $PREFIX/lib/cmake/boost_atomic-1.85.0
    - test -f $PREFIX/lib/libboost_charconv.so
    - test ! -f $PREFIX/lib/libboost_charconv.a
    - test ! -d $PREFIX/lib/cmake/boost_charconv-1.85.0
    - test -f $PREFIX/lib/libboost_chrono.so
    - test ! -f $PREFIX/lib/libboost_chrono.a
    - test ! -d $PREFIX/lib/cmake/boost_chrono-1.85.0
    - test -f $PREFIX/lib/libboost_cobalt.so
    - test ! -f $PREFIX/lib/libboost_cobalt.a
    - test ! -d $PREFIX/lib/cmake/boost_cobalt-1.85.0
    - test -f $PREFIX/lib/libboost_container.so
    - test ! -f $PREFIX/lib/libboost_container.a
    - test ! -d $PREFIX/lib/cmake/boost_container-1.85.0
    - test -f $PREFIX/lib/libboost_context.so
    - test ! -f $PREFIX/lib/libboost_context.a
    - test ! -d $PREFIX/lib/cmake/boost_context-1.85.0
    - test -f $PREFIX/lib/libboost_contract.so
    - test ! -f $PREFIX/lib/libboost_contract.a
    - test ! -d $PREFIX/lib/cmake/boost_contract-1.85.0
    - test -f $PREFIX/lib/libboost_coroutine.so
    - test ! -f $PREFIX/lib/libboost_coroutine.a
    - test ! -d $PREFIX/lib/cmake/boost_coroutine-1.85.0
    - test -f $PREFIX/lib/libboost_date_time.so
    - test ! -f $PREFIX/lib/libboost_date_time.a
    - test ! -d $PREFIX/lib/cmake/boost_date_time-1.85.0
    - test -f $PREFIX/lib/libboost_filesystem.so
    - test ! -f $PREFIX/lib/libboost_filesystem.a
    - test ! -d $PREFIX/lib/cmake/boost_filesystem-1.85.0
    - test -f $PREFIX/lib/libboost_graph.so
    - test ! -f $PREFIX/lib/libboost_graph.a
    - test ! -d $PREFIX/lib/cmake/boost_graph-1.85.0
    - test -f $PREFIX/lib/libboost_iostreams.so
    - test ! -f $PREFIX/lib/libboost_iostreams.a
    - test ! -d $PREFIX/lib/cmake/boost_iostreams-1.85.0
    - test -f $PREFIX/lib/libboost_locale.so
    - test ! -f $PREFIX/lib/libboost_locale.a
    - test ! -d $PREFIX/lib/cmake/boost_locale-1.85.0
    - test -f $PREFIX/lib/libboost_log.so
    - test ! -f $PREFIX/lib/libboost_log.a
    - test ! -d $PREFIX/lib/cmake/boost_log-1.85.0
    - test -f $PREFIX/lib/libboost_log_setup.so
    - test ! -f $PREFIX/lib/libboost_log_setup.a
    - test ! -d $PREFIX/lib/cmake/boost_log_setup-1.85.0
    - test -f $PREFIX/lib/libboost_math_c99.so
    - test ! -f $PREFIX/lib/libboost_math_c99.a
    - test ! -d $PREFIX/lib/cmake/boost_math_c99-1.85.0
    - test -f $PREFIX/lib/libboost_math_c99f.so
    - test ! -f $PREFIX/lib/libboost_math_c99f.a
    - test ! -d $PREFIX/lib/cmake/boost_math_c99f-1.85.0
    - test -f $PREFIX/lib/libboost_math_tr1.so
    - test ! -f $PREFIX/lib/libboost_math_tr1.a
    - test ! -d $PREFIX/lib/cmake/boost_math_tr1-1.85.0
    - test -f $PREFIX/lib/libboost_math_tr1f.so
    - test ! -f $PREFIX/lib/libboost_math_tr1f.a
    - test ! -d $PREFIX/lib/cmake/boost_math_tr1f-1.85.0
    - test -f $PREFIX/lib/libboost_prg_exec_monitor.so
    - test ! -f $PREFIX/lib/libboost_prg_exec_monitor.a
    - test ! -d $PREFIX/lib/cmake/boost_prg_exec_monitor-1.85.0
    - test -f $PREFIX/lib/libboost_program_options.so
    - test ! -f $PREFIX/lib/libboost_program_options.a
    - test ! -d $PREFIX/lib/cmake/boost_program_options-1.85.0
    - test -f $PREFIX/lib/libboost_random.so
    - test ! -f $PREFIX/lib/libboost_random.a
    - test ! -d $PREFIX/lib/cmake/boost_random-1.85.0
    - test -f $PREFIX/lib/libboost_regex.so
    - test ! -f $PREFIX/lib/libboost_regex.a
    - test ! -d $PREFIX/lib/cmake/boost_regex-1.85.0
    - test -f $PREFIX/lib/libboost_serialization.so
    - test ! -f $PREFIX/lib/libboost_serialization.a
    - test ! -d $PREFIX/lib/cmake/boost_serialization-1.85.0
    - test -f $PREFIX/lib/libboost_system.so
    - test ! -f $PREFIX/lib/libboost_system.a
    - test ! -d $PREFIX/lib/cmake/boost_system-1.85.0
    - test -f $PREFIX/lib/libboost_thread.so
    - test ! -f $PREFIX/lib/libboost_thread.a
    - test ! -d $PREFIX/lib/cmake/boost_thread-1.85.0
    - test -f $PREFIX/lib/libboost_timer.so
    - test ! -f $PREFIX/lib/libboost_timer.a
    - test ! -d $PREFIX/lib/cmake/boost_timer-1.85.0
    - test -f $PREFIX/lib/libboost_type_erasure.so
    - test ! -f $PREFIX/lib/libboost_type_erasure.a
    - test ! -d $PREFIX/lib/cmake/boost_type_erasure-1.85.0
    - test -f $PREFIX/lib/libboost_unit_test_framework.so
    - test ! -f $PREFIX/lib/libboost_unit_test_framework.a
    - test ! -d $PREFIX/lib/cmake/boost_unit_test_framework-1.85.0
    - test -f $PREFIX/lib/libboost_wave.so
    - test ! -f $PREFIX/lib/libboost_wave.a
    - test ! -d $PREFIX/lib/cmake/boost_wave-1.85.0
    - test -f $PREFIX/lib/libboost_wserialization.so
    - test ! -f $PREFIX/lib/libboost_wserialization.a
    - test ! -d $PREFIX/lib/cmake/boost_wserialization-1.85.0
    - test -f $PREFIX/lib/libboost_math_c99l.so
    - test ! -f $PREFIX/lib/libboost_math_c99l.a
    - test ! -d $PREFIX/lib/cmake/boost_math_c99l-1.85.0
    - test -f $PREFIX/lib/libboost_math_tr1l.so
    - test ! -f $PREFIX/lib/libboost_math_tr1l.a
    - test ! -d $PREFIX/lib/cmake/boost_math_tr1l-1.85.0
    - test ! -f $PREFIX/lib/libboost_exception.so
    - test -f $PREFIX/lib/libboost_exception.a
    - test ! -d $PREFIX/lib/cmake/boost_exception-1.85.0
    - test ! -f $PREFIX/lib/libboost_test_exec_monitor.so
    - test -f $PREFIX/lib/libboost_test_exec_monitor.a
    - test ! -d $PREFIX/lib/cmake/boost_test_exec_monitor-1.85.0
    - test ! -f $PREFIX/lib/libboost_python38.so
    - test ! -f $PREFIX/lib/libboost_python38.a
    - test ! -d $PREFIX/lib/cmake/boost_python38-1.85.0
    - test ! -f $PREFIX/lib/libboost_numpy38.so
    - test ! -f $PREFIX/lib/libboost_numpy38.a
    - test ! -d $PREFIX/lib/cmake/boost_numpy38-1.85.0
outputs:
  - name: libboost-headers
    requirements:
      host: null
      run_constrained:
        - boost-cpp =1.85.0
    script: install-lib.sh
    test:
      commands:
        - test -d $PREFIX/include/boost
        - [...]

The liboost output then appears a second time under outputs: where it is correct. Interestingly, the build/host environment before that log get displayed are actually correct though

build & host environment as actually used for global build stage
BUILD START: ['libboost-1.85.0-h0ccab89_4.conda', 'libboost-headers-1.85.0-ha770c72_4.conda', 'libboost-devel-1.85.0-h00ab1b0_4.conda', 'boost-cpp-1.85.0-h3c6214e_4.conda', 'libboost-python-1.85.0-py311h06317a3_4.conda', 'libboost-python-1.85.0-py312hf74af30_4.conda', 'libboost-python-1.85.0-py39h1eb36c5_4.conda', 'libboost-python-1.85.0-py39h48ff769_4.conda', 'libboost-python-1.85.0-py310ha7c98ff_4.conda', 'libboost-python-1.85.0-py38haa4b4a7_4.conda', 'libboost-python-devel-1.85.0-py311hbd00459_4.conda', 'libboost-python-devel-1.85.0-py312h9cebb41_4.conda', 'libboost-python-devel-1.85.0-py39he8689d4_4.conda', 'libboost-python-devel-1.85.0-py39had907b7_4.conda', 'libboost-python-devel-1.85.0-py310hb7f781d_4.conda', 'libboost-python-devel-1.85.0-py38hb563948_4.conda', 'boost-1.85.0-hbd00459_4.conda', 'boost-1.85.0-h9cebb41_4.conda', 'boost-1.85.0-he8689d4_4.conda', 'boost-1.85.0-had907b7_4.conda', 'boost-1.85.0-hb7f781d_4.conda', 'boost-1.85.0-hb563948_4.conda']
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Reloading output folder: ...working... done
Solving environment (_h_env): ...working... done

## Package Plan ##

  environment location: /home/conda/feedstock_root/build_artifacts/boost-split_1723687486636/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold


The following NEW packages will be INSTALLED:

    _libgcc_mutex:    0.1-conda_forge            conda-forge
    _openmp_mutex:    4.5-2_gnu                  conda-forge
    bzip2:            1.0.8-h4bc722e_7           conda-forge
    ca-certificates:  2024.7.4-hbcca054_0        conda-forge
    icu:              75.1-he02047a_0            conda-forge
    ld_impl_linux-64: 2.40-hf3520f5_7            conda-forge
    libblas:          3.9.0-23_linux64_openblas  conda-forge
    libcblas:         3.9.0-23_linux64_openblas  conda-forge
    libffi:           3.4.2-h7f98852_5           conda-forge
    libgcc-ng:        14.1.0-h77fa898_0          conda-forge
    libgfortran-ng:   14.1.0-h69a702a_0          conda-forge
    libgfortran5:     14.1.0-hc5f4f2c_0          conda-forge
    libgomp:          14.1.0-h77fa898_0          conda-forge
    liblapack:        3.9.0-23_linux64_openblas  conda-forge
    libnsl:           2.0.1-hd590300_0           conda-forge
    libopenblas:      0.3.27-pthreads_hac2b453_1 conda-forge
    libsqlite:        3.46.0-hde9e2c9_0          conda-forge
    libstdcxx-ng:     14.1.0-hc0a3c3a_0          conda-forge
    libuuid:          2.38.1-h0b41bf4_0          conda-forge
    libxcrypt:        4.4.36-hd590300_1          conda-forge
    libzlib:          1.3.1-h4ab18f5_1           conda-forge
    ncurses:          6.5-h59595ed_0             conda-forge
    numpy:            1.21.6-py310h45f3432_0     conda-forge        <--- see here
    openssl:          3.3.1-h4bc722e_2           conda-forge
    python:           3.10.14-hd12c33a_0_cpython conda-forge        <--- see here
    python_abi:       3.10-4_cp310               conda-forge
    readline:         8.2-h8228510_1             conda-forge
    tk:               8.6.13-noxft_h4845f30_101  conda-forge
    tzdata:           2024a-h0c530f3_0           conda-forge
    xz:               5.2.6-h166bdaf_0           conda-forge
    zlib:             1.3.1-h4ab18f5_1           conda-forge
    zstd:             1.5.6-ha6fb4c9_0           conda-forge

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Reloading output folder: ...working... done
Solving environment (_build_env): ...working... done
Reloading output folder: ...working... done
Solving environment (_test_env): ...working... done

## Package Plan ##

  environment location: /home/conda/feedstock_root/build_artifacts/boost-split_1723687486636/_build_env


The following NEW packages will be INSTALLED:

    _libgcc_mutex:                        0.1-conda_forge     conda-forge
    _openmp_mutex:                        4.5-2_gnu           conda-forge
    _sysroot_linux-64_curr_repodata_hack: 3-h69a702a_16       conda-forge
    binutils_impl_linux-64:               2.40-ha1999f0_7     conda-forge
    binutils_linux-64:                    2.40-hb3c18ed_0     conda-forge
    ca-certificates:                      2024.7.4-hbcca054_0 conda-forge
    gcc_impl_linux-64:                    12.4.0-hb2e57f8_0   conda-forge
    gcc_linux-64:                         12.4.0-h6b7512a_0   conda-forge
    gdbm:                                 1.18-h0a1914f_2     conda-forge
    gmp:                                  6.3.0-hac33072_2    conda-forge
    gxx_impl_linux-64:                    12.4.0-h613a52c_0   conda-forge
    gxx_linux-64:                         12.4.0-h8489865_0   conda-forge
    kernel-headers_linux-64:              3.10.0-h4a8ded7_16  conda-forge
    ld_impl_linux-64:                     2.40-hf3520f5_7     conda-forge
    libffi:                               3.4.2-h7f98852_5    conda-forge
    libgcc-devel_linux-64:                12.4.0-ha4f9413_100 conda-forge
    libgcc-ng:                            14.1.0-h77fa898_0   conda-forge
    libgomp:                              14.1.0-h77fa898_0   conda-forge
    libsanitizer:                         12.4.0-h46f95d5_0   conda-forge
    libstdcxx-devel_linux-64:             12.4.0-ha4f9413_100 conda-forge
    libstdcxx-ng:                         14.1.0-hc0a3c3a_0   conda-forge
    libxcrypt:                            4.4.36-hd590300_1   conda-forge
    libzlib:                              1.3.1-h4ab18f5_1    conda-forge
    ncurses:                              6.5-h59595ed_0      conda-forge
    openssl:                              3.3.1-h4bc722e_2    conda-forge
    readline:                             8.2-h8228510_1      conda-forge
    ruby:                                 3.3.3-h3da8d8b_0    conda-forge
    sysroot_linux-64:                     2.17-h4a8ded7_16    conda-forge
    tzdata:                               2024a-h0c530f3_0    conda-forge
    yaml:                                 0.2.5-h7f98852_2    conda-forge

Preparing transaction: ...working... done
[...]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant