numenta / nupic-legacy

Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
http://numenta.org/
GNU Affero General Public License v3.0
6.34k stars 1.56k forks source link

gTests fail to build in Nupic on OSX #1427

Closed breznak closed 9 years ago

breznak commented 9 years ago

Linking CXX shared library ../../nupic/libcpp_region.dylib Undefined symbols for architecture x86_64: "nta::Tester::disableNegativeTests_", referenced from: nta::PyHelpersTest::RunTests() in PyHelpersTest.cpp.o "nta::Tester::report(bool)", referenced from: vtable for nta::PyHelpersTest in PyHelpersTest.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [../../nupic/libcpp_region.dylib] Error 1 make[1]: *** [CMakeFiles/cpp_region.dir/all] Error 2 make: *** [all] Error 2 Unable to build the library!

(I think I've seen @scottpurdy report this somewhere today..?)

rhyolight commented 9 years ago

So this is happening on developer machines but not in Travis-CI?

breznak commented 9 years ago

:+1: thanks Matt! Yes, and I've confirmed the error is different when I run from nupic-darwin64. W/o: as above ^^ platform repo: seems to get further, to: "You have called ADD_LIBRARY for library gtest without any source files. This typically indicates problem with your CMakeLists.txt file."

rhyolight commented 9 years ago

@scottpurdy reported an entirely different error on the mailing list:

Scanning dependencies of target gtest
make[2]: *** No rule to make target `CMakeFiles/gtest.dir/build'.  Stop.
make[1]: *** [CMakeFiles/gtest.dir/all] Error 2
make: *** [all] Error 2

But it seems to be building fine on my machine:

Scanning dependencies of target gtest
[ 82%] Building CXX object CMakeFiles/gtest.dir/extensions/core/external/common/src/gtest/gtest-all.cpp.o
/Users/mtaylor/nta/nupic/extensions/core/external/common/src/gtest/gtest-all.cpp:7921:12: warning: unused variable 'kPathSeparatorString' [-Wunused-const-variable]
const char kPathSeparatorString[] = "/";
           ^
1 warning generated.
Linking CXX static library ../../temp/lib/libgtest.a
[ 82%] Built target gtest
rhyolight commented 9 years ago

@breznak / @scottpurdy Any idea what the difference might be between our systems? Mine is:

System Version: OS X 10.9.5 (13F34) Kernel Version: Darwin 13.4.0

rhyolight commented 9 years ago

Everything seems to be fine in Travis: https://travis-ci.org/numenta/nupic/builds/37834333. That last build is pointing to the lastest nupic.core SHA on master.

rhyolight commented 9 years ago

@scottpurdy On your local build, are you using the nupic-darwin64 repository or installing dependencies manually?

rhyolight commented 9 years ago

@utensil Would appreciate any insight you might have into this problem.

breznak commented 9 years ago

I'm on OSX 13.4.0, LLVM v 6.0, python 2.7; I don't know what the diff can be? :/ followed the Mac install guide on a clean system.

scottpurdy commented 9 years ago

@oxtopus helped me fix this. I am using my local nupic.core checkpoint. Then for nupic I do the following:

oxtopus commented 9 years ago

See numenta/nupic#1430 for explanation.

oxtopus commented 9 years ago

Closing this. See numenta/nupic#1429 for further action.

rhyolight commented 9 years ago

Thanks, @oxtopus and @scottpurdy