Code Monkey home page Code Monkey logo

conda-build's People

Contributors

alexbw avatar asmeurer avatar beeankha avatar bezier89 avatar conda-bot avatar dan-blanchard avatar ddale avatar groutr avatar ilanschnell avatar isuruf avatar jakirkham avatar jezdez avatar jjhelmus avatar johanneskoester avatar kalefranz avatar kenodegard avatar mandeep avatar marcelotrevisani avatar mbargull avatar mingwandroid avatar mwcraig avatar nehaljwani avatar patricksnape avatar pre-commit-ci[bot] avatar rrigdon avatar scopatz avatar srossross avatar stuarteberg avatar teoliphant avatar tswicegood avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conda-build's Issues

conda skeleton doesn't work

Traceback (most recent call last):
  File "/home/aaronmeurer/c2/bin/conda-skeleton", line 10, in <module>
    execfile(__file__)
  File "/home/aaronmeurer/Documents/conda-build/bin/conda-skeleton", line 5, in <module>
    sys.exit(main())
  File "/home/aaronmeurer/Documents/conda-build/conda_build/main_skeleton.py", line 78, in main
    args.func(args, p)
  File "/home/aaronmeurer/Documents/conda-build/conda_build/main_skeleton.py", line 82, in execute
    import conda.builder.pypi as pypi
ImportError: No module named builder.pypi

Modified files are omitted from built packages

If you have a package that modifies some file that is part of some other package, this modification is not bundled along with the conda package that gets built. This is because build.py only includes the difference in the set of files in the prefix before building a package and after building a package.

This may be intentional behavior, but it can be frustrating for things like Perl, where newer versions of core modules sometimes overwrite the included modules.

Test files not working

From the support list:

Hi,

I've added a few test cases to my build recipe. The test fail if the module is not installed in the current conda environment on the import of mymodule in test1. i.e. If "conda-build --no-tests" is ran and the generated module is installed in current environment, a following conda-build has successful tests.

in meta.yaml:

test:

Python imports

imports:
- mymodule

files:
- test/test1.py
- test/test2.py

commands:
# You can put test commands to be run here. Use this to test that the
# entry points work.
- python test1.py
- python test2.py

doing a conda remove mymodule in current environment makes the build tests fail again.

Should the module being built be available to the tests, and how then? now it seems like it imports it from the current environment.

Recursive build support

There needs to be a way for conda-build to automatically try and build any missing dependencies if it can match the dependency to a recipe directory. This functionality is essential for building the R cran-conda-recipes as a given recipe may have anywhere from 5-15 different dependencies that won't have been built yet.

I put in very hacky support in the original r branch via this commit:
conda/conda@efba6b5

Which I'd then make use of with github.com/tpn/cran-conda-recipes/rbuild:
https://github.com/tpn/cran-conda-recipes/blob/master/rbuild

Basically, I made conda write the name of the missing package to conda-missing-package.txt, then I'd read that after a conda build failure, and recursively keep building failed deps until it worked, then re-try failed deps again whilst unwinding the stack.

It was super hacky but it worked. The elegant solution would be to make the solver cognizant of build requirements, not just install-time requirements -- but I'd be happy with whatever gets me recursive build functionality again, ideally in the master/mainline.

Conda build using Jinja Template bug

When I use

{% extends "setuptools.yaml" %

In my meta.yaml

I get the following error:

  File "/home/robertl/anaconda/lib/python2.7/site-packages/conda_build/jinja_context.py", line 31, in load_setuptools
    exec(open('setup.py', encoding='utf-8').read())
  File "<string>", line 382, in <module>
  File "<string>", line 238, in build_description
NameError: global name 'log' is not defined

If I remove the log, which is imported as from distutils import log

Then I get

  File "/home/robertl/anaconda/lib/python2.7/site-packages/conda_build/templates/setuptools.yaml", line 2, in top-level template code
    {% block body -%}
  File "/home/robertl/anaconda/lib/python2.7/site-packages/conda_build/templates/setuptools.yaml", line 3, in block "body"
    {% block package -%}
  File "/home/robertl/anaconda/lib/python2.7/site-packages/conda_build/templates/setuptools.yaml", line 5, in block "package"
    name: {{data.get('name').lower().replace(' ', '_')}}

I Tried to understand the problem by writing a small test script the repeats what cond-build is doing:

import setuptools
from io import open

data={}
def setup(**kw):
        data.update(kw)
setuptools.setup=setup
exec(open('../setup.py', encoding='utf-8').read())
print data['name']

I called the script test.py

and used the Anaconda python to run it:

$ ./anaconda/bin/python test.py

However, it gives the correct output (on all versions of my setup.py)

Found executable /usr/bin/gfortran
Attempting to autodetect OpenMP support...
Compiler supports OpenMP
Attempting to autodetect OpenMP support...
Compiler supports OpenMP
blas_opt not found
ATLAS version 3.8.4 built by ilan on Mon Jul  9 23:32:04 CDT 2012:
   UNAME    : Linux centos5x86 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
   INSTFLG  : -1 0 -a 1
   ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_Corei1 -DATL_CPUMHZ=3296 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664
   F2CDEFS  : -DAdd_ -DF77_INTEGER=int -DStringSunStyle
   CACHEEDGE: 524288
   F77      : gfortran, version GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
   F77FLAGS : -O -fPIC -m64
   SMC      : gcc, version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
   SMCFLAGS : -fomit-frame-pointer -mfpmath=sse -msse3 -O2 -fno-schedule-insns2 -fPIC -m64
   SKC      : gcc, version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
   SKCFLAGS : -fomit-frame-pointer -mfpmath=sse -msse3 -O2 -fno-schedule-insns2 -fPIC -m64

Token {'libraries': ['f77blas', 'cblas', 'atlas'], 'library_dirs': ['/home/robertl/anaconda/lib'], 'define_macros': [('ATLAS_INFO', '"\\"3.8.4\\""')], 'language': 'c'}

arachnid

post-build version numbers

For conda build to be useful in a CI setting, where builds are regularly created from a version control branch, the version number needs to be set after the build is finished. Maybe the version tag would be excluded from the build yaml, and a post_build_version tag or similar would be created, which is a script to execute on the built package to request its version number.

post_build_version=python -c 'import dynd;print(dynd.__version__)'

Error: 'conda' can only be installed into root environment

if a recipe has a build/run requirement of conda itself I get this Error: 'conda' can only be installed into root environment

e.g. conda-build requires 'conda'

if I remove 'conda' from the requirement I get:

Searching for conda
Traceback (most recent call last):
  File "setup.py", line 45, in <module>
    install_requires = ['conda'],
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/distutils/dist.py", line 929, in run_commands
    self.run_command(cmd)
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/distutils/dist.py", line 948, in run_command
    cmd_obj.run()
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/install.py", line 74, in run
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/install.py", line 97, in do_egg_install
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/easy_install.py", line 358, in run
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/easy_install.py", line 574, in easy_install
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/easy_install.py", line 625, in install_item
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/easy_install.py", line 671, in process_distribution
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/pkg_resources.py", line 564, in resolve
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/pkg_resources.py", line 802, in best_match
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/pkg_resources.py", line 814, in obtain
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/command/easy_install.py", line 581, in easy_install
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/package_index.py", line 593, in fetch_distribution
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/package_index.py", line 431, in find_packages
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/package_index.py", line 771, in scan_url
  File "/home/workerm/miniconda3/envs/_build/lib/python3.3/site-packages/setuptools-2.1-py3.3.egg/setuptools/package_index.py", line 283, in process_url
RuntimeError: Setuptools downloading is disabled in conda build  url=https://pypi.python.org/simple/conda/r
+ exit
Command failed: /bin/bash -x -e /home/workerm/miniconda3/conda-recipes-own/conda_build/build.sh

May I ask how one does that in the correct manner?

build.py passes invalid arguments to subprocess.Popen

Since I upgraded to the latest version of conda (3.2.1) and conda-build (1.3.0), the following commands fail:

C:\> conda build coverage 
C:\> conda build coverage --test 
[...]
TypeError: environment can only contain strings

The problem is that conda_build/conda.py passes an env argument to subprocess.Popen, containing entries of invalid data types (e.g. unicode strings). Full stack trace:

C:> conda build coverage --test
TEST START: coverage-3.7-py33_1
Fetching package metadata: ....
Solving package specifications: ...
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    coverage-3.7               |           py33_1         186 KB

The following packages will be linked:

    package                    |            build
    ---------------------------|-----------------
    coverage-3.7               |           py33_1   hard-link
    python-3.3.5               |                0   hard-link

Fetching packages ...
coverage-3.7-py33_1.tar.bz2 100% |##################| Time: 0:00:00  27.18 MB/s
Extracting packages ...
[      COMPLETE      ] |#################################################| 100%
Linking packages ...
[      COMPLETE      ] |#################################################| 100%
Traceback (most recent call last):
  File "C:\Anaconda\Scripts\conda-build-script.py", line 4, in <module>
    sys.exit(main())
  File "C:\Anaconda\lib\site-packages\conda_build\main_build.py", line 76, in main
    args.func(args, p)
  File "C:\Anaconda\lib\site-packages\conda_build\main_build.py", line 189, in execut
    build.test(m)
  File "C:\Anaconda\lib\site-packages\conda_build\build.py", line 347, in test
    env=env, cwd=tmp_dir)
  File "C:\Anaconda\lib\subprocess.py", line 537, in check_call
    retcode = call(*popenargs, **kwargs)
  File "C:\Anaconda\lib\subprocess.py", line 524, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Anaconda\lib\subprocess.py", line 711, in __init__
    errread, errwrite)
  File "C:\Anaconda\lib\subprocess.py", line 948, in _execute_child
    startupinfo)
TypeError: environment can only contain strings

Can't find binstar

I have binstar installed, but it can't find it. This is in a newly setup Ubuntu VM:

Error: cannot locate binstar (required for upload)
# Try:
# $ conda install binstar

aaronmeurer@ubuntu:~/Documents/conda-recipes(pyqt=)$binstar
usage: binstar [-h] [--show-traceback] [-t TOKEN] [-v] [-V]

               {auth,collections,config,groups,login,logout,package,publish,unpublish,remove,search,show,upload,whoami}
               ...
binstar: error: too few arguments
aaronmeurer@ubuntu:~/Documents/conda-recipes(pyqt=)$type binstar
binstar is hashed (/home/aaronmeurer/anaconda/envs/binstar/bin/binstar)


--debug does not work

$conda --debug build xattr
Error: no such directory: /Users/aaronmeurer/Documents/Continuum/conda-recipes/build

add ability for multi-processor-build

I still hope you will add the ability to specify multi-processor-build option for increased compile speed without the need to rewrite the recipes

P

Bug in print statement

conda/install.py", line 398:
log.error('failed to link (src=%r, dst=%r, type=%r, error=%4)' %

No way to access $PREFIX during tests

There is no way to access $PREFIX in a generic way in the test commands, like there is in build.sh (or any of the other environment variables). Can we copy most of environ.py into the test header, replacing build_prefix with test_prefix, and include that in the env of check_call? We will also need to inline the actual value of test_prefix when in create_test.py.

build --test doesn't find broken packages

Assumedly a common use-case of conda build --test is to test packages whose tests failed without rebuilding them. But if a recipe's tests fail, the package is placed in conda-bld/broken, where it won't be found by conda build --test.

Copy recipe

The recipe should be copied during the build. If something modifies the recipe during the build, it modifies the original recipe. This happens even for things like the new script parameter, which writes a build script to the recipe itself.

Way to redownload source

If the source download is incorrect, it will raise an exception that the checksums mismatch, but there doesn't seem to be a way to force it to redownload, other than manually deleting the source cache.

auto remove linux .la files

auto-remove linux .la files

if one builds more apps within the conda framework like gmp, mpfr, gcc, glibc and the whole essential development apps one might run into a number of issues
one of them might be: .la

example of conda build gmp .la

libgmp.la

...
...

# Directory that this library needs to be installed in:
libdir='/opt/anaconda1anaconda2anaconda3/lib'

one can read more for instance here: http://www.metastatic.org/text/libtool.html

to avoid removing them individually I did a small function in conda-build

skeleton pypi doesn't work with cobra

$conda skeleton pypi cobra
Using url https://pypi.python.org/packages/source/c/cobra/cobra-0.2.1.tar.gz (1719270) for cobra.
Downloading cobra (use --no-download to skip this step)
Using cached download
Unpacking cobra...
done
working in /var/folders/yc/8wpl9rlx47qgzxqpcf003k280000gn/T/tmpehwr8econda_skeleton
Traceback (most recent call last):
  File "/Users/aaronmeurer/anaconda/bin/conda-skeleton", line 12, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/bin/conda-skeleton", line 5, in <module>
    sys.exit(main())
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 78, in main
    args.func(args, p)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 85, in execute
    pypi.main(args, parser)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/pypi.py", line 246, in main
    run_setuppy(src_dir)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/pypi.py", line 381, in run_setuppy
    exec(compile(f.read(), 'setup.py', 'exec'), d)
  File "setup.py", line 1, in <module>
    #!/usr/bin/env python
ImportError: No module named 'ez_setup'

In #59 I get

$conda skeleton pypi cobra
Using url https://pypi.python.org/packages/source/c/cobra/cobra-0.2.1.tar.gz (1719270) for cobra.
Downloading cobra (use --no-download to skip this step)
Using cached download
Unpacking cobra...
done
working in /var/folders/yc/8wpl9rlx47qgzxqpcf003k280000gn/T/tmpoxgw5jconda_skeleton
Traceback (most recent call last):
  File "/Users/aaronmeurer/anaconda/bin/conda-skeleton", line 12, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/bin/conda-skeleton", line 5, in <module>
    sys.exit(main())
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 79, in main
    args.func(args, p)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 86, in execute
    pypi.main(args, parser)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/pypi.py", line 273, in main
    run_setuppy(tempdir, src_dir)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/pypi.py", line 406, in run_setuppy
    with open(join(src_dir, 'setup.py'), encoding='utf-8') as setuppy:
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/yc/8wpl9rlx47qgzxqpcf003k280000gn/T/tmpoxgw5jconda_skeleton/setup.py'

Pre-activate hook?

In order for R to be relocatable and to also work with our tcl/tk libs, TCL_CONFIG and TK_CONFIG environment variables need to be exported at runtime to point to the correct locations (which will be environment-dependent).

The only option now is to remember to alter your shell's startup scripts and manually export the necessary envvars. That's not a good long-term solution. (It took me forever to figure out that R needed those envvars set explicitly; we can't expect other users to know they need to be set.)

So, I think there's a need for a pre-activate.sh-type script that allows a package to customize an environment as part of 'activation'. This would also entail having the root environment automatically run any pre-activate.sh scripts, which isn't possible with our current (simple) .bashrc alteration.

conda skeleton pypi numpy does not work

$conda skeleton pypi numpy
More than one source version is available for numpy:
0: https://pypi.python.org/packages/source/n/numpy/numpy-1.8.0.tar.gz (3.6 MB)
1: https://pypi.python.org/packages/source/n/numpy/numpy-1.8.0.zip (4.1 MB)
Which version should I use? 0
Using url https://pypi.python.org/packages/source/n/numpy/numpy-1.8.0.tar.gz (3779617) for numpy.
Traceback (most recent call last):
  File "/Users/aaronmeurer/anaconda/bin/conda-skeleton", line 7, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/bin/conda-skeleton", line 5, in <module>
    sys.exit(main())
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 111, in main
    args.func(args, p)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_skeleton.py", line 119, in execute
    pypi.main(args, parser)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/pypi.py", line 232, in main
    if data.has_key('classifiers'):
AttributeError: 'dict' object has no attribute 'has_key'

conda-build doesn't work with jinja2 if conda-bld doesn't exist yet

Traceback (most recent call last):
  File "/tmp/miniconda/bin/conda-build", line 12, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/bin/conda-build", line 5, in <module>
    sys.exit(main())
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_build.py", line 71, in main
    args.func(args, p)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/main_build.py", line 161, in execute
    m = MetaData(recipe_dir)
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/metadata.py", line 167, in __init__
    self.meta = parse(get_contents(self.meta_path))
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/metadata.py", line 149, in get_contents
    env.globals.update(context_processor())
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/jinja_context.py", line 35, in context_processor
    ctx = environ.get_dict()
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/environ.py", line 34, in get_dict
    d['SRC_DIR'] = source.get_dir()
  File "/Users/aaronmeurer/Documents/Continuum/conda-build/conda_build/source.py", line 23, in get_dir
    lst = [fn for fn in os.listdir(WORK_DIR) if not fn.startswith('.')]
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/miniconda/conda-bld/work'

Unsatisfiable package specs with CONDA_PY

It is a known conda issue that if there is a newer version of a package for a different Python, instead of choosing the older version for the Python you want, it will just die with "Unsatisfiable package specifications". The workaround when using conda is to set python=2.6 or whatever explicitly.

It seems the same issue shows up when using conda build with CONDA_PY. CONDA_PY should set the Python spec the same way, so that it picks the correct version of the package.

`pip install pyopenssl` fails on anaconda (was: Trouble building packages that require --include-dirs and --library-dirs)

This is a copy over from an issue I submitted against conda.

This has come up here, here, and here. Specifically, GDAL and pyOpenSSL at least require some things that should be passed in via --include-dirs and --library-dirs.

GDAL is now supported by conda, but pyopenssl is also / still a problem, and yeilds a confusing long stack trace when you try to install scrapy (which is used by "serious scientific computation folks").

Suggest to install after building

Suggestion from conda/conda#430:

  1. Build: install option
    When one builds a package one gets the question:
    Do you want to upload this package to binstar ([y]/n)?

In the same manner I think it would be convenient to get before that an option like:
Do you want to install this package ([y]/n)?

because usually if one builds a new package one also wants to install it: at least an end user.

add ability to disable build make relative path

sometimes a package builder might want to set no rpath or a own one for internal usage.

it would be nice if one could have an option to disable the mk_relative rpath part.

build example something like

#CHECK: BUILD_NO_RPATH
if [ "${BUILD_NO_RPATH}" != "y" ]; then
    echo 'this recipes needs conda config: build_no_rpath: True'
    exit 1
fi

unset LD_RUN_PATH
./bootstrap.sh
LDFLAGS="-Wl,-rpath,${PREFIX}/usr" \
./configure --prefix=${PREFIX}
make
make install

Bug in fix_permissions

Perhaps the os.chmod command should be wrapped in a try except statement

Traceback (most recent call last):
  File "/opt/anaconda/bin/conda", line 5, in <module>
    sys.exit(main())
  File "/opt/anaconda/lib/python2.7/site-packages/conda-2.2.3_24_g9caa576-py2.7.egg/conda/cli/main.py", line 186, in main
    args.func(args, p)
  File "/opt/anaconda/lib/python2.7/site-packages/conda-2.2.3_24_g9caa576-py2.7.egg/conda/cli/main_build.py", line 169, in execute
    build.build(m, pypi=args.pypi)
  File "/opt/anaconda/lib/python2.7/site-packages/conda-2.2.3_24_g9caa576-py2.7.egg/conda/builder/build.py", line 181, in build
    post_build(sorted(files2 - files1))
  File "/opt/anaconda/lib/python2.7/site-packages/conda-2.2.3_24_g9caa576-py2.7.egg/conda/builder/post.py", line 192, in post_build
    fix_permissions(files)
  File "/opt/anaconda/lib/python2.7/site-packages/conda-2.2.3_24_g9caa576-py2.7.egg/conda/builder/post.py", line 187, in fix_permissions
    os.chmod(path, stat.S_IMODE(st.st_mode) | stat.S_IWUSR) # chmod u+w
OSError: [Errno 1] Operation not permitted: '/var/lib/jenkins/envs/_build/lib/node_modules/cloud9/node_modules/jsDAV/node_modules/gnu-tools/bin/find'

Question on conda-build

hi @ilanschnell ,

just saw the separate repo: conda-build and I would be interested to know what are the plans for it.

are the plans to finally remove the build option from the conda package manager or just some additional tools.

I think to separate it would be a nice one: most people will only want to use conda as an installation tool for binary packages.

and if one wants to build a separate more specified package might be quite nice.

Anyway, looking forward to here from you what are the plans for it.

P

Give better hints for unsatisfiable runtime dependencies

If the runtime dependencies of a package are unsatisfiable, at test time it will just say "unsatisfiable dependencies, hint: package has a conflict with the remaining packages", where package is the package you built. This isn't very helpful. It should test installing the dependencies independently, which will give a better hint.

Alternately (and perhaps this would be better), we could modify the hint code in conda to detect this case and give more useful information. If a package by itself is unsatisfiable we can give information about which of its dependencies conflict.

Some binaries hardcode their build path for later lookup

I'm not sure whether this is something to be solved within conda or the upstream binary. I tried building hyperdex which then doesn't start at a later point because it execs programs in /libexec/... :

failed to exec coordinator: No such file or directory
PATH=/home/teh/envs/_build/libexec/hyperdex-1.0.5:.:/usr/bin

Note the _build part when the full path should really be /home/teh/envs/testenv/ for a hypothetical testenv environment.

I guess programs like git would have the same problem though in git at least the libexec path is controllable via "GIT_EXEC_PATH" (which then needs to be changed in each conda environment).

Any ideas on how to solve this?

Conda build jinja2 template with binstar bug

If you name a conda recipe that is a jinja template meta.yaml instead conda.yaml then binstar cannot upload the distribution.

It complains about the meta data.

Tracking this error back with --traceback shows that the meta.yaml jinja2 template is copied to the info directory, whereas if the file is named conda.yaml then a proper meta.yaml is built.

In short, a good workaround is to use conda.yaml filename with jinja2 build templates.

conda test and strange PATH on windows

Hi,

While trying to troubleshoot some testing issues, I found that the path environment variable during test (printed from run_test.py) contains an unexpanded %PATH%

PATH = C:\Anaconda32\envs_test\Scripts;C:\Anaconda32\envs_test\Library\bin;C:\Anaconda32\envs_test;C:\Anaconda32\envs_test\Scripts;%PATH%

My PATH when executing the conda-build looks "normal".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.