TileDB-Inc / tiledbsoma-feedstock

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

Build a linux-64 variant against fmt 9 #83

Closed jdblischak closed 4 months ago

jdblischak commented 4 months ago

Follow up to #82. The cloud Docker images won't solve now that libtiledbsoma was built against fmt 10. This PR adds an additional build variant against fmt 9 for linux-64 only.

The downside is that this is a lot of extra CI. An alternative would be to pin to fmt 9, but then we'll need to remember to remove the pin in the future (as more and more of conda-forge will migrate to fmt 10).

jdblischak commented 4 months ago

The error in both is the same. The failure is only in the py37 build and not the other python builds

running build_ext
Checking: /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libtiledbsoma.so exists: True
  copying file /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libtiledbsoma.so to /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work/apis/python/src/tiledbsoma
  adding to package_data: ['libtiledbsoma.so']
building 'tiledbsoma.pytiledbsoma' extension
creating build/temp.linux-x86_64-cpython-37
creating build/temp.linux-x86_64-cpython-37/src
creating build/temp.linux-x86_64-cpython-37/src/tiledbsoma
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_build_env/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work=/usr/local/src/conda/tiledbsoma-py-1.7.1 -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include -fPIC -Idist_links/libtiledbsoma/include -Idist_links/libtiledbsoma/external/include -I../../build/externals/install/include -I/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include -I/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/build/externals/install/include -I/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work/apis/python/include -I/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include -I/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.7m -c src/tiledbsoma/common.cc -o build/temp.linux-x86_64-cpython-37/src/tiledbsoma/common.o -fvisibility=hidden -g0 -std=c++17 -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work/apis/python/lib -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/x86_64-linux-gnu -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib64 -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work/apis/python/lib/x86_64-linux-gnu -Wl,-rpath,/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/work/apis/python/lib64
cc1plus: warning: command-line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
In file included from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include/pybind11/detail/../detail/common.h:212,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include/pybind11/detail/../attr.h:13,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include/pybind11/detail/class.h:12,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include/pybind11/pybind11.h:13,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/pybind11/include/pybind11/numpy.h:12,
                 from src/tiledbsoma/common.h:3,
                 from src/tiledbsoma/common.cc:1:
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1708040191752/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.7m/Python.h:44:10: fatal error: crypt.h: No such file or directory
   44 | #include <crypt.h>
jdblischak commented 4 months ago

One positive sign. Although building for multiple fmt variants doubles the amount of CI time for linux-64, it only results in one extra libtiledbsoma binary to be uploaded. That's because it is the only one that depends on fmt, so it's the only one whose hash is changed. In other words, we wouldn't be uploading unnecessary R and Python binaries.

# fmt10spdlog1.12
BUILD START: ['libtiledbsoma-1.7.1-h5723a24_0.conda', 'r-tiledbsoma-1.7.1-r43h415b3ff_0.conda', 'r-tiledbsoma-1.7.1-r42h415b3ff_0.conda', 'tiledbsoma-py-1.7.1-py310h1bcaa23_0.conda', 'tiledbsoma-py-1.7.1-py38h7842824_0.conda', 'tiledbsoma-py-1.7.1-py39h1dd0e15_0.conda', 'tiledbsoma-py-1.7.1-py37hf46ae00_0.conda']

# fmt9spdlog1.11
BUILD START: ['libtiledbsoma-1.7.1-hd763302_0.conda', 'r-tiledbsoma-1.7.1-r43h415b3ff_0.conda', 'r-tiledbsoma-1.7.1-r42h415b3ff_0.conda', 'tiledbsoma-py-1.7.1-py39h1dd0e15_0.conda', 'tiledbsoma-py-1.7.1-py37hf46ae00_0.conda', 'tiledbsoma-py-1.7.1-py38h7842824_0.conda', 'tiledbsoma-py-1.7.1-py310h1bcaa23_0.conda']
jdblischak commented 4 months ago

This Python 3.7 error has nothing to do with the changes in this PR. I got the same error when I synced the main branch of my fork yesterday

https://dev.azure.com/jdblischak/feedstock-builds/_build/results?buildId=646&view=logs&j=656edd35-690f-5c53-9ba3-09c10d0bea97&t=986b1512-c876-5f92-0d81-ba851554a0a3

jdblischak commented 4 months ago

CI is green. Once again the only binaries with different hashes are the libtiledbsoma variants

# fmt10spdlog1.12
BUILD START: ['libtiledbsoma-1.7.1-h5723a24_0.conda', 'r-tiledbsoma-1.7.1-r43h415b3ff_0.conda', 'r-tiledbsoma-1.7.1-r42h415b3ff_0.conda', 'tiledbsoma-py-1.7.1-py38h7842824_0.conda', 'tiledbsoma-py-1.7.1-py39h1dd0e15_0.conda', 'tiledbsoma-py-1.7.1-py310h1bcaa23_0.conda', 'tiledbsoma-py-1.7.1-py311hed971dd_0.conda']

# fmt9spdlog1.11
BUILD START: ['libtiledbsoma-1.7.1-hd763302_0.conda', 'r-tiledbsoma-1.7.1-r43h415b3ff_0.conda', 'r-tiledbsoma-1.7.1-r42h415b3ff_0.conda', 'tiledbsoma-py-1.7.1-py310h1bcaa23_0.conda', 'tiledbsoma-py-1.7.1-py311hed971dd_0.conda', 'tiledbsoma-py-1.7.1-py38h7842824_0.conda', 'tiledbsoma-py-1.7.1-py39h1dd0e15_0.conda']
johnkerl commented 4 months ago

[sc-41243]

shortcut-integration[bot] commented 4 months ago

This pull request has been linked to Shortcut Story #41243: tiledbsoma 1.7.1.