conda-forge / conda-forge/httpstan-feedstock
build does not include all the artefacts produced by the makefile included with the package
- Dominant language
- No language data
- Stars
- 0
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
- [x] I read [the conda-forge documentation](https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge) and could not find the solution for my problem there.
Issue:
the feedstock as it currently is doesn't build the tools packaged by httpstan. See the build procedure at
https://github.com/stan-dev/httpstan/blob/main/.github/workflows/main.yml
I would try to come up with a pull request but i banged my head against the wall for a while without success. My main issue was that the `make` produced a functional `stanc` during the build as tested in the build script, but the post-build steps resulted in a `stanc` that immediately segfaulted. So i'm settling for reporting the missing compiled components in the hope that somebody who understands the conda build process can make this work.
In case this is helpful, here is my final failed attempt:
meta.yaml:
```
{% set name = "httpstan" %}
{% set version = "4.5.0" %}
{% set sha256sum = "f4d81e2ecbf17fce6a03fea7200d10ab03fbad1a7f3db1453464ea12c4fa740c" %
package:
name: {{ name }}
version: {{ version }}
source:
fn: {{ version }}.tar.gz
url: https://github.com/stan-dev/httpstan/archive/refs/tags/{{ version }}.tar.gz
sha256: {{ sha256sum }}
build:
number: 4
skip: True # [win and py27]
script_env:
- http_proxy
- https_proxy
requirements:
build:
- {{ compiler('c') }} # [not win]
- {{ compiler('cxx') }} # [not win]
- make
host:
- python {{ python }}
- setuptools >=41.0
- pip
- setuptools >=41.0
- poetry
run:
- python {{ python }}
- aiohttp >=3.7,<4.0
- appdirs >=1.4,<2.0
- webargs >=7.0,<8.0
- marshmallow >=3.10,<4.0
- numpy >=1.16
- lz4 >=3.1,<4.0
- clikit
- pysimdjson
- {{ compiler('c') }} # [not win]
- {{ compiler('cxx') }} # [not win]
```
build.sh
```
#!/bin/bash
set -ex
export TBB_CXX_TYPE=gcc
# based on https://github.com/stan-dev/httpstan/blob/main/.github/workflows/main.yml
make -j2
$SRC_DIR/httpstan/stanc --version ## this works during the build but the final stanc is broken
## the poetry build would create a virtual env which we don't want
# poetry build
${PYTHON} -m pip install --no-deps .
```
Contributor guide
Research direction
Compare the feedstock's meta.yaml and build.sh with the upstream .github/workflows/main.yml build procedure. Reproduce the build and verify both the compiled tools and the post-build stanc executable, which currently works during the build but segfaults afterward. Done means the package includes all httpstan artifacts and stanc remains functional after installation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100