Comments (59)
Oh, forgot about it: @neworderofjamie the tests on Windows against GeNN's development branch are now working fine, seems your commit was all that was needed.
from brian2genn.
I love the idea of such a simple installation, although I think it's something you'd have to be pretty careful about - making sure that it really is robust. Also, might it cause a problem for people who have an existing GeNN installation?
from brian2genn.
I agree that we should be careful about it. I think combining it with an exisiting GeNN installation should be fine, we already have a Brian2GeNN preference that can be used to specify the location of GeNN and which overwrites a GENN_PATH
environment variable -- we'd use the same mechanism to take GeNN from some internal Brian2GeNN directory (possibly still allowing for an overwrite via a preference, but maybe not using GENN_PATH
, or raising a warning if that one is also set).
from brian2genn.
I can see the appeal of a simple install. On the flip side, while future proofing against future changes in GeNN it would also exclude having the benefits from such changes. In the balance, I think, however, it's probably best to package it in because keeping everything compatible at all times would be tricky.
As for the compiled files: I think we are ok. The ones compiled in the GeNN directory are pretty much libgenn.a
and libgenn_CPU_ONLY.a
. Those can be pre-compiled. Then, generateALL and generateALL_CPU_ONLY need to be recompiled for each model but they are not put into the genn directory but the current directory of the model build, which is our GeNN_Workspace
directory.
But I am pulling in @jamesturner246 to confirm?
from brian2genn.
Yeah, that's right. I modified GeNN a little while ago to compile all the non-common user model and code generator stuff into the current directory. Like Thomas says, you just need to compile the common libgenn stuff and put it somewhere system-accessible, like /usr/local/lib64 or something - although it's currently just built in the GeNN directory.
from brian2genn.
The aim was to put more of the code generation code inside this standalone library, so one didn't have to keep recompiling the code generation code with each project, but I ran into a few problems - with what I can't remember. Maybe I can have another crack at it one day.
from brian2genn.
Don't worry about that. Being practical, the current solution should work well with the packaging Marcel proposed. So no need to revisit this now.
from brian2genn.
So, I sneakily did a Brian2GeNN release, because you cannot really test the packaging/upload without doing a release... As you can see from the commit history, there were quite a few problems. However, it worked out in the end. we do now have a source code release on pypi (i.e., you can install with pip but then need a correctly configured installation of GeNN + GENN_PATH
variable), and a conda package that ships its own version of GeNN (version 2.2.3) with pre-compiled libraries. Everything is done on the travis and appveyor build servers, i.e. there's no manual intervention necessary to do a release. With this package, anyone with an Anaconda install should be able to do a conda install -c brian-team brian2genn
(with the current pre-releases, you also have to add -c brian-team/channel/dev
) and they will get Brian2+Brian2GeNN+GeNN and all their dependencies. Users need to install CUDA themselves, though (there is actually a conda package for CUDA, but it only contains the runtime libraries, i.e. enough to run a compiled CUDA program but not the header files, etc. we need for compiling).
The only thing that did not quite work out: I did not manage to create the conda package with pre-compiled libraries for OS-X on travis. The reason is quite simple, for Windows and Linux I can download and install a minimal version of CUDA for the build process, but the minimal installation with the CUDA installer for OS-X still installs the full SDK with > 1GB -- this takes too long on the build server. So unfortunately we'll need someone with a Mac (ahem, @tnowotny maybe :) ) to manually build the conda packages for OS X. It shouldn't be very complicated: you need to have anaconda (or miniconda), and install the cond-build package (conda install conda-build
). Then, running scripts/build_conda_packages.py
from the brian2genn repository should take care of everything, and result in three .tar.bz2 files in the directory from which you started the script, one for Python 2.7, 3.5, and 3.6. You can in principle upload them yourself (since you are a member of brian-team
), but the easiest is probably to just send them to me and I will upload them.
Could you maybe try (and have friends&family try) the conda packages and/or the pypi source package on your machine and see whether it works for you? To recap, to install from source (needs installed GeNN and GENN_PATH
set):
pip install brian2genn
To install via conda (the .../dev
part will no longer be necessary after the "proper" 1.0 release)
conda install -c brian-team -c brian-team/channel/dev brian2genn
If GeNN is installed with the package (i.e. if you use the conda install), then this version of GeNN will be used, otherwise you need to define GENN_PATH
. I sometimes encountered problems when the installed GeNN version is used, but GENN_PATH
is set at the same time. I fixed this in master, but the fix is not yet in the released version. So, if you test the conda installation, make sure to unset GENN_PATH
variable before running anything.
Well, if all this works fine, I think we are finally ready to do an official 1.0 release
from brian2genn.
I fixed this in master, but the fix is not yet in the released version. So, if you test the conda installation, make sure to unset GENN_PATH variable before running anything.
FYI: This is no longer necessary, I did another release (1.0rc4) which includes the fix.
Oh, unrelated to the packaging (I think), but maybe interesting for @tnowotny , @jamesturner246 , @neworderofjamie & co.: it seems that Brian2GeNN does not work on Windows for the latest version of GeNN from the development branch due to linking issues. I did not look into this in detail, but I think it is rather a GeNN-internal issue. For error messages, see here for example: https://ci.appveyor.com/project/brianteam/brian2genn/build/1.0.156/job/scyjx6bblbqmaxty (note that this runs GeNN in CPU-only mode, as this is all that we can test on these servers).
from brian2genn.
Good spot - I was planning on bringing my Windows laptop in tomorrow for other reasons but I'll figure out what's going wrong! Do you know what version of Visual Studio the AppVeyor instances run?
from brian2genn.
Do you know what version of Visual Studio the AppVeyor instances run?
It's configurable but in our case we use the default image which comes with Visual Studio 2015.
from brian2genn.
If you could try re-running the tests that would be great! Thinking about it, I suspect it was something obvious
from brian2genn.
We have test runs in the queue, they will pick up the latest state of the development branch automatically. Results should be in in 30 minutes or so.
from brian2genn.
I tried building the conda packages on my mac. It fails with
Package: brian2genn-1.0rc4-py27_0
source tree in: /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/work
+ source /home/t/tn/tn41/anaconda2/bin/activate /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho
++ pwd
+ GENN_PATH=/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/work/genn
+ cd genn/lib
/home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/work/conda_build.sh: line 5: cd: genn/lib: No such file or directory
Traceback (most recent call last):
File "scripts/build_conda_packages.py", line 22, in <module>
main_build()
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 334, in main
execute(sys.argv[1:])
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 325, in execute
noverify=args.no_verify)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/api.py", line 97, in build
need_source_download=need_source_download, config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/build.py", line 1518, in build_tree
config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/build.py", line 1143, in build
utils.check_call_env(cmd, env=env, cwd=src_dir)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/utils.py", line 628, in check_call_env
return _func_defaulting_env_to_os_environ(subprocess.check_call, *popenargs, **kwargs)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/utils.py", line 624, in _func_defaulting_env_to_os_environ
return func(_args, **kwargs)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/bin/bash', '-x', '-e', '/home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/work/conda_build.sh']' returned non-zero exit status 1
I looked in to the genn
folder and it is indeed empty. Did you install genn by hand into this folder up front? Is it expecting a standard genn install in there?
from brian2genn.
BTW: /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497881603190/work/genn
also empty
from brian2genn.
I looked in to the genn folder and it is indeed empty. Did you install genn by hand into this folder up front? Is it expecting a standard genn install in there?
Ah sorry, my bad, I forgot about this. This is using fancy "git submodules" which allow you to have a reference to another git respository within a git repository (so we can always update the GeNN version). You'll have to run git submodule init
and git submodule update
to populate the GeNN directory.
from brian2genn.
Just for future reference: if you clone brian2genn
from scratch, you can use --recursive
to directly fill the genn
directory.
from brian2genn.
hum ... getting compilation errors now that look like genn bugs:
no member named 'max_digits10' in 'std::numeric_limits<double>'; did you
mean 'digits10'?
stream.precision(std::numeric_limits<double>::max_digits10);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
digits10
/usr/include/c++/4.2.1/limits:1049:24: note: 'digits10' declared here
static const int digits10 = __DBL_DIG__;
^
/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497882334764/work/genn/lib/src/stringUtils.cc:258:55: error:
no member named 'max_digits10' in 'std::numeric_limits<double>'; did you
mean 'digits10'?
stream.precision(std::numeric_limits<double>::max_digits10);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
digits10
/usr/include/c++/4.2.1/limits:1049:24: note: 'digits10' declared here
static const int digits10 = __DBL_DIG__;
^
But also:
use of undeclared identifier 'to_string'; did you mean 'toString'?
...== POISSONNEURON) substitute(wCode, "$(V_pre)", to_string(model.neuronPa...
^~~~~~~~~
toString
which seems like a straightforward name mis-spelling ...?
from brian2genn.
Well our automated testing is testing that same code on your Mac so I don't think those are GeNN bugs per se. Perhaps some Clang compiler flags are being set wrong? Those look like they could be C++11 issues.
from brian2genn.
this is the GeNN 2.2.3 release I think ... was that tested on my Mac?
from brian2genn.
Command issued by make was
clang++ -std=c++11 -DNVCC=\""/usr/local/cuda/bin/nvcc"\" -MMD -MP -c -o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497882334764/work/genn/lib/obj/stringUtils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497882334764/work/genn/lib/src/stringUtils.cc -I"/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497882334764/work/genn/lib/include" -I"/usr/local/cuda/include"
which looks ok regarding flags ... or am I missing something?
from brian2genn.
I remember some problem like this, I think it might be mixing up gcc and clang. Could you check if it works if in the conda_recipe/meta.yaml
file, you remove the two lines that say - gcc # [not win]
?
from brian2genn.
hum ... doesn't seem to make a difference
from brian2genn.
But I agree with @neworderofjamie that it looks like issues with the C++11 standard ... even though -std=c++11
is given ...
Even more strange: If I try the same command line in the terminal interactively it succeeds to compile stringUtils.o
Any ideas?
from brian2genn.
hmm, let's narrow it down:
if, from the main brian2genn
directory, you run:
bash conda_recipe/build.sh
does it work? This is the same what gets called during the package build process. If this works, then the build environment is to blame.
from brian2genn.
yes ... this works ...
from brian2genn.
Ok. I still have a hunch that the gcc
line in meta.yaml
is to blame -- you are sure that you removed both of them, right? Maybe the build environment has some cached results in it, could you increase the number
in the build
section to 1
?
from brian2genn.
ok ... I think we have overcome this problem ... the next one is this:
Missing dependency brian2genn, but found recipe directory, so building brian2genn first
Traceback (most recent call last):
File "scripts/build_conda_packages.py", line 22, in <module>
main_build()
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 334, in main
execute(sys.argv[1:])
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 325, in execute
noverify=args.no_verify)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/api.py", line 97, in build
need_source_download=need_source_download, config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/build.py", line 1501, in build_tree
config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/render.py", line 145, in render_recipe
m = MetaData(recipe_dir, config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/metadata.py", line 422, in __init__
self.meta_path = find_recipe(path)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/utils.py", line 726, in find_recipe
raise IOError("No meta.yaml or conda.yaml files found in %s" % path)
IOError: No meta.yaml or conda.yaml files found in /Volumes/LocalDataHD/t/tn/tn41/localdisk_projects/develop/brian2genn/brian2genn
I don't understand too much of it but it seems it is looking for more recipe files meta.yaml
or conda.yaml
for brian2genn proper?
from brian2genn.
Hmm, not sure about this. It might be that the little Python script I wrote is not very robust with respect to paths... When we build packages, we run it from the main directory (i.e. with python scripts/build_conda_packages.py
) -- did you do this as well?
But I've never seen that first line about the "Missing dependency", maybe that's the real problem? Could you maybe paste the full output somewhere?
from brian2genn.
See attached …
I'm afraid you can't send attachments via email replies...
from brian2genn.
here it is:
/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/environ.py:327: UserWarning: The environment variable 'CUDA_PATH' is undefined.
UserWarning
/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/environ.py:327: UserWarning: The environment variable 'PROCESSOR_ARCHITEW6432' is undefined.
UserWarning
/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/environ.py:327: UserWarning: The environment variable 'PROCESSOR_ARCHITECTURE' is undefined.
UserWarning
/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/environ.py:327: UserWarning: The environment variable 'PROCESSOR_IDENTIFIER' is undefined.
UserWarning
WARNING: The remote server could not find the noarch directory for the
requested channel with url: file:///t/tn/home/tn41/anaconda2/conda-bld
It is possible you have given conda an invalid channel. Please double-check
your conda configuration using `conda config --show`.
If the requested url is in fact a valid conda channel, please request that the
channel administrator create `noarch/repodata.json` and associated
`noarch/repodata.json.bz2` files, even if `noarch/repodata.json` is empty.
$ mkdir noarch
$ echo '{}' > noarch/repodata.json
$ bzip2 -k noarch/repodata.json
+ source /home/t/tn/tn41/anaconda2/bin/activate /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho
++ pwd
+ GENN_PATH=/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn
+ cd genn/lib
+ make /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/lib/libgenn.a GENN_PATH=/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn
ar -rcs /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/lib/libgenn.a /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/global.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/modelSpec.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/neuronModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/synapseModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/postSynapseModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/utils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/stringUtils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/sparseUtils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj/hr_time.o
++ pwd
+ GENN_PATH=/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn
+ cd genn/lib
+ make /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/lib/libgenn_CPU_ONLY.a GENN_PATH=/Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn CPU_ONLY=1
ar -rcs /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/lib/libgenn_CPU_ONLY.a /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/global.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/modelSpec.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/neuronModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/synapseModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/postSynapseModels.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/utils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/stringUtils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/sparseUtils.o /Volumes/LocalDataHD/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work/genn/lib/obj_CPU_ONLY/hr_time.o
+ python setup.py install --single-version-externally-managed --record record.txt --with-genn
running install
running build
running build_py
running install_lib
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/__init__.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/b2glib
copying build/lib/brian2genn/b2glib/convert_synapses.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/b2glib
copying build/lib/brian2genn/b2glib/copy_static_arrays.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/b2glib
copying build/lib/brian2genn/binomial.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/codeobject.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/correctness_testing.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/device.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/genn_generator.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/insyn.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/preferences.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/run_brian_tests.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
copying build/lib/brian2genn/run_correctness_testing.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/__init__.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/briandoc.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/docscrape.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/docscrape_sphinx.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/examplefinder.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/generate_examples.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
copying build/lib/brian2genn/sphinxext/generate_reference.py -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/engine.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/engine.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/GNUmakefile -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/main.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/model.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/model.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/network.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/neuron_code.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/objects.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/ratemonitor.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/reset.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/reset.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/run_regularly_scalar_code.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/runner.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/spikegenerator.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/spikemonitor.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/statemonitor.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/stateupdate.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/stateupdate.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/synapses.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/synapses.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/threshold.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/threshold.cpp -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
copying build/lib/brian2genn/templates/WINmakefile -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/templates
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/__init__.py to __init__.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/binomial.py to binomial.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/codeobject.py to codeobject.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/correctness_testing.py to correctness_testing.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/device.py to device.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/genn_generator.py to genn_generator.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/insyn.py to insyn.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/preferences.py to preferences.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/run_brian_tests.py to run_brian_tests.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/run_correctness_testing.py to run_correctness_testing.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/__init__.py to __init__.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/briandoc.py to briandoc.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/docscrape.py to docscrape.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/docscrape_sphinx.py to docscrape_sphinx.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/examplefinder.py to examplefinder.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/generate_examples.py to generate_examples.pyc
byte-compiling /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/brian2genn/sphinxext/generate_reference.py to generate_reference.pyc
running install_data
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib
copying genn/lib/GNUmakefile -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib
copying genn/lib/WINmakefile -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/bin
copying genn/lib/bin/buildmodel.bat -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/bin
copying genn/lib/bin/buildmodel.sh -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/bin
copying genn/lib/bin/genn-buildmodel.bat -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/bin
copying genn/lib/bin/genn-buildmodel.sh -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/bin
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/CodeHelper.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/dpclass.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/extra_neurons.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/extra_postsynapses.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/extra_weightupdates.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/generateALL.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/generateCPU.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/generateKernels.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/generateRunner.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/global.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/hr_time.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/modelSpec.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/neuronModels.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/postSynapseModels.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/sparseProjection.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/sparseUtils.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/stringUtils.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/synapseModels.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
copying genn/lib/include/utils.h -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/include
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/generateALL.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/generateCPU.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/generateKernels.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/generateRunner.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/global.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/hr_time.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/modelSpec.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/neuronModels.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/postSynapseModels.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/sparseUtils.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/stringUtils.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/synapseModels.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
copying genn/lib/src/utils.cc -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/src
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/userproject
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/userproject/include
copying genn/userproject/include/makefile_common_gnu.mk -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/userproject/include
copying genn/userproject/include/makefile_common_win.mk -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/userproject/include
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/lib
copying genn/lib/lib/libgenn.a -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/lib
copying genn/lib/lib/libgenn_CPU_ONLY.a -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/lib
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/global.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/global.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/hr_time.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/hr_time.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/modelSpec.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/modelSpec.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/neuronModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/neuronModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/postSynapseModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/postSynapseModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/sparseUtils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/sparseUtils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/stringUtils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/stringUtils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/synapseModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/synapseModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/utils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
copying genn/lib/obj/utils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj
creating /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/global.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/global.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/hr_time.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/hr_time.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/modelSpec.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/modelSpec.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/neuronModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/neuronModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/postSynapseModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/postSynapseModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/sparseUtils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/sparseUtils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/stringUtils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/stringUtils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/synapseModels.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/synapseModels.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/utils.d -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
copying genn/lib/obj_CPU_ONLY/utils.o -> /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/opt/genn/lib/obj_CPU_ONLY
running install_egg_info
running egg_info
writing requirements to Brian2GeNN.egg-info/requires.txt
writing Brian2GeNN.egg-info/PKG-INFO
writing top-level names to Brian2GeNN.egg-info/top_level.txt
writing dependency_links to Brian2GeNN.egg-info/dependency_links.txt
reading manifest file 'Brian2GeNN.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'benchmark_results'
no previously-included directories found matching 'scripts'
no previously-included directories found matching 'conda_recipe'
warning: no previously-included files matching '.git*' found anywhere in distribution
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching 'appveyor.yml'
writing manifest file 'Brian2GeNN.egg-info/SOURCES.txt'
Copying Brian2GeNN.egg-info to /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/Brian2GeNN-1.0rc4-py2.7.egg-info
running install_scripts
writing list of installed files to 'record.txt'
INFO:conda_build.build:Packaging brian2genn-1.0rc4-py27_1
WARNING: The remote server could not find the noarch directory for the
requested channel with url: file:///t/tn/home/tn41/anaconda2/conda-bld
It is possible you have given conda an invalid channel. Please double-check
your conda configuration using `conda config --show`.
If the requested url is in fact a valid conda channel, please request that the
channel administrator create `noarch/repodata.json` and associated
`noarch/repodata.json.bz2` files, even if `noarch/repodata.json` is empty.
$ mkdir noarch
$ echo '{}' > noarch/repodata.json
$ bzip2 -k noarch/repodata.json
BUILD START: brian2genn-1.0rc4-py27_1
The following NEW packages will be INSTALLED:
openssl: 1.0.2l-0
pip: 9.0.1-py27_1
python: 2.7.13-0
readline: 6.2-2
setuptools: 27.2.0-py27_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py27_0
zlib: 1.2.8-3
Package: brian2genn-1.0rc4-py27_1
source tree in: /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work
compiling .pyc files...
number of files: 143
Fixing permissions
Fixing permissions
/home/t/tn/tn41/anaconda2/conda-bld/osx-64/brian2genn-1.0rc4-py27_1.tar.bz2
TEST START: /home/t/tn/tn41/anaconda2/conda-bld/osx-64/brian2genn-1.0rc4-py27_1.tar.bz2
Deleting work directory, /home/t/tn/tn41/anaconda2/conda-bld/brian2genn_1497886080898/work
Missing dependency brian2genn, but found recipe directory, so building brian2genn first
Traceback (most recent call last):
File "scripts/build_conda_packages.py", line 22, in <module>
main_build()
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 334, in main
execute(sys.argv[1:])
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 325, in execute
noverify=args.no_verify)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/api.py", line 97, in build
need_source_download=need_source_download, config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/build.py", line 1501, in build_tree
config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/render.py", line 145, in render_recipe
m = MetaData(recipe_dir, config=config)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/metadata.py", line 422, in __init__
self.meta_path = find_recipe(path)
File "/home/t/tn/tn41/anaconda2/lib/python2.7/site-packages/conda_build/utils.py", line 726, in find_recipe
raise IOError("No meta.yaml or conda.yaml files found in %s" % path)
IOError: No meta.yaml or conda.yaml files found in /Volumes/LocalDataHD/t/tn/tn41/localdisk_projects/develop/brian2genn/brian2genn
from brian2genn.
yeah ...noticed the attachment didn't work
from brian2genn.
There are some anomalities with my anaconda install
conda config --show
gives
add_anaconda_token: True
add_pip_as_python_dependency: True
allow_non_channel_urls: True
allow_softlinks: True
always_copy: False
always_softlink: False
always_yes: False
anaconda_upload: None
auto_update_conda: True
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: True
channels:
- defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
create_default_packages: []
custom_channels:
pkgs/r: https://repo.continuum.io/
home/tn41/anaconda2/conda-bld: file:///
pkgs/pro: https://repo.continuum.io/
pkgs/free: https://repo.continuum.io/
custom_multichannels:
local: ["file:///home/tn41/anaconda2/conda-bld"]
defaults: ["https://repo.continuum.io/pkgs/free", "https://repo.continuum.io/pkgs/r", "https://repo.continuum.io/pkgs/pro"]
default_channels:
- https://repo.continuum.io/pkgs/free
- https://repo.continuum.io/pkgs/r
- https://repo.continuum.io/pkgs/pro
disallow: []
envs_dirs:
- /home/t/tn/tn41/anaconda2/envs
- /home/t/tn/tn41/.conda/envs
force: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
offline: False
path_conflict: clobber
pinned_packages: []
pkgs_dirs:
- /home/t/tn/tn41/anaconda2/pkgs
- /home/t/tn/tn41/.conda/pkgs
proxy_servers: {}
quiet: False
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
rollback_enabled: True
shortcuts: True
show_channel_urls: None
ssl_verify: True
track_features: []
use_pip: True
verbosity: 0
where file:///home/tn41/anaconda2/conda-bld
is nonsense ... it ought to be file:///home/t/tn/tn41/anaconda2/conda-bld
not sure this is relevant or how to fix it ... must be a bug in anaconda installer
from brian2genn.
I have no idea what is going on there... Maybe last try: update conda/conda-build with conda update conda conda-build
, delete the build
directory in your brian2genn
folder, run conda build purge
and then try python scripts/build_conda_packages.py
again -- maybe this magically fixes stuff. Oh and your output also warns that you don't have CUDA_PATH
set -- you'd normally need this to build the GeNN packages (it seems they are already built in your case, though).
Sorry for this annoying remote-debugging, if only Apple would allow me to have an OS-X virtual machine...
from brian2genn.
hi again ... I tried all that and also installed anaconda for python 3.6 (I had the 2.7 version before) but no change. I am worried that this nonsense might be causing the problem:
WARNING: The remote server could not find the noarch directory for the
requested channel with url: file:///t/tn/home/tn41/anaconda3/conda-bld
But I have no clue where this mangled channel url is coming from. Should have been
file:///home/t/tn/tn41/anaconda3/conda-bld
from brian2genn.
This indeed looks weird and I also have no idea where it could come from... I know all this is annoying, but maybe you could do a fresh anaconda/miniconda installation in parallel? If you manually change the PATH within your session to use that one instead of the old one, it would not affect your main installation. At least we'd be sure that your installation is to blame if it works with the new one...
from brian2genn.
can do ... in the meantime ... can you have a look whether the packages I made and sent you by email are any good? All I did was removing the test section from the recipe. That shouldn't affect the results I would have thought.
from brian2genn.
ok ... tried miniconda ... same problem with testing as before ... also the weird channel name.
from brian2genn.
can do ... in the meantime ... can you have a look whether the packages I made and sent you by email are any good? All I did was removing the test section from the recipe. That shouldn't affect the results I would have thought.
I did not receive any email with packages, I'm afraid... I'm not too surprised that it works if you remove the testing, it seems that on your system for some weird reason it does not find the package it just built during the testing phase, leading to all kind of error messages about missing files, etc. I'm happy to upload any packages you send me -- I cannot really test them, though, as you need a Mac for that.
But after I upload them, you could try to install them via anaconda as I described earlier. If that works, I guess all is good.
from brian2genn.
I sent the email to Marcel Stimberg [email protected]
Is that the correct address?
from brian2genn.
Is that the correct address?
It is. Maybe it landed in INSERM's spam filter, I might get a notification about it later...
from brian2genn.
Oh boy ... I am not sure we should be that patient ... I have added and pushed the packages to the brian2genn repo
Feel free to remove them again at a future date ...
from brian2genn.
Thanks for the packages, I uploaded them to the anaconda server.
Could you try installing them (e.g. in your fresh miniconda environment) via:
conda install -c brian-team -c brian-team/channel/dev brian2genn
And then try running one of the example scripts with it? (Maybe put an import brian2genn; print(brian2genn.__file__)
at the start to make sure it actually uses the freshly installed version).
from brian2genn.
Hum ... it almost works ... there is a problem with GENN_PATH
. Presumably it should in my case point to $HOME/miniconda3/opt/genn
but the buildmodel.sh script complains it's not defined. How was this supposed to work generally? Who is setting that GENN_PATH
appropriately?
from brian2genn.
PS: If I define the appropriate GeNN_PATH
by hand, it is quashed somewhere in the brian2genn compile process.
from brian2genn.
If brian2genn comes with its own GeNN version, it should use it (you can add the line BrianLogger.log_level_debug()
to your example script to get the debug output; it should say something like "Using GeNN path from installation: ...") and ignore the GENN_PATH
variable (actually it will even unset it).
The GENN_PATH
variable is directly defined within the brian2genn compile process and it is passed as a command line argument to the make files. I just realized that we don't pass it to genn-buildmodel.sh
, though -- it works fine without on Linux because it autodetects it, but apparently this does not work on OS-X? Let me correct this.
from brian2genn.
Yes ... this seems to be the case. With the debug on I get
DEBUG Using GeNN path from installation: "/home/t/tn/tn41/miniconda3/opt/genn" [brian2.devices.genn]
genn-buildmodel.sh:45: error 1: GENN_PATH is not defined
So it is planning to use the right genn install but somehow it doesn't get passed into the genn-buildmodel.sh script
I had a look at the buildmodel.sh script and it explicitly only attempts auto-detection of GENN_PATH in Linux.
from brian2genn.
for all it's worth I have implemented GENN_PATH auto-detection for Mac in the genn-buildmodel.sh script in our GeNN development branch ... but maybe too late to add it to GeNN 2.2.3
from brian2genn.
I fixed the GENN_PATH
issue (so it should not need the autodetection on OS X for now) and a bunch of stuff related to the build process to make it more robust (I had some issues building it on my Windows VM as well). Maybe I fixed the OS X build issues as a side effect?
Could you update to latest master and run
python scripts/build_conda_packages.py
again? If it still fails during the testing phase, you can now do:
python scripts/build_conda_packages.py --no-test
instead of editing the meta.yaml
file. If that works, please send me the file so I can upload them to the server and we can do another test of the packages.
from brian2genn.
I compiled the packages and tried to send to the google address. But it is returning the email because the "attachments pose a potential threat". I will send you a link instead.
from brian2genn.
I uploaded the packages again, could you re-try installing and using them?
from brian2genn.
It seems to work now! I have run the CUBA.py example. The only error I get is
[...]
executing genn binary on GPU ...
mkdir: test_output: File exists
# DT 0.000100
# totalTime 1.000000
# We are running with fixed time step 0.000100
0.9999 done ...
everything finished.
ERROR Brian 2 encountered an unexpected error. If you think this is bug in Brian 2, please report this issue either to the mailing list at <http://groups.google.com/group/brian-development/>, or to the issue tracker at <https://github.com/brian-team/brian2/issues>. Please include this file with debug information in your report: /var/folders/kz/40f73dyn64sglrctb07g8mqh0004z3/T/brian_debug_6vc8u5yq.log Additionally, you can also include a copy of the script that was run, available at: /var/folders/kz/40f73dyn64sglrctb07g8mqh0004z3/T/brian_script_irnsc7y4.py You can also include a copy of the redirected std stream outputs, available at /var/folders/kz/40f73dyn64sglrctb07g8mqh0004z3/T/brian_stdout_49a7sr9f.log and /var/folders/kz/40f73dyn64sglrctb07g8mqh0004z3/T/brian_stderr_qs0v1m1v.log Thanks! [brian2]
Traceback (most recent call last):
File "CUBA.py", line 52, in <module>
plot(s_mon.t/ms, s_mon.i, ',k')
NameError: name 'plot' is not defined
I suspect this must be unrelated? The brian2genn stuff has most certainly finished at that point ...
from brian2genn.
Hey, great! I think you simply get the error because you are running it in an environment without matplotlib (it's an optional dependency for Brian, all we do is to import it into our namespace...).
from brian2genn.
I suppose we need not worry about that too much? Or do you think naive users would run into the same problem if downloading brian2genn was their very first exposure to brian 2?
from brian2genn.
I think it is fine, we should maybe document it a bit more (we do mention it in the Brian docs but not in the Brian2GeNN docs). I'll add a note in the docs, and, well I think then we are ready to do a proper 1.0 release, no? @thesamovar Could you maybe also have a go at trying to install it under Windows?
Oh, something I forgot to mention: there's now an easy way to do a very simple test:
>>> import brian2genn
>>> brian2genn.example_run()
We do this during the package build process as well (but with example_run(use_GPU=False)
because we cannot be sure that CUDA is available).
from brian2genn.
Yes, I think we should be ready. Exciting. We can then think about publication again. I think @thesamovar had a point that a classical paper still carries some weight. The new thing in it would have to be comparative benchmarking (aside just describing what it is all about and how it roughly works).
from brian2genn.
I'm resurrecting this old thread, because I was looking into releasing brian2genn 1.2 (following GeNN's 3.2 release). As a reminder, we currently ship conda packages in our brian-team
channel that come with pre-compiled libraries from GeNN, i.e. a user installing these packages will everything necessary from GeNN "for free".
This is kind of cool, but it comes with a few inconveniences. The first is that the packaging process is only half-automated (e.g. OS X packages have to be built by someone) and we cannot automate it further by putting things on conda-forge, since we need the CUDA compiler. The second inconvenience is that these packages simply do not always work due to incompatibilities between compilers/libraries etc., see e.g. #59.
I think all this is probably fixable, but I wonder whether it is really worth it for saving users one download + the setting of an environment variable... What do you think? If we remove this, users would have to install GeNN as detailed in the GeNN installation instructions (including setting GENN_PATH
and CUDA_PATH
) and then do a pip install brian2genn
– still reasonably simple, I'd say.
from brian2genn.
To be honest, I think it is probably more future proof and less support-request heavy if we require users to install their own GeNN?
from brian2genn.
@tnowotny I think I agree... I'll open a PR that makes the change (basically: deletes a lot of stuff).
from brian2genn.
Related Issues (20)
- Question: How to work around restriction of synaptic output variable or summed variable? HOT 4
- Cannot open include file: 'brianlib/stdint_compat.h from clocks.h HOT 22
- Building genn executable fails after a certain number of successful runs when parameter fitting HOT 12
- Workaround for network-operation? HOT 30
- Use GeNN's new run_regularly mechanisms for run_regularly statements
- Use GeNN's initvar snippets for synapse creation
- Brian2genn model build is completed, but system cannot find the path specified HOT 17
- RuntimeError: Project compilation failed HOT 2
- Undeclared Identifier Error for Multiple Runs HOT 6
- potential problem with handling of build_options
- Custom header files are missing when used in `device.insert_code` calls HOT 1
- C99 math functions fail on integer type arguments HOT 18
- Inaccurate updates when having multiple differential equations in neuron groups HOT 3
- StateMonitor fails to collect data from some Synapses HOT 3
- use individually named dir instead of GeNNworkspace HOT 1
- [Feature request] Support for slower clocks in Monitors HOT 3
- RNG & seeding HOT 4
- SpikeGenerator problem HOT 2
- Error code 50 HOT 3
- Failed to build, error: ‘spikeCount_neurongroup’ was not declared in this scope HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brian2genn.