0

I have a package written on pure python which does not require any platform specific build procedures. However, one of run dependencies is available only for linux-64 platform. I surely understand that I am not able to run my package on win-64 platform and just want to create a package for linux-64 platform on my windows pc. I'd be rather happy to not publish the windows package and then run conda convert -p linux-64.

But if I'll try to build the following meta.yaml on windows platform

package:
  name: device
  version: 1.0.0

source:
  path: ../
build:
  entry_points:
    - Starter = device:main
  script: "{{ PYTHON }} -m pip install . -vv"
requirements:
  build:
    - python
    - setuptools
  run:
    - python>=3.10
    - pytango>=9.3.6
    - slsdetlib==6.1.2 # linux specific
    - slsdet==6.1.2 # linux specific
    - bidict>=0.22.1
    - numpy>=1.24.1

I get a reasonable error message: conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {'slsdetlib==6.1.2', 'slsdet==6.1.2'}

Can I somehow define a target platform which differs from the platform I working on and create package for linux-64 only? I know that I can just build this package in linux virtual machine and I already do so but would like to have a more elegant way.

Leonid Lunin
  • 54
  • 1
  • 7
  • Try to specify these two dependencies with `# [linux-64]` tag didn't work out and the package still cannot be built on windows. – Leonid Lunin Feb 20 '23 at 09:53
  • If you have pure Python with no compilation, then use a `noarch` build: https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#architecture-independent-packages – merv Feb 21 '23 at 23:05
  • @merv even though I get the same error: `conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {'slsdetlib=2022.2.3.dev0', 'slsdet=2022.2.3.dev0'}` – Leonid Lunin Feb 23 '23 at 13:20

0 Answers0