Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 20 23:28
    anaconda-issue-bot commented #4284
  • Sep 20 23:28
    kenodegard opened #4284
  • Sep 20 23:26
    kenodegard commented #4183
  • Sep 20 23:26
    kenodegard commented #4183
  • Sep 20 23:23
    kenodegard synchronize #4183
  • Sep 19 05:13
    lebedov opened #4283
  • Sep 17 17:05
    jezdez commented #4282
  • Sep 17 17:05
    charudatta10 opened #4282
  • Sep 16 16:04
    anaconda-issue-bot labeled #4281
  • Sep 16 16:04
    isuruf opened #4281
  • Sep 16 15:17
    qris opened #4280
  • Sep 14 08:51
    sama2689 edited #4279
  • Sep 14 08:47
    sama2689 opened #4279
  • Sep 14 00:57
    isuruf commented #4104
  • Sep 13 20:17
    DannieSheng closed #4278
  • Sep 13 20:16
    DannieSheng opened #4278
  • Sep 13 17:05
    FaustinCarter commented #4104
  • Sep 09 12:14
    abhiramr commented #4270
  • Sep 08 19:59
    mingwandroid added as member
  • Sep 08 19:59
    jcrist added as member
Cheng H. Lee
@chenghlee
I imagine you'd have to be in a really, really odd state where everything other than build string is tied.
The hash in the build string serves a different purpose; it's meant to distinguish different variants of a package. E.g., for numpy, the hash encodes information about what BLAS library the package was linked against (MKL vs OpenBLAS).
Lucas Hosseini
@beauby
Yup, I understand that part, I was just mentioning that the hash won't yield lexicographically increasing strings
Cheng H. Lee
@chenghlee
Right.
But the lexicographical ordering of the build strings is likely irrelevant there, as the package selection would be determined by the BLAS specification of the environment.
Lucas Hosseini
@beauby
True
Krishna Bhogaonker
@00krishna

Hey folks, I was hoping someone could point me in the right direction with this one. I am building a package called nyuki using conda build 3.20.3. The error is happening after the build process as conda build is uploading to Anaconda.org, it seems.

Uploading nyuki-0.0.3-py_0.tar.bz2 to anaconda.org
Traceback (most recent call last):
  File "/media/krishnab/lakshmi/anaconda3/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 474, in main
    execute(sys.argv[1:])
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 465, in execute
    verify=args.verify, variants=args.variants)
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/site-packages/conda_build/api.py", line 210, in build
    notest=notest, variants=variants)
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 3155, in build_tree
    handle_anaconda_upload(tarballs, config=config)
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 3236, in handle_anaconda_upload
    subprocess.call(cmd + [package])
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/subprocess.py", line 339, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/subprocess.py", line 1465, in _execute_child
    executable = os.fsencode(executable)
  File "/media/krishnab/lakshmi/anaconda3/lib/python3.7/os.py", line 812, in fsencode
    filename = fspath(filename)  # Does type-checking of `filename`.
TypeError: expected str, bytes or os.PathLike object, not list

I am logged in to Anaconda.org through the terminal, so should be no issue there. The tests all seem to pass in the build process. The only strange errors are those ones about ERROR:conda_build.utils:Failed to rename work directory despite sleeping and retrying. This is some Windows file locking mis-bahaviour. Note that I am building on Ubuntu Linux 18.04.

The meta.yaml file is as follows.

{% set name = "nyuki" %}
{% set version = "0.0.3" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://github.com/00krishna-tools/nyuki/archive/v{{ version }}.tar.gz
  sha256: f98b3d43bdc89fe4d10dfe5da59d9e961013329df7d799396195b31cf15f84ed

build:
  noarch: python
  number: 0
  entry_points:
    - nyuki = nyuki.nyuki:nyuki

requirements:
  host:
    - python >3.5
    - pip
    - numpy >=1.18.5
    - pandas
    - rasterio
    - click >=7
    - tqdm
    - geopandas
    - pillow
    - libwebp
    - libtiff >4.0
  run:
    - python >3.5
    - numpy >=1.18.5
    - pandas
    - rasterio
    - click >=7
    - tqdm
    - geopandas
    - pillow
    - libwebp
    - libtiff >4.0

test:
  imports:
    - nyuki
  commands:
    - test -f ${PREFIX}/lib/libtiff.a  # [not win]
    - test -f ${PREFIX}/lib/libtiffxx.a  # [not win]
    - test -f ${PREFIX}/lib/libtiff{{ SHLIB_EXT }}  # [not win]
    - test -f ${PREFIX}/lib/libtiffxx{{ SHLIB_EXT }}  # [not win]
    - if not exist %PREFIX%\\Library\\bin\\tiff.dll exit 1  # [win]
    - if not exist %PREFIX%\\Library\\bin\\tiffxx.dll exit 1  # [win]
    - if not exist %PREFIX%\\Library\\bin\\libtiff.dll exit 1  # [win]
    - if not exist %PREFIX%\\Library\\bin\\libtiffxx.dll exit 1  # [win]

about:
  home: https://github.com/00krishna-tools/nyuki
  license: MIT
  license_family: MIT
  license_file: LICENSE.txt
  summary: "A geospatial library for humans. "

  description: "Nyuki: a geospatial library for humans"
  doc_url: https://nyuki-a-geospatial-toolkit-for-humans.readthedocs.io/en/latest/
  dev_url: https://github.com/00krishna-tools/nyuki

extra:
  recipe-maintainers:
    - 00krishna

Any help is appreciated.

Fabien Celier
@fabiencelier

Hi guys,
I want to build 2 packages:

  • one OS dependant with binaries
  • one noarch with only python calling the binaries

In the python package how can I know where the binaries of the first package are located ?

Ray Donnelly
@mingwandroid
Next PR to conda-build will be #4096 for those who like round numbers.
Gabriel Reis
@gabrielcnr
@mingwandroid if I have a noarch python package, but I want to bring an extra run dependency on Windows only, I can't use selectors for # [win] if I'm building on Linux? Is there a way to achieve that?
Ray Donnelly
@mingwandroid
No, there is not. conda doesn't have separate dependency metadata per-platform for a noarch python package.
That works against the idea frankly
You could have a fake package on the other platforms, but that's kind of horrible. Still ...
There's worse
Gabriel Reis
@gabrielcnr
I see the point... thanks
Faustin Carter
@FaustinCarter
I'm having an issue where specifying a channel_alias in condarc appears to be reordering channel priority during solving of specs.
So the solver creates a list of packages from different channels using the wrong priority order, and then the build process crashes when it tries to create an environment with that spec, because it runs afoul of the strict channel priority.
This is definitely a bug
I'm wondering if anyone has run into anything like this before.
To be clear, this issue is specific to conda-build. conda create collects the right set of specs regardless of channel_alias being specified.
Is there a reason conda-build doesn't use the same solver as conda create?
Faustin Carter
@FaustinCarter
I put some more details in this bug report
Isuru Fernando
@isuruf
@mingwandroid, when cross compiling, the various variant files are read first with build_platform specific selectors even if target_platform was set in a previous variant file. Any workarounds?
Ray Donnelly
@mingwandroid
@isuruf, hmm, no I guess someone will have to spend some time fixing it though.
If you file a bug or a PR with a xfail test to conda-build then it'd help get it on the radar.
1 reply
to me, the selectors are ill-specified anyway for cross.
you really want build=='osx-64', host=='linux-64' etc instead..
2 replies
in fact that'd be my preferred approach here. deprecate the naked platform selectors with this
Isuru Fernando
@isuruf
What do you think about not recording CONDA_BUILD_SYSROOT in the package? When doing building on one machine and testing on another, this directory might not exist
On the other hand, if this is not recorded, testing on the same machine might not work
I can workaround this in the compiler package by unsetting this variable if the directory does not exist and ${CONDA_BUILD_STATE}==TEST, but feels hacky.
Isuru Fernando
@isuruf
I mean something like the following in the compiler activation script
if [ "${CONDA_BUILD_SYSROOT:-0}" != "0" ] && [ "${CONDA_BUILD_STATE:-0}" = "TEST" ] && [ ! -d "${CONDA_BUILD_SYSROOT:-0}" ]; then
  unset CONDA_BUILD_SYSROOT
fi
Ray Donnelly
@mingwandroid
Yeah, maybe.. be good to issue a warning here: "To test with used build-time macOS SDK, populate ${CONDA_BUILD_SYSROOT}"
Matthew R. Becker
@beckermr
any ideas on this one?
looks like text prefix replacement is not working in at least one case in conda-build 3.20.4
Marcelo Duarte Trevisani
@marcelotrevisani
does anyone have any news regarding tensorflow 2.3.1 on the main channels?
AnacondaRecipes/tensorflow_recipes#24
Ray Donnelly
@mingwandroid
Nothing to report @marcelotrevisani
Marcelo Duarte Trevisani
@marcelotrevisani
@mingwandroid thanks!
Ray Donnelly
@mingwandroid
Planning to release a new conda-build towards the end of the day. Any issues / PRs you have please let me know here.
Ray Donnelly
@mingwandroid
Gabriel Reis
@gabrielcnr
How can I make conda-build to spit the conda package in the new format (.conda) instead of the .tar.bz2? I can't seem to find that option... do I need to rely on the cph format conversion?
Ray Donnelly
@mingwandroid
yes
you rely on cph for this
we haven't tested direct creation of .conda packages so wouldn't recommend it. There is a way to enable it though if you want to avoid .bz2s. You cannot upload .conda packages to anaconda.org either.
4 replies
Matthew R. Becker
@beckermr
cph command line tool at 1.7.2 has a bug
will make an issue
just warning