Hi all,
I am trying to build a package using conda-build. This is my first time trying to build a conda package, and I am having far more problems than I expected too.
I wrote a minimal build.sh:
$CXX_FOR_BUILD -O2 add_filtering_info.cpp -o add_filtering_info $CXXFLAGS $LDFLAGS -lhts -pthread
cp add_filtering_info $PREFIX/bin/
And here is the meta.yaml
{% set name = "insurveyor" %}
{% set version = "1.0.1" %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
url:
https://github.com/kensung-lab/INSurVeyor/archive/refs/tags/1.0.2.tar.gz sha256: 33c85157892d3256abc96bb2a9053f05da9dcf55befeed720e965577db0b78b5
build:
number: 0
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- cmake >=3.5
- autoconf ==2.69
- libffi
- libcurl
- bzip2
- xz
- zlib
- libdeflate
- openssl
- htslib >=1.13
host:
- libffi
- libcurl
- bzip2
- xz
- zlib
- libdeflate
- openssl
- htslib >=1.13
run:
- python
- numpy >=1.21.2
# - pyfaidx
# ==0.5.9.1
# - pysam ==0.16.0.1
test:
source_files:
- demo/
about:
home:
https://github.com/kensung-lab/INSurVeyor summary: 'An insertion caller for Illumina paired-end WGS data.'
description: |
INSurVeyor is a fast and accurate SV insertion caller for Illumina paired-end WGS data.
license: GPL-3.0-only
license_file: LICENSE
extra:
recipe-maintainers:
- Mesh89
This is the log:
https://justpaste.it/cjaza
There are many warnings, claiming they cannot find the static versions of the libraries. I am assuming this is fine and they will use the shared version.
After installing the package with conda install --use-local insurveyor and running add_filtering_info, I get
add_filtering_info: symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0
I am at a loss, I am afraid I am misunderstanding something fundamental about the building process. For example, I am not sure why the executable would look for a library in /lib in the first place. I though the environment would be self-contained.
Thanks!