Closed leonardtschora closed 5 years ago
Hi, thanks for the report! I'm CCing @dkeeney who is running a MS box, he'll know better with MSVC.
6>Generating code 5> Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.exp 5>htm_core.lib(RandomDistributedScalarEncoder.obj) : error LNK2001: unresolved external symbol "unsigned int __cdecl htm::MurmurHash3_x86_32(void const *,int,unsigned int)" (?MurmurHash3_x86_32@htm@@YAIPEBXHI@Z) 5>C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\benchmark_hotgym.exe : fatal error LNK1120: 1 unresolved externals 5>Done building project "benchmark_hotgym.vcxproj" -- FAILED.
and
7>gtest.lib(gtest-all.obj) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64' 7>Done building project "unit_tests.vcxproj" -- FAILED.
First of all, can you try a clean build? (delete everything and try again?) At a first glance it seems your system is doing a "x86" (32bit) build, while it's on x64 (64b)
@Leonardbcm can you try the "manual" installation?
python setup.py install
? OR the cmake ../.. && make -j && make install
//you'd find more details in the Readme.
Hi @Leonardbcm thanks for reporting this. Somehow we managed to get some sort of error into the master build. I will track it down.
Ok, here is the problem: mnist_utils.hpp(89
/*!
* \brief Binarize each sub range inside the given range
* \param values The collection of ranges to binarize
* \param threshold The threshold for binarization
*/
template <typename Container>
void binarize_each(Container& values, double threshold = 30.0) {
for (auto& vec : values) {
for (auto& v : vec) {
v = v > threshold ? 1.0 : 0.0;
}
}
}
If this function is used with a Container which contains anything other than a double this will cause a warning because of type miss-match. If warnings are considered errors it all dies. In this case it is being passed a container of uint8_t.
This is used only in MNIST_SP.cpp line 106 where it is using a dataset of type uint8_t This binarize_each( ) function is not one of ours, its part of the mnist package. (and has an MIT licence I might add).
@breznak or @ctrl-z-9000-times I think there was some discussions about this previously. Can we make the data set a double?
Thanks for figuring this, @dkeeney ! I'm surprised we didn't observe this err in our Windows CI?
is binarize_each( ) function is not one of ours, its part of the mnist package.
@Leonardbcm if you care, would be nice reporting this error also to the upstream mnist_"something" package. (sorry, I;m not sure the name, just it's not the official MNIST dataset)
Can we make the data set a double?
definitely we can use any format needed, it's compared to a double threshold, so it makes sense. What I'm not sure, if the data is stored in a binary format, so we might need to read is as described? But if reading the data into a vector
I'm surprised we didn't observe this err in our Windows CI?
I think I know why. We are pulling this code from mnist master repository. Someone there may have changed something and broke us. That is the risk we take using the master.
But if reading the data into a vector works, we're all set.
Just changing the types on the container does not compile...breaks elsewhere. Any changes more than that and I would be in danger of causing it to do something that was not intended. I think @ctrl-z-9000-times needs to take a look at MNIST_SP.cpp. line 69 and 105
I think the intent of mnist in creating the templated Container was to allow the vector to be of any type but the binarize_each( ) function needs some work to allow that to happen.
Someone there may have changed something and broke us. That is the risk we take using the master.
ok, this is not the case, latest commit there is since Feb 2019, 5mo ago. Can this be something stricter with the new MSVC?
If this function is used with a Container which contains anything other than a double this will cause a warning because of type miss-match. If warnings are considered errors it all dies. In this case it is being passed a container of uint8_t.
first thing would be a PR or an issue to upstream, they've been pretty responsive when I was setting up the library.
As a workaround I'd suggest removing Werror
from the MNIST cmake executable by adding Wall
after to override that
@Leonardbcm can you try the "manual" installation?
python setup.py install
? OR thecmake ../.. && make -j && make install
//you'd find more details in the Readme.
Hi and thanks for your help! I deleted the entiere htm.core folder, then pulled again. I get this log : `Python version: 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)]
-- Building for: Visual Studio 15 2017 -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core -- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/scripts -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/Release -- FORCE_CPP11 = OFF -- FORCE_BOOST = OFF -- BINDING_BUILD = Python3 -- Environment var CXX =
-- CMAKE_CXX_COMPILER_ID= MSVC
-- CMAKE_CXX_COMPILER_VERSION=19.16.27032.1
-- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- CMAKE_CXX_STANDARD = 17
-- PLATFORM = windows
-- BITNESS = 32
-- NEEDS_BOOST = OFF
-- INTERNAL_CXX_FLAGS = /permissive-;/W3;/Gm-;/EHsc;/FC;/nologo;/Zc:__cplusplus;$<$
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Creating directories for 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Performing download step (download, verify and extract) for 'mnist-download' -- Downloading... dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' timeout='none' -- Using src='https://github.com/wichtounet/mnist/archive/master.zip' -- Downloading... done -- extracting... src='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done No skip-update step for 'mnist-download' No patch step for 'mnist-download' No configure step for 'mnist-download' No build step for 'mnist-download' No install step for 'mnist-download' No test step for 'mnist-download' Completed 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. -- obtaining Cereal -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. MurmurHash3.cpp common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Release\common.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest-all.cc gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest_main.cc gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest_main.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. main.cpp c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj] mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Release\mnist_example.exe Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. binary.cpp convert.cpp directives.cpp emit.cpp emitfromevents.cpp emitter.cpp emitterstate.cpp emitterutils.cpp exceptions.cpp exp.cpp memory.cpp node.cpp node_data.cpp nodebuilder.cpp nodeevents.cpp null.cpp ostream_wrapper.cpp parse.cpp parser.cpp regex_yaml.cpp Generating Code... Compiling... scanner.cpp scanscalar.cpp scantag.cpp scantoken.cpp simplekey.cpp singledocparser.cpp stream.cpp tag.cpp Generating Code... yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Release\libyaml-cppmd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
MurmurHash3.cpp
common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Debug\common.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest-all.cc
gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtestd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest_main.cc
gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtest_maind.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
main.cpp
c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj]
mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Debug\mnist_example.exe
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
binary.cpp
convert.cpp
directives.cpp
emit.cpp
emitfromevents.cpp
emitter.cpp
emitterstate.cpp
emitterutils.cpp
exceptions.cpp
exp.cpp
memory.cpp
node.cpp
node_data.cpp
nodebuilder.cpp
nodeevents.cpp
null.cpp
ostream_wrapper.cpp
parse.cpp
parser.cpp
regex_yaml.cpp
Generating Code...
Compiling...
scanner.cpp
scanscalar.cpp
scantag.cpp
scantoken.cpp
simplekey.cpp
singledocparser.cpp
stream.cpp
tag.cpp
Generating Code...
yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Debug\libyaml-cppmdd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
-- Results from external build:
-- common_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/external/common
-- common_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$
-- Configuring incomplete, errors occurred!
See also "C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
File "setup.py", line 53, in
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Leonard\Documents\htm.core\bindings\py\packaging\setup.py", line 224, in
It seems from the first lines :
-- Building for: Visual Studio 15 2017 -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
that MSVC chose a x86 compiler as a default compiler. This strangely does not happend when I use startupMSVC.bat which produce (after re-deleting and cloning the whole code): `C:\Users\Leonard\Documents\htm.core>startupMSVC.bat HTM_BASE=C:\Users\Leonard\Documents\htm.core -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core -- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/scripts -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/Release -- FORCE_CPP11 = OFF -- FORCE_BOOST = OFF -- BINDING_BUILD = none -- Environment var CXX =
-- CMAKE_CXX_COMPILER_ID= MSVC
-- CMAKE_CXX_COMPILER_VERSION=19.16.27032.1
-- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
-- CMAKE_CXX_STANDARD = 17
-- PLATFORM = windows
-- BITNESS = 64
-- NEEDS_BOOST = OFF
-- INTERNAL_CXX_FLAGS = /permissive-;/W3;/Gm-;/EHsc;/FC;/nologo;/Zc:__cplusplus;$<$
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Creating directories for 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Performing download step (download, verify and extract) for 'mnist-download' -- Downloading... dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' timeout='none' -- Using src='https://github.com/wichtounet/mnist/archive/master.zip' -- Downloading... done -- extracting... src='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done No skip-update step for 'mnist-download' No patch step for 'mnist-download' No configure step for 'mnist-download' No build step for 'mnist-download' No install step for 'mnist-download' No test step for 'mnist-download' Completed 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. -- obtaining Cereal -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. MurmurHash3.cpp common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Release\common.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest-all.cc gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest_main.cc gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest_main.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. main.cpp c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj] mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Release\mnist_example.exe Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. binary.cpp convert.cpp directives.cpp emit.cpp emitfromevents.cpp emitter.cpp emitterstate.cpp emitterutils.cpp exceptions.cpp exp.cpp memory.cpp node.cpp node_data.cpp nodebuilder.cpp nodeevents.cpp null.cpp ostream_wrapper.cpp parse.cpp parser.cpp regex_yaml.cpp Generating Code... Compiling... scanner.cpp scanscalar.cpp scantag.cpp scantoken.cpp simplekey.cpp singledocparser.cpp stream.cpp tag.cpp Generating Code... yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Release\libyaml-cppmd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
MurmurHash3.cpp
common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Debug\common.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest-all.cc
gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtestd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest_main.cc
gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtest_maind.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
main.cpp
c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj]
mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Debug\mnist_example.exe
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
binary.cpp
convert.cpp
directives.cpp
emit.cpp
emitfromevents.cpp
emitter.cpp
emitterstate.cpp
emitterutils.cpp
exceptions.cpp
exp.cpp
memory.cpp
node.cpp
node_data.cpp
nodebuilder.cpp
nodeevents.cpp
null.cpp
ostream_wrapper.cpp
parse.cpp
parser.cpp
regex_yaml.cpp
Generating Code...
Compiling...
scanner.cpp
scanscalar.cpp
scantag.cpp
scantoken.cpp
simplekey.cpp
singledocparser.cpp
stream.cpp
tag.cpp
Generating Code...
yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Debug\libyaml-cppmdd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
-- Results from external build:
-- common_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/external/common
-- common_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$
and the first lines :
C:\Users\Leonard\Documents\htm.core>startupMSVC.bat HTM_BASE=C:\Users\Leonard\Documents\htm.core -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- works
are different than the "manual" build using setup.py. Here it looks like the good compiler has been chosen.
However, this does not fix the problem since I still get this log while building the entiere project in MSVC:
1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------ 1>Checking Build System 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/test/CMakeFiles/generate.stamp is up-to-date. 2>------ Build started: Project: LibrarySource, Configuration: Release x64 ------ 2>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 2>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 2>Anomaly.cpp 2>AnomalyLikelihood.cpp 2>Connections.cpp 2>SDRClassifier.cpp 2>SpatialPooler.cpp 2>TemporalMemory.cpp 2>c:\users\leonard\documents\htm.core\src\htm\algorithms\temporalmemory.cpp(223): warning C4267: 'argument': conversion from 'size_t' to 'htm::UInt', possible loss of data 2>ScalarEncoder.cpp 2>RandomDistributedScalarEncoder.cpp 2>Input.cpp 2>Link.cpp 2>Network.cpp 2>NuPIC.cpp 2>Output.cpp 2>Region.cpp 2>RegionImpl.cpp 2>RegionImplFactory.cpp 2>Spec.cpp 2>YAMLUtils.cpp 2>Watcher.cpp 2>ArrayBase.cpp 2>Compiling... 2>BasicType.cpp 2>Scalar.cpp 2>Value.cpp 2>Directory.cpp 2>Env.cpp 2>OS.cpp 2>OSUnix.cpp 2>OSWin.cpp 2>Path.cpp 2>Timer.cpp 2>ScalarSensor.cpp 2>SPRegion.cpp 2>TestNode.cpp 2>TMRegion.cpp 2>VectorFile.cpp 2>VectorFileEffector.cpp 2>VectorFileSensor.cpp 2>Sdr.cpp 2>LoggingException.cpp 2>LogItem.cpp 2>Compiling... 2>MovingAverage.cpp 2>Random.cpp 2>SdrMetrics.cpp 2>StlIo.cpp 2>Topology.cpp 2>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 2>LibrarySource.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\LibrarySource.dir\Release\LibrarySource.lib 2>Done building project "LibrarySource.vcxproj". 3>------ Build started: Project: htm_core_solo, Configuration: Release x64 ------ 3>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 3>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 3>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 3>htm_core_solo.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core_solo.lib 4>------ Build started: Project: htm_core, Configuration: Release x64 ------ 4>Generating htm_core_dummy.c++ 4>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 4>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 4>htm_core_dummy.c++ 4>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 4>htm_core.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core.lib 4>Combining $^<TARGET_FILE:htm_core^> for target htm_core from $^<TARGET_FILE:htm_core_solo^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$^<$^<CONFIG:Release^>:/Release/libyaml-cppmd.lib^>$^<$^<CONFIG:Debug^>:/Debug/libyaml-cppmdd.lib^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$^<$^<CONFIG:Release^>:Release/common.lib^>$^<$^<CONFIG:Debug^>:Debug/common.lib^>. 4>Microsoft (R) Library Manager Version 14.16.27032.1 4>Copyright (C) Microsoft Corporation. All rights reserved. 4> 4>htm_core_solo.lib(Anomaly.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 4>Microsoft (R) Library Manager Version 14.16.27032.1 4>Copyright (C) Microsoft Corporation. All rights reserved. 4> 5>------ Build started: Project: benchmark_hotgym, Configuration: Release x64 ------ 6>------ Build started: Project: mnist_sp, Configuration: Release x64 ------ 7>------ Build started: Project: unit_tests, Configuration: Release x64 ------ 5>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 5>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 5>Hotgym.cpp 6>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 6>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 7>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/test/CMakeLists.txt 7>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/test/CMakeFiles/generate.stamp is up-to-date. 6>MNIST_SP.cpp 7>UnitTestMain.cpp 5>HelloSPTP.cpp 7>AnomalyTest.cpp 6>c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_utils.hpp(29): warning C4244: '=': conversion from 'double' to 'unsigned char', possible loss of data 6>c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_utils.hpp(89): note: see reference to function template instantiation 'void mnist::binarize_each<std::vector<Image,std::allocator<_Ty>>>(Container &,double)' being compiled 6> with 6> [ 6> Image=std::vector<uint8_t,std::allocator<uint8_t>>, 6> _Ty=std::vector<uint8_t,std::allocator<uint8_t>>, 6> Container=std::vector<std::vector<uint8_t,std::allocator<uint8_t>>,std::allocator<std::vector<uint8_t,std::allocator<uint8_t>>>> 6> ] 6>c:\users\leonard\documents\htm.core\src\examples\mnist\mnist_sp.cpp(106): note: see reference to function template instantiation 'void mnist::binarize_dataset<mnist::MNIST_dataset<std::vector,std::vector<uint8_t,std::allocator<_Ty>>,uint8_t>>(Dataset &)' being compiled 6> with 6> [ 6> _Ty=uint8_t, 6> Dataset=mnist::MNIST_dataset<std::vector,std::vector<uint8_t,std::allocator<uint8_t>>,uint8_t> 6> ] 6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\filesystem(2392): note: see reference to class template instantiation 'std::chrono::time_point<std::filesystem::_File_time_clock,std::filesystem::_File_time_clock::duration>' being compiled 6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\type_traits(616): note: see reference to class template instantiation 'std::basic_string_view<wchar_t,std::char_traits<wchar_t>>' being compiled 6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2122): note: see reference to class template instantiation 'std::is_convertible<const _StringViewIsh &,std::basic_string_view<wchar_t,std::char_traits<wchar_t>>>' being compiled 6> with 6> [ 6> _StringViewIsh=const wchar_t * 6> ] 6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2122): note: see reference to variable template 'const bool conjunction_v<std::is_convertible<wchar_t const * const &,std::basic_string_view<wchar_t,std::char_traits<wchar_t> > >,std::negation<std::is_convertible<wchar_t const * const &,wchar_t const *> > >' being compiled 6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2281): note: see reference to alias template instantiation 'std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>::_Is_string_view_ish<_StringViewIsh>' being compiled 6> with 6> [ 6> _StringViewIsh=const wchar_t * 6> ] 7>AnomalyLikelihoodTest.cpp 7>ConnectionsPerformanceTest.cpp 6> Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/mnist_sp.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/mnist_sp.exp 6>Generating code 5> Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.exp 5>htm_core.lib(RandomDistributedScalarEncoder.obj) : error LNK2001: unresolved external symbol "unsigned int __cdecl htm::MurmurHash3_x86_32(void const *,int,unsigned int)" (?MurmurHash3_x86_32@htm@@YAIPEBXHI@Z) 5>C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\benchmark_hotgym.exe : fatal error LNK1120: 1 unresolved externals 5>Done building project "benchmark_hotgym.vcxproj" -- FAILED. 8>------ Skipped Build: Project: hotgym, Configuration: Release x64 ------ 8>Project not selected to build for this solution configuration 7>ConnectionsTest.cpp 6>Finished generating code 6>mnist_sp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\mnist_sp.exe 6>Done building project "mnist_sp.vcxproj". 9>------ Skipped Build: Project: mnist, Configuration: Release x64 ------ 9>Project not selected to build for this solution configuration 7>HelloSPTPTest.cpp 7>SDRClassifierTest.cpp 7>SpatialPoolerTest.cpp 7>TemporalMemoryTest.cpp 7>ScalarEncoderTest.cpp 7>RandomDistributedScalarEncoderTest.cpp 7>CppRegionTest.cpp 7>HelloRegionTest.cpp 7>InputTest.cpp 7>LinkTest.cpp 7>NetworkTest.cpp 7>YAMLUtilsTest.cpp 7>WatcherTest.cpp 7>TopologyTest.cpp 7>ArrayTest.cpp 7>Compiling... 7>BasicTypeTest.cpp 7>CollectionTest.cpp 7>DimensionsTest.cpp 7>ScalarTest.cpp 7>ValueTest.cpp 7>DirectoryTest.cpp 7>EnvTest.cpp 7>OSTest.cpp 7>PathTest.cpp 7>TimerTest.cpp 7>RegionTestUtilities.cpp 7>SPRegionTest.cpp 7>c:\users\leonard\documents\htm.core\src\test\unit\regions\spregiontest.cpp(356): warning C4305: 'argument': truncation from 'double' to 'htm::Real32' 7>TMRegionTest.cpp 7>VectorFileTest.cpp 7>ExceptionTest.cpp 7>SdrTest.cpp 7>GroupByTest.cpp 7>MovingAverageTest.cpp 7>RandomTest.cpp 7>VectorHelpersTest.cpp 7>Compiling... 7>SdrMetricsTest.cpp 7>HelloSPTP.cpp 7>gtest.lib(gtest-all.obj) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64' 7>Done building project "unit_tests.vcxproj" -- FAILED. 10>------ Build started: Project: ALL_BUILD, Configuration: Release x64 ------ 11>------ Skipped Build: Project: tests_all, Configuration: Release x64 ------ 11>Project not selected to build for this solution configuration 10>Building Custom Rule C:/Users/Leonard/Documents/htm.core/CMakeLists.txt 10>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/generate.stamp is up-to-date. 12>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------ 12>Project not selected to build for this solution configuration 13>------ Skipped Build: Project: PACKAGE, Configuration: Release x64 ------ 13>Project not selected to build for this solution configuration ========== Build: 6 succeeded, 2 failed, 0 up-to-date, 5 skipped ==========
Thanks.
-- BITNESS = 32
for some reason, the c++ is detecting 32bit for you, which I guess is wrong and causes later problems with linking.
just to verify, can you override the bitness for cmake? something like
cmake -DBITNESS=64 -DCMAKE_BUILD_TYPE=Release ../..
I am going to try this, however, this -- BITNESS = 32
only happens while using python setup.py.
While building with startupMSVC, I have -- BITNESS = 64
.
Moreover, I never used Cmake, what command line/arguments should I use after cmake -DBITNESS=64 -DCMAKE_BUILD_TYPE=Release ../..
?
Moreover, I never used Cmake, what command line/arguments should I use after cmake -DBITNESS=64 -DCMAKE_BUILD_TYPE=Release ../..?
nothing, that's it. Assuming you're in REPO/build/scripts/
(the 2 folders can be created manually), the ../..
should point to the repo root REPO (where CMakeLists.txt is)
Hmmm, its interesting that it is choosing a 32bit compiler. Let me see if I can duplicate this.
Hmmm, its interesting that it is choosing a 32bit compiler.
@dkeeney are there even 32bit windows? My line of thought is if we shouldn't auto-assume 64b system, and only let 32bit with manual rewrite in cmake -DBITNESS=32
?
Moreover, I never used Cmake, what command line/arguments should I use after cmake -DBITNESS=64 -DCMAKE_BUILD_TYPE=Release ../..?
nothing, that's it. Assuming you're in
REPO/build/scripts/
(the 2 folders can be created manually), the../..
should point to the repo root REPO (where CMakeLists.txt is)
It seems to have worked well. Here are the logs : ` C:\Users\Leonard\Documents\htm.core\build\scripts>cmake -DBITNESS=64 -DCMAKE_BUILD_TYPE=Release ../.. -- Building for: Visual Studio 15 2017 -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core -- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/scripts -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/Release -- FORCE_CPP11 = OFF -- FORCE_BOOST = OFF -- BINDING_BUILD = none -- Environment var CXX =
-- CMAKE_CXX_COMPILER_ID= MSVC
-- CMAKE_CXX_COMPILER_VERSION=19.16.27032.1
-- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- CMAKE_CXX_STANDARD = 17
-- PLATFORM = windows
-- BITNESS = 64
-- NEEDS_BOOST = OFF
-- INTERNAL_CXX_FLAGS = /permissive-;/W3;/Gm-;/EHsc;/FC;/nologo;/Zc:__cplusplus;$<$
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Creating directories for 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Performing download step (download, verify and extract) for 'mnist-download' -- Downloading... dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' timeout='none' -- Using src='https://github.com/wichtounet/mnist/archive/master.zip' -- Downloading... done -- extracting... src='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done No skip-update step for 'mnist-download' No patch step for 'mnist-download' No configure step for 'mnist-download' No build step for 'mnist-download' No install step for 'mnist-download' No test step for 'mnist-download' Completed 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. -- obtaining Cereal -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. MurmurHash3.cpp common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Release\common.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest-all.cc gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest_main.cc gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest_main.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. main.cpp c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj] mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Release\mnist_example.exe Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. binary.cpp convert.cpp directives.cpp emit.cpp emitfromevents.cpp emitter.cpp emitterstate.cpp emitterutils.cpp exceptions.cpp exp.cpp memory.cpp node.cpp node_data.cpp nodebuilder.cpp nodeevents.cpp null.cpp ostream_wrapper.cpp parse.cpp parser.cpp regex_yaml.cpp Generating Code... Compiling... scanner.cpp scanscalar.cpp scantag.cpp scantoken.cpp simplekey.cpp singledocparser.cpp stream.cpp tag.cpp Generating Code... yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Release\libyaml-cppmd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
MurmurHash3.cpp
common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Debug\common.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest-all.cc
gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtestd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date.
gtest_main.cc
gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtest_maind.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date.
main.cpp
c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initializing': conversion from 'std::streamoff' to 'unsigned int', possible loss of data [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj]
mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Debug\mnist_example.exe
Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date.
binary.cpp
convert.cpp
directives.cpp
emit.cpp
emitfromevents.cpp
emitter.cpp
emitterstate.cpp
emitterutils.cpp
exceptions.cpp
exp.cpp
memory.cpp
node.cpp
node_data.cpp
nodebuilder.cpp
nodeevents.cpp
null.cpp
ostream_wrapper.cpp
parse.cpp
parser.cpp
regex_yaml.cpp
Generating Code...
Compiling...
scanner.cpp
scanscalar.cpp
scantag.cpp
scantoken.cpp
simplekey.cpp
singledocparser.cpp
stream.cpp
tag.cpp
Generating Code...
yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Debug\libyaml-cppmdd.lib
Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date.
-- Results from external build:
-- common_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/external/common
-- common_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$
I am realy unfamiliar with C++, what is the next step for using the python bindings now? Thanks
are there even 32bit windows?
yes, there are 32bit windows machines. But we don't support 32 bit yet. Eventually we might want to support 32bit under Linux (Raspberry Pi for example) but that will take some work.
I am realy unfamiliar with C++, what is the next step for using the python bindings now? Thanks
@Leonardbcm now compile the c++:
make -j8 && make install
then build the py bindings
python ../../setup.py install
Does everything work then?
yes, there are 32bit windows machines. But we don't support 32 bit yet. Eventually we might want to support 32bit under Linux (Raspberry Pi
@dkeeney depends if you want to debug the issue, I think hardcoding 64b for now would be acceptable, and we can make instructions to define 32b on RPi etc..
On my machine, starting with the build/
folder deleted... when I use
python3 setup.py install --user --force
It builds using the 64bit compiler.
I think hardcoding 64b for now would be acceptable,
The setupMSVC.bat file already forces 64bit. If it is trying to run on 32bit hardware...or even running 32bit Windows then I do not think this will work. But @Leonardbcm seems to have a different problem. I assume he is running a 64bit Windows.
The compile error he was getting (and I got as well) in MNIST_SP.cpp is when compiling the examples. python3 setup.py install --user --force
does not compile the examples. so it would not get this error.
I just tried using python3 setup.py install
using the VS 2019 cmd and it correctly choose the X64. I will try a plain vanilla command prompt.
@Leonardbcm now compile the c++:
make -j8 && make install
I'm very sorry but this does not work. It seems that the commande "make" isn't defined. I installed GnuWin32 which provide a make commande. Here what's happening:
C:\Users\Leonard\Documents\htm.core\build\scripts>make -j8 && make install make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
Which is "No target specified and no makefile found. Stop" in en. Note that I'm using this command from build\scripts
But @Leonardbcm seems to have a different problem. I assume he is running a 64bit Windows.
Yes I am using a 64bit Windows.
ok, sorry, apparently Windows does not use "make", but calls cmake's OS-agnostic way:
Run build (i.e. make install), using portable, toolchain-agnostic mechanism to start it cmake.exe --build "%NUPIC_CORE%\build\scripts" --target install --config Release
you may need to adjust some of the variables to fit your settings. This is copied from appveyor.yaml
, which is our CI for Windows, there you can find examples of how we are building on Windows.
... the commande "make" isn't defined.
Understand. make
is not normally a part of Windows commands. So that was not going to help you. But even if you used the GnuWin32 make I don't think that would help. Wrong environment.
I tried using a plain vanilla command prompt using python3 setup.py install
and it choose the X64bit compiler on my machine. So I do not understand what conditions caused it to assume a 32 bit architecture on your machine. Perhaps I should also modify setup.py to also force x64
In the mean time, @Leonardbcm if you were to be able to get an x64 build then the python libraries should work for you using 64bit python. So here is something to try...
python3 setup.py install --user --force
Hopefully this will build completely as a 64 bit release build. Then you can use the libraries with Python3.
The problem with the error in the example code is a separate issue and should also be addressed.
even if you used the GnuWin32 make I don't think that would help.
isn't this the problem, that GnuWin (32bit) somehow messes with the libraries & paths cmake is detecting? @Leonardbcm can you uninstall the gnuwin32 env and try without it a clean build?
The problem with the error in the example code is a separate issue and should also be addressed
oh, so we still have that..
isn't this the problem, that GnuWin (32bit) somehow messes with the libraries & paths cmake is detecting?
I don't think so. I have that installed as well.
Hmmm, not positive that what I have is GnuWin..might be something like it. But if I remember correctly GnuWin32 needs to be ran in a special cmd prompt window to set the environment variables.
In the mean time, @Leonardbcm if you were to be able to get an x64 build then the python libraries should work for you using 64bit python. So here is something to try...
- Stop MSVC if it happens to be running
- delete the build\ folder. (this starts everything from scratch)
- double click startupMSVC.bat and let it run until it says "you can now start MSVC" and close the window. This should have set the bitness to 64 bit.
- use a Command Prompt and cd to the top of the repository.
- enter
python3 setup.py install --user --force
Hopefully this will build completely as a 64 bit release build. Then you can use the libraries with Python3.
So I tried this solution. The startup MSVC worked fine, as always. Then I closed the terminal and used
python setup.py install --force --user
and still got the same error messages :
`C:\Users\Leonard\Documents\htm.core>python setup.py install --user --force setup.py: Calling C:\Users\Leonard\Documents\htm.core\bindings\py\packaging\setup.py
Python version: 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)]
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core -- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/scripts -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/Release -- FORCE_CPP11 = OFF -- FORCE_BOOST = OFF -- BINDING_BUILD = Python3 -- Environment var CXX =
-- CMAKE_CXX_COMPILER_ID= MSVC
-- CMAKE_CXX_COMPILER_VERSION=19.16.27032.1
-- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
-- CMAKE_CXX_STANDARD = 17
-- PLATFORM = windows
-- BITNESS = 64
-- NEEDS_BOOST = OFF
-- INTERNAL_CXX_FLAGS = /permissive-;/W3;/Gm-;/EHsc;/FC;/nologo;/Zc:__cplusplus;$<$
-- obtaining Cereal -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Release\common.lib gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest.lib gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest_main.lib mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Release\mnist_example.exe yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Release\libyaml-cppmd.lib Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Debug\common.lib
gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtestd.lib
gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtest_maind.lib
mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Debug\mnist_example.exe
yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Debug\libyaml-cppmdd.lib
-- Results from external build:
-- common_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/external/common
-- common_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/test/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/pybind11/pybind11-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. Anomaly.cpp AnomalyLikelihood.cpp Connections.cpp SDRClassifier.cpp SpatialPooler.cpp TemporalMemory.cpp c:\users\leonard\documents\htm.core\src\htm\algorithms\temporalmemory.cpp(223): warning C4267: 'argument': conversion from 'size_t' to 'htm::UInt', possible loss of data [C:\Users\Leonard\Documents\htm.core\bui ld\scripts\src\LibrarySource.vcxproj] ScalarEncoder.cpp RandomDistributedScalarEncoder.cpp Input.cpp Link.cpp Network.cpp NuPIC.cpp Output.cpp Region.cpp RegionImpl.cpp RegionImplFactory.cpp Spec.cpp YAMLUtils.cpp Watcher.cpp ArrayBase.cpp Compiling... BasicType.cpp Scalar.cpp Value.cpp Directory.cpp Env.cpp OS.cpp OSUnix.cpp OSWin.cpp Path.cpp Timer.cpp ScalarSensor.cpp SPRegion.cpp TestNode.cpp TMRegion.cpp VectorFile.cpp VectorFileEffector.cpp VectorFileSensor.cpp Sdr.cpp LoggingException.cpp LogItem.cpp Compiling... MovingAverage.cpp Random.cpp SdrMetrics.cpp StlIo.cpp Topology.cpp LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance LibrarySource.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\LibrarySource.dir\Release\LibrarySource.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance htm_core_solo.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core_solo.lib Generating htm_core_dummy.c++ Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. htm_core_dummy.c++ LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance htm_core.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core.lib Combining $^<TARGET_FILE:htm_core^> for target htm_core from $^<TARGET_FILE:htm_core_solo^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$^<$^<CONFIG:Release^>:/Release/libyaml- cppmd.lib^>$^<$^<CONFIG:Debug^>:/Debug/libyaml-cppmdd.lib^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$^<$^<CONFIG:Release^>:Release/common.lib^>$^<$^<CONFIG:Debug^>:Debug/common.lib^>. Microsoft (R) Library Manager Version 14.16.27032.1 Copyright (C) Microsoft Corporation. All rights reserved.
htm_core_solo.lib(Anomaly.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance Microsoft (R) Library Manager Version 14.16.27032.1 Copyright (C) Microsoft Corporation. All rights reserved.
Building Custom Rule C:/Users/Leonard/Documents/htm.core/bindings/py/cpp_src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/CMakeFiles/generate.stamp is up-to-date.
algorithm_module.cpp
py_Connections.cpp
py_TemporalMemory.cpp
py_SDRClassifier.cpp
py_SpatialPooler.cpp
Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/algorithms.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/algori
thms.exp
Generating code
Finished generating code
algorithms.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\bindings\py\cpp_src\Release\algorithms.cp37-win_amd64.pyd
Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date.
Hotgym.cpp
HelloSPTP.cpp
Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.exp
htm_core.lib(RandomDistributedScalarEncoder.obj) : error LNK2001: unresolved external symbol "unsigned int cdecl htm::MurmurHash3_x86_32(void const ,int,unsigned int)" (?MurmurHash3_x86_32@htm@@YAIPEBXHI@Z)
[C:\Users\Leonard\Documents\htm.core\build\scripts\src\benchmark_hotgym.vcxproj]
C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\benchmark_hotgym.exe : fatal error LNK1120: 1 unresolved externals [C:\Users\Leonard\Documents\htm.core\build\scripts\src\benchmark_hotgym.vcxproj]
Building Custom Rule C:/Users/Leonard/Documents/htm.core/bindings/py/cpp_src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/CMakeFiles/generate.stamp is up-to-date.
encoders_module.cpp
py_ScalarEncoder.cpp
py_RDSE.cpp
Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/encoders.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/encoders
.exp
htm_core.lib(RandomDistributedScalarEncoder.obj) : error LNK2001: unresolved external symbol "unsigned int __cdecl htm::MurmurHash3_x86_32(void const ,int,unsigned int)" (?MurmurHash3_x86_32@htm@@YAIPEBXHI@Z)
[C:\Users\Leonard\Documents\htm.core\build\scripts\bindings\py\cpp_src\encoders.vcxproj]
C:\Users\Leonard\Documents\htm.core\build\scripts\bindings\py\cpp_src\Release\encoders.cp37-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals [C:\Users\Leonard\Documents\htm.core\build\scripts\binding
s\py\cpp_src\encoders.vcxproj]
Building Custom Rule C:/Users/Leonard/Documents/htm.core/bindings/py/cpp_src/CMakeLists.txt
CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/CMakeFiles/generate.stamp is up-to-date.
PyBindRegion.cpp
engine_module.cpp
py_Engine.cpp
py_Region.cpp
py_OS.cpp
py_Timer.cpp
Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/engine_internal.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/bindings/py/cpp_src/Release/e
ngine_internal.exp
htm_core.lib(YAMLUtils.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl YAML::InvalidNode::~InvalidNode(void)" (??1InvalidNode@YAML@@UEAA@XZ) [C:\Users\Leonard\Documents\htm.core\build\
scripts\bindings\py\cpp_src\engine_internal.vcxproj]
htm_core.lib(YAMLUtils.obj) : error LNK2001: unresolved external symbol "public: virtual cdecl YAML::Exception::~Exception(void)" (??1Exception@YAML@@UEAA@XZ) [C:\Users\Leonard\Documents\htm.core\build\script
s\bindings\py\cpp_src\engine_internal.vcxproj]
htm_core.lib(YAMLUtils.obj) : error LNK2001: unresolved external symbol "class YAML::Node cdecl YAML::Load(class std::basic_string<char,struct std::char_traits
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\Leonard\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Leonard\Documents\htm.core\bindings\py\packaging\setup.py", line 224, in
At least the right compiler has been chosen :
-- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
and the bitness is right :
-- BITNESS = 64
I am going to try the fix you merged now.
gtest.lib(gtest-all.obj) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64' [C:\Users\Leonard\Documents\htm.core\build\scripts\src\test\unit_tests.vcxproj] Traceback (most recent call last): File "setup.py", line 53, in
gtest still builds with wrong bitness. Did you rm build/ThirdParty before your testing?
gtest still builds with wrong bitness. Did you rm build/ThirdParty before your testing?
Before each try I delete the entiere build folder.
Can this be closed now?
Can this be closed now?
I think I have a correct fix this time. Seems to work here. But still waiting on @Leonardbcm to confirm it works with both setup.py install and with startupMSVC.bat in his environment if he is willing to try it one more time.
Hi, today I retried the 2 ways of building. They both worked. The logs of the builds are available in: log.txt.
As for testings, my scripts using this package still run properly.
Thanks a lot for your support.
today I retried the 2 ways of building. They both worked.
Wonderful. Thanks for taking the time to make sure I got this right. :-)
We can now close this issue and the corresponding PR.
Hi all. First of all, sorry by advance if this post is irrelevant. I've read several related posts about building issues but still couldn't fixe my problem. Thanks also by advance for your time.
So I'm struggling to get htm.building. I followed the section of the installation tutorial
The first step which happens just after clicking on startupMSVC.bat works correctly and here are the displayed logs : `HTM_BASE=C:\Users\Leonard\Documents\htm.core -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134. -- The CXX compiler identification is MSVC 19.16.27032.1 -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core -- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/scripts -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/Release -- FORCE_CPP11 = OFF -- FORCE_BOOST = OFF -- BINDING_BUILD = none -- Environment var CXX =
-- CMAKE_CXX_COMPILER_ID= MSVC -- CMAKE_CXX_COMPILER_VERSION=19.16.27032.1 -- CMAKE_CXX_COMPILER = C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- CMAKE_CXX_STANDARD = 17 -- PLATFORM = windows -- BITNESS = 64 -- NEEDS_BOOST = OFF -- INTERNAL_CXX_FLAGS = /permissive-;/W3;/Gm-;/EHsc;/FC;/nologo;/Zc:__cplusplus;$<$:/O2;/Oi;/Gy;/GL;/MD>;$<$:/Ob0;/Od;/Zi;/sdl;/RTC1;/MDd>
-- INTERNAL_LINKER_FLAGS= -MACHINE:X64;-NOLOGO;-NODEFAULTLIB:LIBCMT;-ignore:4099;$<$:-LTCG>
-- INTERNAL_LINKER_FLAGS_STR= -MACHINE:X64 -NOLOGO -NODEFAULTLIB:LIBCMT -ignore:4099 $<$:-LTCG>
-- COMMON_COMPILER_DEFINITIONS_STR=_CONSOLE _MBCS NTA_OS_WINDOWS NTA_COMPILER_MSVC NTA_ARCH_64 _CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE _SCL_SECURE_NO_DEPRECATE BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE BOOST_ALL_NO_LIB BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS BOOST_NO_WREGEX _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING VC_EXTRALEAN WIN32_LEAN_AND_MEAN NOMINMAX NOGDI $<$:NTA_ASSERTIONS_ON>
-- COMMON_OS_LIBS = oldnames.lib;psapi.lib;ws2_32.lib
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
-- The CXX compiler identification is MSVC 19.16.27032.1
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- external import
-- REPOSITORY_DIR = C:/Users/Leonard/Documents/htm.core
-- CMAKE_BINARY_DIR = C:/Users/Leonard/Documents/htm.core/build/ThirdParty
-- CMAKE_INSTALL_PREFIX = C:/Users/Leonard/Documents/htm.core/build/ThirdParty
-- CMAKE_BUILD_TYPE = Release
-- EXTERNAL_CXX_FLAGS = /EHsc;$<$:/MD>;$<$:/MDd>
-- NEEDS_BOOST = OFF
-- BINDING_BUILD = none
-- common_INCLUDE_DIR= C:/Users/Leonard/Documents/htm.core/external/common
-- common_LIBRARIES= C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$:Release/common.lib>$<$:Debug/common.lib>
-- C:/Users/Leonard/Documents/htm.core/build/ThirdParty/share/yaml-cpp.zip
-- Obtaining yaml-cpp from https://github.com/jbeder/yaml-cpp/archive/master.zip
-- The C compiler identification is MSVC 19.16.27032.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- obtaining Eigen
-- Obtaining gtest
-- Found PythonInterp: C:/Users/Leonard/AppData/Local/Programs/Python/Python37/python.exe (found version "3.7.2")
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- obtaining MNIST data
-- Downloading/updating mnist
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework
Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Creating directories for 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. Performing download step (download, verify and extract) for 'mnist-download' -- Downloading... dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' timeout='none' -- Using src='https://github.com/wichtounet/mnist/archive/master.zip' -- Downloading... done -- extracting... src='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/mnist-download-prefix/src/master.zip' dst='C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done No skip-update step for 'mnist-download' No patch step for 'mnist-download' No configure step for 'mnist-download' No build step for 'mnist-download' No install step for 'mnist-download' No test step for 'mnist-download' Completed 'mnist-download' Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-download/CMakeFiles/generate.stamp is up-to-date. -- obtaining Cereal -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/ThirdParty Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. MurmurHash3.cpp common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Release\common.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest-all.cc gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest_main.cc gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Release\gtest_main.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. main.cpp c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initialisation'�: conversion de 'std::streamoff' en 'unsigned int', perte possible de donn�es [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj] mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Release\mnist_example.exe Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. binary.cpp convert.cpp directives.cpp emit.cpp emitfromevents.cpp emitter.cpp emitterstate.cpp emitterutils.cpp exceptions.cpp exp.cpp memory.cpp node.cpp node_data.cpp nodebuilder.cpp nodeevents.cpp null.cpp ostream_wrapper.cpp parse.cpp parser.cpp regex_yaml.cpp G�n�ration de code en cours... Compilation en cours... scanner.cpp scanscalar.cpp scantag.cpp scantoken.cpp simplekey.cpp singledocparser.cpp stream.cpp tag.cpp G�n�ration de code en cours... yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Release\libyaml-cppmd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 pour .NET Framework Copyright (C) Microsoft Corporation. Tous droits r�serv�s.
Checking Build System CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. MurmurHash3.cpp common.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\Debug\common.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest-all.cc gtest.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtestd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/CMakeFiles/generate.stamp is up-to-date. gtest_main.cc gtest_main.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\gtest\googletest-build\googletest\Debug\gtest_maind.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/example/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-build/CMakeFiles/generate.stamp is up-to-date. main.cpp c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_reader_common.hpp(46): warning C4244: 'initialisation'�: conversion de 'std::streamoff' en 'unsigned int', perte possible de donn�es [C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\mnist_example.vcxproj] mnist_example.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\mnist_data\mnist-build\Debug\mnist_example.exe Building Custom Rule C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build/CMakeFiles/generate.stamp is up-to-date. binary.cpp convert.cpp directives.cpp emit.cpp emitfromevents.cpp emitter.cpp emitterstate.cpp emitterutils.cpp exceptions.cpp exp.cpp memory.cpp node.cpp node_data.cpp nodebuilder.cpp nodeevents.cpp null.cpp ostream_wrapper.cpp parse.cpp parser.cpp regex_yaml.cpp G�n�ration de code en cours... Compilation en cours... scanner.cpp scanscalar.cpp scantag.cpp scantoken.cpp simplekey.cpp singledocparser.cpp stream.cpp tag.cpp G�n�ration de code en cours... yaml-cpp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\ThirdParty\yaml-cpp\yaml-cpp-build\Debug\libyaml-cppmdd.lib Building Custom Rule C:/Users/Leonard/Documents/htm.core/external/CMakeLists.txt CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/ThirdParty/CMakeFiles/generate.stamp is up-to-date. -- Results from external build: -- common_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/external/common -- common_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$:Release/common.lib>$<$:Debug/common.lib>
-- yaml-cpp_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-src/include
-- yaml-cpp_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$<$:/Release/libyaml-cppmd.lib>$<$:/Debug/libyaml-cppmdd.lib>
-- eigen_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/eigen/eigen-src
-- gtest_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-src/googletest/include
-- gtest_LIBRARIES = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/gtest/googletest-build/googletest/$<$:Release>$<$:Debug>/gtest$<$:d>.lib
-- mnist_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src/include
-- mnist_SOURCE_DIR = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/mnist_data/mnist-src
-- cereal_INCLUDE_DIRS = C:/Users/Leonard/Documents/htm.core/build/ThirdParty/cereal/cereal-src/include
-- Configuring htm_core src
-- MERGE_STATIC_LIBRARIES LIB_TARGET=htm_core, STATIC_LIBS = htm_core_solo;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$<$:/Release/libyaml-cppmd.lib>$<$:/Debug/libyaml-cppmdd.lib>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$:Release/common.lib>$<$:Debug/common.lib>
-- MERGE_STATIC_LIBRARIES: htm_core_solo
-- MERGE_STATIC_LIBRARIES: C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$<$:/Release/libyaml-cppmd.lib>$<$:/Debug/libyaml-cppmdd.lib> - non-target lib.
-- MERGE_STATIC_LIBRARIES: C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$<$:Release/common.lib>$<$:Debug/common.lib> - non-target lib.
-- Configuring htm_core tests
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Leonard/Documents/htm.core/build/scripts
" "
You can now start Visual Studio using solution file C:\Users\Leonard\Documents\htm.core\build\scripts\htm_core.sln
Dont forget to set your default Startup Project to unit_tests.
Press any key to start Visual Studio`
So this seems to have worked fine. However, after chossing to build "Release", I get the following logs : '1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------ 1>Checking Build System 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/test/CMakeFiles/generate.stamp is up-to-date. 2>------ Build started: Project: LibrarySource, Configuration: Release x64 ------ 2>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 2>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 2>Anomaly.cpp 2>AnomalyLikelihood.cpp 2>Connections.cpp 2>SDRClassifier.cpp 2>SpatialPooler.cpp 2>TemporalMemory.cpp 2>c:\users\leonard\documents\htm.core\src\htm\algorithms\temporalmemory.cpp(223): warning C4267: 'argument': conversion from 'size_t' to 'htm::UInt', possible loss of data 2>ScalarEncoder.cpp 2>RandomDistributedScalarEncoder.cpp 2>Input.cpp 2>Link.cpp 2>Network.cpp 2>NuPIC.cpp 2>Output.cpp 2>Region.cpp 2>RegionImpl.cpp 2>RegionImplFactory.cpp 2>Spec.cpp 2>YAMLUtils.cpp 2>Watcher.cpp 2>ArrayBase.cpp 2>Compiling... 2>BasicType.cpp 2>Scalar.cpp 2>Value.cpp 2>Directory.cpp 2>Env.cpp 2>OS.cpp 2>OSUnix.cpp 2>OSWin.cpp 2>Path.cpp 2>Timer.cpp 2>ScalarSensor.cpp 2>SPRegion.cpp 2>TestNode.cpp 2>TMRegion.cpp 2>VectorFile.cpp 2>VectorFileEffector.cpp 2>VectorFileSensor.cpp 2>Sdr.cpp 2>LoggingException.cpp 2>LogItem.cpp 2>Compiling... 2>MovingAverage.cpp 2>Random.cpp 2>SdrMetrics.cpp 2>StlIo.cpp 2>Topology.cpp 2>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 2>LibrarySource.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\LibrarySource.dir\Release\LibrarySource.lib 2>Done building project "LibrarySource.vcxproj". 3>------ Build started: Project: htm_core_solo, Configuration: Release x64 ------ 3>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 3>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 3>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 3>htm_core_solo.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core_solo.lib 4>------ Build started: Project: htm_core, Configuration: Release x64 ------ 4>Generating htm_core_dummy.c++ 4>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 4>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 4>htm_core_dummy.c++ 4>LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 4>htm_core.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\htm_core.lib 4>Combining $^<TARGET_FILE:htm_core^> for target htm_core from $^<TARGET_FILE:htm_core_solo^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/yaml-cpp/yaml-cpp-build$^<$^<CONFIG:Release^>:/Release/libyaml-cppmd.lib^>$^<$^<CONFIG:Debug^>:/Debug/libyaml-cppmdd.lib^>;C:/Users/Leonard/Documents/htm.core/build/ThirdParty/$^<$^<CONFIG:Release^>:Release/common.lib^>$^<$^<CONFIG:Debug^>:Debug/common.lib^>. 4>Microsoft (R) Library Manager Version 14.16.27032.1 4>Copyright (C) Microsoft Corporation. All rights reserved. 4> 4>htm_core_solo.lib(Anomaly.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 4>Microsoft (R) Library Manager Version 14.16.27032.1 4>Copyright (C) Microsoft Corporation. All rights reserved. 4> 5>------ Build started: Project: benchmark_hotgym, Configuration: Release x64 ------ 6>------ Build started: Project: mnist_sp, Configuration: Release x64 ------ 7>------ Build started: Project: unit_tests, Configuration: Release x64 ------ 5>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 5>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 5>Hotgym.cpp 6>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/CMakeLists.txt 6>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/CMakeFiles/generate.stamp is up-to-date. 7>Building Custom Rule C:/Users/Leonard/Documents/htm.core/src/test/CMakeLists.txt 7>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/src/test/CMakeFiles/generate.stamp is up-to-date. 6>MNIST_SP.cpp 7>UnitTestMain.cpp 5>HelloSPTP.cpp 7>AnomalyTest.cpp 6>c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_utils.hpp(29): warning C4244: '=': conversion from 'double' to 'unsigned char', possible loss of data 6>c:\users\leonard\documents\htm.core\build\thirdparty\mnist_data\mnist-src\include\mnist\mnist_utils.hpp(89): note: see reference to function template instantiation 'void mnist::binarize_each<std::vector<Image,std::allocator<_Ty>>>(Container &,double)' being compiled 6> with 6> [ 6> Image=std::vector<uint8_t,std::allocator>,
6> _Ty=std::vector<uint8_t,std::allocator>,
6> Container=std::vector<std::vector<uint8_t,std::allocator>,std::allocator<std::vector<uint8_t,std::allocator>>>
6> ]
6>c:\users\leonard\documents\htm.core\src\examples\mnist\mnist_sp.cpp(106): note: see reference to function template instantiation 'void mnist::binarize_dataset<mnist::MNIST_dataset<std::vector,std::vector<uint8_t,std::allocator<_Ty>>,uint8_t>>(Dataset &)' being compiled
6> with
6> [
6> _Ty=uint8_t,
6> Dataset=mnist::MNIST_dataset<std::vector,std::vector<uint8_t,std::allocator>,uint8_t>
6> ]
6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\filesystem(2392): note: see reference to class template instantiation 'std::chrono::time_point<std::filesystem::_File_time_clock,std::filesystem::_File_time_clock::duration>' being compiled
6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\type_traits(616): note: see reference to class template instantiation 'std::basic_string_view<wchar_t,std::char_traits>' being compiled
6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2122): note: see reference to class template instantiation 'std::is_convertible<const _StringViewIsh &,std::basic_string_view<wchar_t,std::char_traits>>' being compiled
6> with
6> [
6> _StringViewIsh=const wchar_t
6> ]
6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2122): note: see reference to variable template 'const bool conjunction_v<std::is_convertible<wchar_t const const &,std::basic_string_view<wchar_t,std::char_traits > >,std::negation<std::is_convertible<wchar_t const const &,wchar_t const > > >' being compiled
6>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xstring(2281): note: see reference to alias template instantiation 'std::basic_string<wchar_t,std::char_traits,std::allocator>::_Is_string_view_ish<_StringViewIsh>' being compiled
6> with
6> [
6> _StringViewIsh=const wchar_t
6> ]
7>AnomalyLikelihoodTest.cpp
7>ConnectionsPerformanceTest.cpp
6> Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/mnist_sp.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/mnist_sp.exp
6>Generating code
5> Creating library C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.lib and object C:/Users/Leonard/Documents/htm.core/build/scripts/src/Release/benchmark_hotgym.exp
5>htm_core.lib(RandomDistributedScalarEncoder.obj) : error LNK2001: unresolved external symbol "unsigned int __cdecl htm::MurmurHash3_x86_32(void const ,int,unsigned int)" (?MurmurHash3_x86_32@htm@@YAIPEBXHI@Z)
5>C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\benchmark_hotgym.exe : fatal error LNK1120: 1 unresolved externals
5>Done building project "benchmark_hotgym.vcxproj" -- FAILED.
8>------ Skipped Build: Project: hotgym, Configuration: Release x64 ------
8>Project not selected to build for this solution configuration
6>Finished generating code
7>ConnectionsTest.cpp
6>mnist_sp.vcxproj -> C:\Users\Leonard\Documents\htm.core\build\scripts\src\Release\mnist_sp.exe
6>Done building project "mnist_sp.vcxproj".
9>------ Skipped Build: Project: mnist, Configuration: Release x64 ------
9>Project not selected to build for this solution configuration
7>HelloSPTPTest.cpp
7>SDRClassifierTest.cpp
7>SpatialPoolerTest.cpp
7>TemporalMemoryTest.cpp
7>ScalarEncoderTest.cpp
7>RandomDistributedScalarEncoderTest.cpp
7>CppRegionTest.cpp
7>HelloRegionTest.cpp
7>InputTest.cpp
7>LinkTest.cpp
7>NetworkTest.cpp
7>YAMLUtilsTest.cpp
7>WatcherTest.cpp
7>TopologyTest.cpp
7>ArrayTest.cpp
7>Compiling...
7>BasicTypeTest.cpp
7>CollectionTest.cpp
7>DimensionsTest.cpp
7>ScalarTest.cpp
7>ValueTest.cpp
7>DirectoryTest.cpp
7>EnvTest.cpp
7>OSTest.cpp
7>PathTest.cpp
7>TimerTest.cpp
7>RegionTestUtilities.cpp
7>SPRegionTest.cpp
7>c:\users\leonard\documents\htm.core\src\test\unit\regions\spregiontest.cpp(356): warning C4305: 'argument': truncation from 'double' to 'htm::Real32'
7>TMRegionTest.cpp
7>VectorFileTest.cpp
7>ExceptionTest.cpp
7>SdrTest.cpp
7>GroupByTest.cpp
7>MovingAverageTest.cpp
7>RandomTest.cpp
7>VectorHelpersTest.cpp
7>Compiling...
7>SdrMetricsTest.cpp
7>HelloSPTP.cpp
7>gtest.lib(gtest-all.obj) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
7>Done building project "unit_tests.vcxproj" -- FAILED.
10>------ Build started: Project: ALL_BUILD, Configuration: Release x64 ------
11>------ Skipped Build: Project: tests_all, Configuration: Release x64 ------
11>Project not selected to build for this solution configuration
10>Building Custom Rule C:/Users/Leonard/Documents/htm.core/CMakeLists.txt
10>CMake does not need to re-run because C:/Users/Leonard/Documents/htm.core/build/scripts/CMakeFiles/generate.stamp is up-to-date.
12>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------
12>Project not selected to build for this solution configuration
13>------ Skipped Build: Project: PACKAGE, Configuration: Release x64 ------
13>Project not selected to build for this solution configuration
========== Build: 6 succeeded, 2 failed, 0 up-to-date, 5 skipped ==========
'
As I don't know C++ and can't use MSVC thus I am unable to produce an explanation on this problem. Could someone help me fix or avoid this problem? Thank is advance!