开发者

conda-build fails to recognise libraries

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.

Here is my build.sh

CMAKE_PLATFORM_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake")
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$PREFIX ${CMAKE_PLATFORM_FLAGS[@]} .
make
cp surveyor.py random_pos_generator.py $PREFIX/bin/
cp add_filtering_info call_insertions clip_consensus_builder dc_remapper filter nor开发者_如何学编程malise reads_categorizer $PREFIX/bin/

And here is my 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:
  skip: True # [not linux]
  number: 0

requirements:
  build:
    - {{ compiler('c') }}
    - {{ compiler('cxx') }}
    - cmake >=3.5
    - autoconf ==2.69
  host:
    - libcurl
    - bzip2
    - xz
    - zlib
    - libdeflate
    - openssl 
    - htslib >=1.13
  run:
    - python
    - numpy >=1.21.2

test:
  source_files:
    - demo/

about:
  home: https://github.com/kensung-lab/INSurVeyor
  summary: 'An insertion caller for Illumina paired-end WGS data.'
  description: XXX
  license: GPL-3.0-only
  license_file: LICENSE

extra:
  recipe-maintainers:
    - Mesh89

And here is the output of the process:

https://justpaste.it/3gfzf

(stack overflow would think the log is spam)

There are plenty of worrying messages, for example:

Warning: rpath /home/user/anaconda3/conda-bld/insurveyor_1670384223059/_build_env/lib is outside prefix /home/user/anaconda3/conda-bld/insurveyor_1670384223059/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ (removing it)
Unknown format
WARNING :: Failed to get_static_lib_exports(/home/user/anaconda3/conda-bld/insurveyor_1670384223059/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libssl.a)
Unknown format

Binary doesn't have a program header

When I try to run any executable, I get

symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0

I have spent a long time trying to figure out what is wrong and I am completely lost. When I google the warning/error messages, I cannot find any results. I wonder if there is something fundamental that I misunderstand about the build process. For example, why does conda complain about the rpath of the executables pointing to the build environment? Why those "Unknown format" warnings regarding the static libraries?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜