--
You received this message because you are subscribed to the Google Groups "conda - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to conda+un...@continuum.io.
To post to this group, send email to co...@continuum.io.
Visit this group at http://groups.google.com/a/continuum.io/group/conda/.
A failed build usually leaves a special env behind named "work" (I think). That env in the context in which build.sh runs. So you can activate that env and run whatever you like. Look around in miniconda/conda-bld and miniconda/envs/work after a failed build.
_test is the conda environment for testing the package. That is, once the conda package is created (from the files added into _build by build.sh), it is tested here. This is deliberately a different directory (from _build), in order to catch hard-coded paths in the binaries in the test.Yes, that is correct the "work" directory, usually located at <root prefix>/conda-bld/work, contains the source tree of the package to be build, and "build.sh" is executed with this directory as the current working directory._build is the build conda environment, where the build dependencies get installed into and the build.sh installs files into. Within "build.sh", PREFIX is set to this location, e.g. /Users/ilan/anaconda/envs/_build. This is what allows you to say "./configure --prefix=$PREFIX" within your build.sh.
On Sat, Aug 1, 2015 at 4:17 PM, Ilan Schnell <il...@continuum.io> wrote:
_test is the conda environment for testing the package. That is, once the conda package is created (from the files added into _build by build.sh), it is tested here. This is deliberately a different directory (from _build), in order to catch hard-coded paths in the binaries in the test.Yes, that is correct the "work" directory, usually located at <root prefix>/conda-bld/work, contains the source tree of the package to be build, and "build.sh" is executed with this directory as the current working directory._build is the build conda environment, where the build dependencies get installed into and the build.sh installs files into. Within "build.sh", PREFIX is set to this location, e.g. /Users/ilan/anaconda/envs/_build. This is what allows you to say "./configure --prefix=$PREFIX" within your build.sh.
thanks guys - this is satrting to make sense. Except:
""" it also has the full build script which you can execute (complete with environment variables)."""
where do I find this? Or do I have to set the environment variable myself.
Now that I think about, myabe "PREFIX" is all I need, so not hard to do.
I might suggest adding a "printenv" early in your build script. This way you can see the exact environment.
When this happens I usually just cd to the source in the work
directory, activate the _build directory from the last build
(or just
use absolute paths), and try to work through the build in the shell,
writing everything down in the build.sh as I do it. When I think I
have something that works, or when I need to "clean" the build
environment or work directory, I'll re-build the recipe.
> will that set PREFIX?
No, you'll also need to set your environment manually. I always just
hard-code the build prefix manually at the command line as I am
figuring things out (like ./configure
--prefix=~/anaconda/envs/_build).
At the end of the day, you'll need
to run the full recipe to make sure everything works in a clean
environment. This workflow is mostly about figuring stuff out while
minimizing waiting.
--
No, don't putinto your build.sh. PREFIX is already set by conda-build when it runs the build.sh.
export PREFIX=~/anaconda/envs/_build