Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 29 16:32
    kenodegard labeled #4519
  • Jun 29 16:32
    kenodegard labeled #4519
  • Jun 29 16:32
    kenodegard edited #4519
  • Jun 29 16:32
    kenodegard edited #4519
  • Jun 29 16:31
    kenodegard labeled #4519
  • Jun 29 16:31
    kenodegard labeled #4519
  • Jun 29 16:30
    kenodegard edited #4403
  • Jun 29 16:30
    kenodegard opened #4519
  • Jun 28 19:52
    pawel125 closed #4498
  • Jun 28 19:52
    pawel125 commented #4498
  • Jun 28 14:26
    frgfm commented #4480
  • Jun 28 11:33

    jezdez on infra

    (compare)

  • Jun 28 11:31
    jezdez closed #4511
  • Jun 28 11:31

    jezdez on master

    🔄 Synced file(s) with conda/in… (compare)

  • Jun 28 11:26
    mguijarr commented #4498
  • Jun 28 10:28
    jezdez synchronize #4511
  • Jun 28 10:28

    jezdez on infra

    🔄 Synced file(s) with conda/in… (compare)

  • Jun 28 09:23

    jezdez on master

    Replace `r-cortools` with `r-ba… (compare)

  • Jun 28 09:23
    jezdez closed #4516
  • Jun 28 09:18
    conda-bot synchronize #4511
Faustin Carter
@FaustinCarter
Hey all, can anyone help shed some light on whether channeldata.json is actually used for anything? The only mentions of it in the docs are here: https://docs.conda.io/projects/conda-build/en/latest/concepts/generating-index.html?highlight=channeldata.json#parts-of-a-channel, but no mention of actual utility.
I'm wondering what negative downstream consequences there are if that file does not exist in a channel (but all the repodata and current_repodata files are in place).
nvm, found it
Anthony Scopatz
@scopatz
Hey Folks! I vaguely recall there was some way to use ccache with conda-build can anyone point me in the right direction here?
Blog posts, docs, etc
Jonathan J. Helmus
@jjhelmus
Anthony Scopatz
@scopatz
Thanks!
Fabien Celier
@fabiencelier
Hello,
Is it possible to build a package that is OS specific (win-64/osx-64/linux-64) but cross Python version ?
I always end up having my Python version pinned in "lib/python3.8/site-packages"
Nehal J Wani
@nehaljwani
26 replies
Matthew R. Becker
@beckermr
Does conda need the repodata.json files for anything?
or does it only pull the compressed ones?
Ray Donnelly
@mingwandroid
Hey Folks! I vaguely recall there was some way to use ccache with conda-build can anyone point me in the right direction here?
Hi @scopatz , conda-build 3.20.x have support for the jinja2 function "ccache(method)" where method can be symlinks, env_vars or native.
Defaults has fairly robust ccache exes, but ccache is moving fast, esp. on Windows support so it might be worth making sure that we're up to date with our ccaches
To see that it's working, you want to do e.g. ls -lrt ~/.ccache during builds and see that the order changes around lots! or run ccache -s to see some stats
probably I want to clear the stats at the start of a build and print them at the end of it, PRs and any testing/fixing very welcome!
Oops, missed Jonathan's comment. I'd like people to kick this feature around a bit for now, I don't think it's quite ready yet.
Anthony Scopatz
@scopatz
Yeah, I am just not even sure how to use it :laughing:
I have been trying to use it on windows, where everything is weird
Ray Donnelly
@mingwandroid
I'll try to kick the tyres a bit later, for sure it'll work better on the other OSes and it is still a bit of an experiment. Isuru didn't want it integrated into conda-build really but I want conda-build's stats reporting to tie into it via calling ccache -s. It can then report if using ccache actually did anything useful for your build or not so you can investigate that (maybe try the other methods, or modify bld.bat/build.sh etc)
Joe Graham
@josgraha
hello all, getting an error when I run conda-build --no-anaconda-upload --python=3.6 .
Scripts/.packagename-pre-link.sh not in info/files
this is from tar check.py, any clues where to look? not too familiar with build errors yet (this is for a noarch py>=3) package
2 replies
I guess I'm probably more interested in how tarcheck.py works and what the inputs are
Matthew R. Becker
@beckermr
@jjhelmus @mingwandroid @chenghlee have you all looked into code signing on osx-arm64? @isuruf @erykoff and I are hitting roadblocks due to missing or invalid signatures coming out of conda-build.
28 replies
J. Emiliano Deustua
@edeustua
This message was deleted
mattchan-tencent
@mattchan-tencent
Hi, is there any guidance on how to use pytest as a part of a conda build recipe?
5 replies
It seems like it's meant to be used with tox for installed packages, but there's significant overlapping functionality with conda build in that case...
mattchan-tencent
@mattchan-tencent
I guess one more question. What about the cases with cmake tests? Do you just run them after the compile in the build phase? Or is there some way to get all the sources, binaries, etc into the test phase?
mattchan-tencent
@mattchan-tencent
(the tests are run with "make test")
Jonathan J. Helmus
@jjhelmus
Typically cmake/autotools tests are run as part of the build rather than in the test phase.
Ray Donnelly
@mingwandroid
@mattchan-tencent I have a preference for tests (provided they are not too expensive, size-wise and time-to-run-wise) to be added to the package itself via conda-build's test metadata. Sometimes this is easy, but sometimes not. Getting the tests into the package itself allows that package to be tested later in different environments which will help greatly with tracking down unexpected behaviours (for example when you update some of the deps)
It might be an idea to split the package into package and package-tests too. Then make the test for package depend on package-tests. That way people who do not care about the tests do not suffer the costs. This would also be a good way to handle tests that are larger (and maybe take longer) .. I would love to find the time to implement multi-level testing too or perhaps giving tests some metadata against which you (or tooling) can filter them (needs_network, needs_super_user, slow_test, heavy_test, etc).
Isuru Fernando
@isuruf
Why does conda-build print warning messages twice? For eg:
No numpy version specified in conda_build_config.yaml.  Falling back to default numpy value of 1.11
WARNING:conda_build.metadata:No numpy version specified in conda_build_config.yaml.  Falling back to default numpy value of 1.11
sometimes 3 times
Multiple meta.yaml files found. The meta.yaml file in the base directory will be used.
WARNING:conda_build.utils:Multiple meta.yaml files found. The meta.yaml file in the base directory will be used.
WARNING conda_build.utils:find_recipe(1219): Multiple meta.yaml files found. The meta.yaml file in the base directory will be used.
Ray Donnelly
@mingwandroid
It'd be nice to fix I agree. No idea, the stdout/err handling is a bit complicated (mostly due to python 2 and unicode concerns and capturing and filtering..)
Ray Donnelly
@mingwandroid
I think I would like to remove this warning from conda-build
"UserWarning: The environment variable 'CONDA_FORGE' is being passed through with value 'yes'. If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time."
reasons: 1. these vars are passed specifically to modify build behavior (as I use them at least!), and have no bearing on tests ..
  1. If we do want this warning, well, conda-build knows if we're using --no-test or not, and we could at least keep quiet when that isn't in play.
C:\opt\conda-win-32\lib\site-packages\conda_build\environ.py:447: UserWarning: The environment variable 'PY_INTERP_LINKAGE_NATURE' is being passed through with value ''.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(
C:\opt\conda-win-32\lib\site-packages\conda_build\environ.py:447: UserWarning: The environment variable 'PY_INTERP_DEBUG' is being passed through with value 'no'.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(
C:\opt\conda-win-32\lib\site-packages\conda_build\environ.py:447: UserWarning: The environment variable 'OPENSSL_DIR' is being passed through with value '%PREFIX%\Library'.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(
C:\opt\conda-win-32\lib\site-packages\conda_build\environ.py:447: UserWarning: The environment variable 'SQLITE3_DIR' is being passed through with value '%PREFIX%\Library'.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(
C:\opt\conda-win-32\lib\site-packages\conda_build\environ.py:447: UserWarning: The environment variable 'CONDA_FORGE' is being passed through with value 'yes'.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(
INFO:conda_build.metadata:Attempting to finalize metadata for python
two ones, no two, oh well.
Isuru Fernando
@isuruf
since we started adding rpath on macos, all shared libraries and executables needs relocation whereas on Linux due to the use of $ORIGIN, it's not needed. is there something we can do on macos?
Cheng H. Lee
@chenghlee
IIRC, macOS has @loader_path and @executable_path which are roughly analogous to $ORIGIN, but it's been a while since I've looked at the developer docs.
Ray Donnelly
@mingwandroid
Indeed, we don't rely on any runtime relocation of macOS binaries AFAIK
We patch stuff to be exe-relative
Isuru Fernando
@isuruf
Alastair Rankine
@randomphrase

Hi all, hoping someone can help me, struggling a bit with conda-build. I am trying to package a closed-source c++ library which is distirbuted as tarball. I want to accomplish a (seemingly) simple task: produce a conda package from a the headers and static libraries from this tarball. I have the following meta.yaml file:

package:
  name: my-package
  version: 1.0
source:
  url: http://path/to/tar.gz
  sha256: here
build:
  number: 0
outputs:
  - name: my-package
    script: dev-files.py

The dev-files.py file script selects the header files from the current (ie work) directory and copies them into the corresponding $PREFIX directory (I assume this is correct - it's not documented). The copy task seems to work but then the packaging job fails with this error:

Failed to rename host env directory despite sleeping and retrying. This is some Windows file locking mis-bahaviour.

Which is interesting because I'm not on Windows. Any help appreciated.

16 replies
Alastair Rankine
@randomphrase
With reference to the above issue I now believe this is an entirely spurious error message. From reading the code in question, it will always produce this error message even when the underlying move operation is entirely successful. I'll raise an issue/PR when I get some time. Thanks @nehaljwani for your help.
Ray Donnelly
@mingwandroid
A new conda-build release (3.20.4) is coming up, so if anyone wants me to review PRs for inclusion (or have bugs they feel really should be fixed) then please holler!