How do I get ChaiScript to run under Linux and Windows with CMake? - chaiscript

I am working on a Student Project and we want to use ChaiSript (6.1) as scripting Language. We are using CLion and CMake on Linux and Windows. Also we are using SFML, so the whole thing has to be compiled with minGW 7.3.0 on Windows.
I created a Test-Project under Linux (gcc 9.2.0 and c++ 17) and got the following Linker errors:
/usr/bin/ld: CMakeFiles/ChaiScriptTest.dir/main.cpp.o: in function `chaiscript::detail::Loadable_Module::DLModule::DLModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_posix.hpp:19: undefined reference to `dlopen'
/usr/bin/ld: /home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_posix.hpp:23: undefined reference to `dlerror'
/usr/bin/ld: CMakeFiles/ChaiScriptTest.dir/main.cpp.o: in function `chaiscript::detail::Loadable_Module::DLModule::~DLModule()':
/home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_posix.hpp:34: undefined reference to `dlclose'
/usr/bin/ld: CMakeFiles/ChaiScriptTest.dir/main.cpp.o: in function `chaiscript::ChaiScript_Basic::ChaiScript_Basic(std::shared_ptr<chaiscript::Module> const&, std::unique_ptr<chaiscript::parser::ChaiScript_Parser_Base, std::default_delete<chaiscript::parser::ChaiScript_Parser_Base> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<chaiscript::Options, std::allocator<chaiscript::Options> > const&)':
/home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_engine.hpp:293: undefined reference to `dladdr'
/usr/bin/ld: CMakeFiles/ChaiScriptTest.dir/main.cpp.o: in function `chaiscript::detail::Loadable_Module::DLSym<std::shared_ptr<chaiscript::Module> (*)()>::DLSym(chaiscript::detail::Loadable_Module::DLModule&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_posix.hpp:44: undefined reference to `dlsym'
/usr/bin/ld: /home/felix/Workspaces/CLion/ChaiScriptTest/ChaiScript-6.1.0/include/chaiscript/language/chaiscript_posix.hpp:48: undefined reference to `dlerror'
/usr/bin/ld: CMakeFiles/ChaiScriptTest.dir/main.cpp.o: in function `std::thread::thread<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<std::function<chaiscript::Boxed_Value ()> > >, chaiscript::Boxed_Value>::_Async_state_impl(std::thread::_Invoker<std::tuple<std::function<chaiscript::Boxed_Value ()> > >&&)::{lambda()#1}, , void>(std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<std::function<chaiscript::Boxed_Value ()> > >, chaiscript::Boxed_Value>::_Async_state_impl(std::thread::_Invoker<std::tuple<std::function<chaiscript::Boxed_Value ()> > >&&)::{lambda()#1}&&)':
/usr/include/c++/9.2.0/thread:126: undefined reference to `pthread_create'
collect2: Error: ld returned with value 1
make[3]: *** [CMakeFiles/ChaiScriptTest.dir/build.make:84: ChaiScriptTest] Error 1
make[2]: *** [CMakeFiles/Makefile2:76: CMakeFiles/ChaiScriptTest.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:88: CMakeFiles/ChaiScriptTest.dir/rule] Error 2
make: *** [Makefile:140: ChaiScriptTest] Error 2
All Errors are due to missing function References in chaisript_posix.hpp and chaiscript_engine.hpp to functions located in dlfcn.h. Except for the last one which has a problem in the thread class.
So, how do I fix this? Compiler on Linux is inrelevant but is has to work with MinGW 7.3.0.
What I have allready tried:
Using c++14 instead of c++17
Using Chaiscript Version 6.0 and 5.8.3 wtih and without c++14
Using clang
compiled without CMake on 6.1 and 5.8.3 with -ld- option set (also with and without c++17)
Here is my CMakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(ChaiScriptTest)
set(CMAKE_CXX_STANDARD 17)
include_directories(ChaiScript-6.1.0/include)
add_executable(ChaiScriptTest main.cpp)
and my main.cpp File:
#include <iostream>
#include "chaiscript/chaiscript.hpp"
int main() {
chaiscript::ChaiScript chaiScript_;
chaiScript_.eval("print(\"Hi\");");
std::cout << "Hello ChaiScript" << std::endl;
return 0;
}
Thanks in advance.

Nevermind, I fixed the problem myself...
I looked into the documentation and found that Jason Turner already thoungt of this.
chai.add(chaiscript::fun(std::bind(&MacroEngine::setIgnoredMod, me, std::placeholders::_1)), "setIgnoredMods");
if you change the same line to
chai.add(chaiscript::fun(&MacroEngine::setIgnoredMod, &me), "setIgnoredMod");

Related

Command to run callback_profiling sample from CUPTI

I am running the sample code available for Nvidia CUDA CUPTI in /usr/local/cuda-11.8/extras/CUPTI/samples/callback_profiling. There is a Makefile, but I want to run it using single command (without the Makefile) because it is giving me permission errors with the Makefile. Based on the Makefile, this is the command I am writing:
nvcc --generate-line-info callback_profiling.cu -o callback_profiling -lnvperf_host -lnvperf_target -lcuda -lcupti -I/usr/local/cuda-11.8/extras/CUPTI/samples/callback_profiling/../extensions/include/profilerhost_util -I/usr/local/cuda-11.8/extras/CUPTI/samples/callback_profiling/../extensions/include/c_util -I/usr/local/cuda-11.8/extras/CUPTI/samples/callback_profiling/../../include -L /usr/local/cuda-11.8/extras/CUPTI/samples/callback_profiling/../extensions/src/profilerhost_util
I am getting the error
/usr/bin/ld: /tmp/tmpxft_00005e71_00000000-11_callback_profiling.o: in function `setupProfiling(ProfilingData_t*)':
tmpxft_00005e71_00000000-6_callback_profiling.cudafe1.cpp:(.text+0xe48): undefined reference to `NV::Metric::Config::GetConfigImage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*)'
/usr/bin/ld: tmpxft_00005e71_00000000-6_callback_profiling.cudafe1.cpp:(.text+0xed3): undefined reference to `NV::Metric::Config::GetCounterDataPrefixImage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*)'
/usr/bin/ld: /tmp/tmpxft_00005e71_00000000-11_callback_profiling.o: in function `main':
tmpxft_00005e71_00000000-6_callback_profiling.cudafe1.cpp:(.text+0x2751): undefined reference to `NV::Metric::Eval::PrintMetricValues(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned char const*)'
collect2: error: ld returned 1 exit status
Can someone help me with what will be the right command to run the application?
I have an Ubuntu machine with CUDA 11.8
There is a library (libprofilerHostUtil.a) that doesn't get built as part of the samples build process that you will need to build manually.
On a typical linux install, the Makefile to build that library is in /usr/local/cuda/extras/CUPTI/samples/extensions/src/profilerhost_util. As a root user you should be able to go into that directory, and type make, and then the necessary library will get built.
Once you have done that, as an ordinary user, you should be able to build the code you are asking about like this:
nvcc callback_profiling.cu -o callback_profiling -I/usr/local/cuda/extras/CUPTI/samples/callback_profiling/../extensions/include/profilerhost_util -I/usr/local/cuda/extras/CUPTI/samples/callback_profiling/../extensions/include/c_util -I/usr/local/cuda/extras/CUPTI/samples/callback_profiling/../../include -L /usr/local/cuda/extras/CUPTI/samples/callback_profiling/../extensions/src/profilerhost_util -L/usr/local/cuda/extras/CUPTI/lib64 -lcupti -lnvperf_host -lnvperf_target -lprofilerHostUtil -lcuda
wherever you see /cuda/ in the paths above, you may need to change that to /cuda-11.8/ or whatever is needed to match your install, if you have not set up the symbolic link that the CUDA installer asks to set up.
If you want to build the library I mentioned somewhere else, manually, you will need to do something like this. First, change to the indicated directory (cd /usr/local/cuda/extras/CUPTI/samples/extensions/src/profilerhost_util), then use these commands, replacing /my/build/dir/ with the path to a location you have write access to:
nvcc -c --std=c++11 -Xcompiler -fPIC -I../../../../include -I../../../../../../include -I../../include/profilerhost_util -I../../include/c_util List.cpp -o /my/build/dir/List.o
nvcc -c --std=c++11 -Xcompiler -fPIC -I../../../../include -I../../../../../../include -I../../include/profilerhost_util -I../../include/c_util Metric.cpp -o /my/build/dir/Metric.o
nvcc -c --std=c++11 -Xcompiler -fPIC -I../../../../include -I../../../../../../include -I../../include/profilerhost_util -I../../include/c_util Eval.cpp -o /my/build/dir/Eval.o
nvcc -o /my/build/dir/libprofilerHostUtil.a -lib /my/build/dir/List.o /my/build/dir/Metric.o /my/build/dir/Eval.o -lcuda -L ../../../../../../lib64 -lnvperf_host -lnvperf_target
And if you use that route, you will need to add -L. to the command to build the executable.

Error during compilation C code generated by Cython bad reloc address 0x0 in section `.data'

I'm trying to compile C code generated from Python code (hello world) and I'm stuck on one error.
I'm using mingw32-w64. After many errors now I'm using this command
gcc -DMS_WIN64 -I Python38\include -o test.exe test.c -lpython38 -lm -L Python38\libs -shared -Wl,--enable-auto-image-base -Wl,--enable-auto-import
But I'm getting error
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x28c): undefined reference to `__imp_PyExc_ImportError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x307): undefined reference to `__imp__Py_NoneStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x34c): undefined reference to `__imp_PyExc_AttributeError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x59c): undefined reference to `__imp_PyExc_RuntimeError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xb51): undefined reference to `__imp_PyExc_ImportError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xc23): undefined reference to `__imp_PyExc_NameError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xcb9): undefined reference to `__imp__Py_CheckRecursionLimit'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xd22): undefined reference to `__imp__Py_CheckRecursionLimit'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xd32): undefined reference to `__imp__Py_CheckRecursionLimit'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xd40): undefined reference to `__imp__Py_CheckRecursionLimit'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xd8a): undefined reference to `__imp_PyExc_SystemError'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xfc4): undefined reference to `__imp__Py_FalseStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0xfcd): undefined reference to `__imp__Py_TrueStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x101f): undefined reference to `__imp__Py_FalseStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x1037): undefined reference to `__imp__Py_FalseStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x1044): undefined reference to `__imp__Py_TrueStruct'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x17c0): undefined reference to `__imp_PyModule_Type'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x17d8): undefined reference to `__imp_PyModule_Type'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x18d4): undefined reference to `__imp_PyBaseObject_Type'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x1e92): undefined reference to `__imp_PyExc_DeprecationWarning'
C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o:test.c:(.text+0x1ee9): undefined reference to `__imp_PyExc_TypeError'
c:/users/ja/documents/winbuilds/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.3/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Ja\AppData\Local\Temp\ccqKHihT.o: bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status
Using Python 3.8.4 x86_64-w64-mingw32 Windows 10

Faster RCNN make fail

I have been trying for some days to make faster RCNN work in a laptop with GPU(Quadro K5100M).
I was able to run the demo.py in a laptop with only CPU.
I am using CUDA 8 and CuDnn 4 and caffe build works but the build process of caffe in faster rcnn does not. I have CuDnn commented out now because of some other errors.
Can anyone give me some suggestions.
I get this error during make -j8 && make pycaffe.
.build_release/tools/extract_features.o: In functionint feature_extraction_pipeline(int, char**)':
extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x162): undefined reference to caffe::Net<float>::Net(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caffe::Phase, caffe::Net<float> const*)'
collect2: error: ld returned 1 exit status
CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
Makefile:607: recipe for target '.build_release/tools/extract_features.bin' failed
make: *** [.build_release/tools/extract_features.bin] Error 1
make: *** Waiting for unfinished jobs....
.build_release/tools/caffe.o: In functiontest()':
caffe.cpp:(.text+0x1157): undefined reference to caffe::Net<float>::Net(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caffe::Phase, caffe::Net<float> const*)'
.build_release/tools/caffe.o: In functiontrain()':
caffe.cpp:(.text+0x2a3e): undefined reference to caffe::P2PSync<float>::P2PSync(boost::shared_ptr<caffe::Solver<float> >, caffe::P2PSync<float>*, caffe::SolverParameter const&)'
caffe.cpp:(.text+0x2a6b): undefined reference tocaffe::P2PSync::run(std::vector > const&)'
caffe.cpp:(.text+0x2a73): undefined reference to caffe::P2PSync<float>::~P2PSync()'
caffe.cpp:(.text+0x3c53): undefined reference tocaffe::P2PSync::~P2PSync()'
caffe.cpp:(.text+0x3f45): undefined reference to caffe::P2PSync<float>::~P2PSync()'
.build_release/tools/caffe.o: In functiontime()':
caffe.cpp:(.text+0x4136): undefined reference to caffe::Net<float>::Net(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caffe::Phase, caffe::Net<float> const*)'
caffe.cpp:(.text+0x44ef): undefined reference tocaffe::Layer::Lock()'
caffe.cpp:(.text+0x45ed): undefined reference to caffe::Layer<float>::Unlock()'
collect2: error: ld returned 1 exit status
Makefile:607: recipe for target '.build_release/tools/caffe.bin' failed
This is my makefile
# USE_CUDNN := 1
# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1
# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3
# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda-8.0
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50
BLAS := atlas
#BLAS := open
# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include \
/usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy
# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib
# Uncomment to support layers written in Python (will link against Python libs)
WITH_PYTHON_LAYER := 1
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/include/opencv /usr/local/cuda-8.0/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/share/OpenCV /usr/local/cuda-8.0/lib64
# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1
# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0
# enable pretty build (comment to see full commands)
Q ?= #
I had the same error because my library path (/usr/lib/) contained a previous build of libcaffe.so. Removing it fixed the problem.

Cocos2dx undefined reference to

I don't know what was the problem with cocos. it was working when I run cocos run -p linux. Now when I added TMXTileMap, everything went wrong even the AppDelegate. whY?
CMakeFiles/MyGame.dir/Classes/AppDelegate.cpp.o: In function `AppDelegate::applicationDidFinishLaunching()':
/home/developer/Documents/cocos/TileGame/Classes/AppDelegate.cpp:43: undefined reference to `cocos2d::GLViewImpl::createWithRect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cocos2d::Rect, float)'
CMakeFiles/MyGame.dir/Classes/AppDelegate.cpp.o:(.rodata._ZTV11AppDelegate[_ZTV11AppDelegate]+0x60): undefined reference to `cocos2d::Application::openURL(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o: In function `HelloWorld::init()':
/home/developer/Documents/cocos/TileGame/Classes/HelloWorldScene.cpp:31: undefined reference to `cocos2d::TMXTiledMap::initWithTMXFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/developer/Documents/cocos/TileGame/Classes/HelloWorldScene.cpp:32: undefined reference to `cocos2d::TMXTiledMap::getLayer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/home/developer/Documents/cocos/TileGame/Classes/HelloWorldScene.cpp:36: undefined reference to `cocos2d::TMXTiledMap::getObjectGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x20): undefined reference to `cocos2d::Layer::getDescription[abi:cxx11]() const'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x218): undefined reference to `cocos2d::Node::addChild(cocos2d::Node*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x228): undefined reference to `cocos2d::Node::getChildByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x230): undefined reference to `cocos2d::Node::enumerateChildren(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<bool (cocos2d::Node*)>) const'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x288): undefined reference to `cocos2d::Node::removeChildByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x2c0): undefined reference to `cocos2d::Node::getName[abi:cxx11]() const'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x2c8): undefined reference to `cocos2d::Node::setName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o:(.rodata._ZTV10HelloWorld[_ZTV10HelloWorld]+0x460): undefined reference to `cocos2d::Node::removeComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
CMakeFiles/MyGame.dir/build.make:173: recipe for target 'bin/MyGame' failed
make[2]: *** [bin/MyGame] Error 1
CMakeFiles/Makefile2:73: recipe for target 'CMakeFiles/MyGame.dir/all' failed
make[1]: *** [CMakeFiles/MyGame.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Error running command, return code: 2.
I was stupid.I was using Fedora 22 and upgraded to 23, after that everything when to hell in my cocos project.I have to remove the folder linux-build under current project and compile it again

Error message during installing caffe command 'make all'

I ran
cp Makefile.config.example Makefile.config
make all
as suggested on the website to complete the installation.
I use Ubuntu 14.04 with CUDA and OpenBlas.
The error messages showed as follows
CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin
.build_release/lib/libcaffe.so: undefined reference to caffe::curandGetErrorString(curandStatus)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::weight_gpu_gemm(double const*, double const*, double*)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::forward_gpu_bias(double*, double const*)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::forward_gpu_bias(float*, float const*)
.build_release/lib/libcaffe.so: undefined reference to caffe::cudnn::dataType::zero
.build_release/lib/libcaffe.so: undefined reference to caffe::cudnn::dataType::one
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::backward_gpu_gemm(float const*, float const*, float*)
.build_release/lib/libcaffe.so: undefined reference to caffe::cublasGetErrorString(cublasStatus_t)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::forward_gpu_gemm(double const*, double const*, double*, bool)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::backward_gpu_gemm(double const*, double const*, double*)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::backward_gpu_bias(double*, double const*)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::forward_gpu_gemm(float const*, float const*, float*, bool)
.build_release/lib/libcaffe.so: undefined reference to caffe::cudnn::dataType::zero
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::weight_gpu_gemm(float const*, float const*, float*)
.build_release/lib/libcaffe.so: undefined reference to caffe::BaseConvolutionLayer::backward_gpu_bias(float*, float const*)
.build_release/lib/libcaffe.so: undefined reference to caffe::cudnn::dataType::one
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1
I only modified Makefile.config.
The modified Makefile.config shown as follows
USE_CUDNN := 1
CUSTOM_CXX := g++
CUDA_DIR := /usr/local/cuda
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50
BLAS := OpenBlas
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
PYTHON_LIB := /usr/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
TEST_GPUID := 0
Q ?= #
You need to change the BLAS settings in Makefile.config to
BLAS := open
Rather than 'OpenBlas'.