Build on Ubuntu 14.10 fails -undefined reference to shm_open
Posted: Thu Dec 18, 2014 10:03 am
Hi
DISCLAIMER: I know less than nothing about c or c++
I am getting the error listed below when building (git source), and from googling I suspect that the links listed has the answer but it is beyond my skill set to fix it seams, could some one please assist me?
http://stackoverflow.com/questions/2033 ... or-message
http://fedoraproject.org/wiki/Understan ... LinkChange
Linking CXX executable test_evidenceaccumulation
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/iocommunication/ovexISharedMemoryReader.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/iocommunication/ovexISharedMemoryReader.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:334: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:327: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
collect2: error: ld returned 1 exit status
contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/build.make recipe for target 'contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/test_evidenceaccumulation' failed
make[2]: *** [contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/test_evidenceaccumulation] Error 1
CMakeFiles/Makefile2 recipe for target 'contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/all' failed
make[1]: *** [contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/all] Error 2
Makefile:113: recipe for target 'all' failed
make: *** [all] Error 2
DISCLAIMER: I know less than nothing about c or c++
I am getting the error listed below when building (git source), and from googling I suspect that the links listed has the answer but it is beyond my skill set to fix it seams, could some one please assist me?
http://stackoverflow.com/questions/2033 ... or-message
http://fedoraproject.org/wiki/Understan ... LinkChange
Linking CXX executable test_evidenceaccumulation
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/tagging/ovexCSoftTagger.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/iocommunication/ovexISharedMemoryReader.cpp.o: In function `boost::interprocess::shared_memory_object::remove(char const*)':
/usr/include/boost/interprocess/shared_memory_object.hpp:382: undefined reference to `shm_unlink'
CMakeFiles/test_evidenceaccumulation.dir/__/__/src/iocommunication/ovexISharedMemoryReader.cpp.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::ipcdetail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
/usr/include/boost/interprocess/shared_memory_object.hpp:334: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:327: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:309: undefined reference to `shm_open'
/usr/include/boost/interprocess/shared_memory_object.hpp:315: undefined reference to `shm_open'
collect2: error: ld returned 1 exit status
contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/build.make recipe for target 'contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/test_evidenceaccumulation' failed
make[2]: *** [contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/test_evidenceaccumulation] Error 1
CMakeFiles/Makefile2 recipe for target 'contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/all' failed
make[1]: *** [contrib/applications/platform/P300Stimulator/test/test_evidenceAccumulation/CMakeFiles/test_evidenceaccumulation.dir/all] Error 2
Makefile:113: recipe for target 'all' failed
make: *** [all] Error 2