Open breznak opened 5 years ago
CC @dkeeney ?
Why does it compile in release mode but install to folder named "Debug"? The python installer has "Release" hardcoded into it in file"bindings/py/packaging/setup.py". Maybe this issue is related to yours?
On Mon, Mar 4, 2019, 10:59 AM breznak notifications@github.com wrote:
CC @dkeeney https://github.com/dkeeney ?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/htm-community/nupic.cpp/issues/302#issuecomment-469306358, or mute the thread https://github.com/notifications/unsubscribe-auth/ASq_q-xpE3GDROGxzXe8p3mWO2jDeAozks5vTULlgaJpZM4bcqD7 .
The PY_BUILD=python2.7 may be causing a problem but the Debug vs Release thing would definitely cause a full recompile.
pybind11 will be different depending on the python version. So that is why we want to use the setup.py being ran by the target Python version to build the extension libraries. If you want a Debug version of the extension library then we either have to modify setup.py or add an option flag of some sort. I assumed it would be just our team that would ever want to do Debug on this part.
Why does it compile in release mode but install to folder named "Debug"? The python installer has "Release" hardcoded into it in
I'm not sure, but this might be a separate bug. Our cmake would always install to "REPO/build/Release/", even in Debug mode. Now it seems to have changed and both folders (Release, Debug) can be created and live alongside each other. That is OK, but bindings then have to honor CMAKE_BUILD_TYPE from c++ lib (now it'd crash).
The PY_BUILD=python2.7 may be causing a problem but the Debug vs Release thing would definitely cause a full recompile.
both "c++ lib" were compiled in Release (see above, otherwise bindings crash), so probably the specification of Python2.7 causes the whole recompilation.
When you run from setup.py you are setting CMAKE_BUILD_TYPE to Release. It is hard coded. Like I was trying to say...If you do want a Debug version of the interface library then you have to edit setup.py and change its CMAKE_BUILD_TYPE in setup.py to Debug, then rebuild.
Now that we have MSVC the Release and Debug folders must be different.
Hmmm, I do see something odd in the log you gave us:
CMAKE_INSTALL_PREFIX = /home/mmm/devel/HTM/htm-community/nupic.cpp/build/Debug
It should not be Debug because you are building Release.
I build the whole nupic.cpp library
(any sequential code modifications and re-compilation trigger only rebuild for the changed files).
but when I decide to build also the py bindings (ie to run py tests), the whole c++ core library is recompiled:
python ../../setup.py test
Output:
Hint: is it because a PY_BUILD=python2.7 cmake flag is added?
Current:
Expected behavior: