I am getting constantly the same error trying to compile Pantheios library, and the error is in the STLSoft while building xcover. I have tried several different linux platforms, using different compiler versions such as gcc 4.6.3, gcc 4.7.2, gcc 4.8.3 but with no luck. Here is the compile output:
g++ -D_FILE_OFFSET_BITS=64 -c -Wall -Wno-long-long -Wno-unused-value -Wno-unused-function -Wno-array-bounds -Werror -D_REENTRANT -D_DEBUG -UNDEBUG -Dunix -DSHWILD_QUALITY_NO_USE_XCOVER -I../../include -I"/home/master/Applications/stlsoft-1.9.124/include" -o xcover.pan.core.api.mt.debug.o ../../src/xcover/xcover.core.cpp
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/atomic_types.h:77:0,
from ../../src/xcover/xcover.core.cpp:96:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/atomic_types.h:80:3: error: #error Atomic integer operations not supported: see unixstl/synch/util/features.h for details
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/atomic_types.h:77:0,
from ../../src/xcover/xcover.core.cpp:96:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/atomic_types.h:121:3: error: #error Atomic integer operations not supported: see unixstl/synch/util/features.h for details
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:84:3: error: #error unixstl/synch/spin_mutex.hpp requires support for atomic integer operations. Consult unixstl/synch/util/features.h for details
In file included from /home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:87:0,
from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/atomic_functions.h:83:3: error: #error Atomic integer operations not supported: see unixstl/synch/util/features.h for details
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:238:3: error: #error Your platform does not support atomic_write(), or has provides it in a manner unknown to the authors of UNIXSTL. If you know of the correct implementation, please send a patch.
In file included from ../../src/xcover/xcover.core.cpp:96:0:
/home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/atomic_types.h:146:42: error: ‘stlsoft::platformstl_project::implementation::platform_stl_::atomic_int_t’ has not been declared
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:159:13: error: ‘atomic_int_t’ in namespace ‘unixstl’ does not name a type
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:179:51: error: expected ‘)’ before ‘*’ token
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:193:37: error: expected ‘)’ before ‘*’ token
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:294:5: error: ‘atomic_int_type’ does not name a type
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:295:5: error: ‘atomic_int_type’ does not name a type
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp: In member function ‘void stlsoft::unixstl_project::spin_mutex_base<SP>::lock()’:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:228:9: error: ‘m_spinCount’ was not declared in this scope
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp: In member function ‘void stlsoft::unixstl_project::spin_mutex_base<SP>::unlock()’:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:266:22: error: ‘m_spinCount’ was not declared in this scope
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:266:36: error: there are no arguments to ‘atomic_write’ that depend on a template parameter, so a declaration of ‘atomic_write’ must be available [-fpermissive]
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:266:36: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../src/xcover/xcover.core.cpp: At global scope:
../../src/xcover/xcover.core.cpp:455:5: error: ‘atomic_int_t’ in namespace ‘platformstl’ does not name a type
../../src/xcover/xcover.core.cpp: In function ‘xcover::xcover_rc_t xcover::xcover_init()’:
../../src/xcover/xcover.core.cpp:503:57: error: ‘s_mx’ was not declared in this scope
../../src/xcover/xcover.core.cpp: In function ‘void xcover::xcover_uninit()’:
../../src/xcover/xcover.core.cpp:518:57: error: ‘s_mx’ was not declared in this scope
In file included from /home/master/Applications/stlsoft-1.9.124/include/platformstl/synch/spin_mutex.hpp:77:0,
from ../../src/xcover/xcover.core.cpp:98:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp: In instantiation of ‘void stlsoft::unixstl_project::spin_mutex_base<SP>::unlock() [with SP = stlsoft::spin_yield]’:
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:354:5: required from ‘void stlsoft::unlock_instance(stlsoft::unixstl_project::spin_mutex_base<SP>&) [with SP = stlsoft::spin_yield]’
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:400:26: required from here
/home/master/Applications/stlsoft-1.9.124/include/unixstl/synch/spin_mutex.hpp:266:9: error: ‘atomic_write’ was not declared in this scope
make: *** [xcover.pan.core.api.mt.debug.o] Error 1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am getting constantly the same error trying to compile Pantheios library, and the error is in the STLSoft while building xcover. I have tried several different linux platforms, using different compiler versions such as gcc 4.6.3, gcc 4.7.2, gcc 4.8.3 but with no luck. Here is the compile output:
Hi, Were you able to fix this?
Please can you try the newly-released 1.10 beta (https://github.com/synesissoftware/STLSoft-1.10/tree/beta-1) and see if the problem is resolved.
If not, I'll look into it as soon as you let me know.
Matt
Last edit: Matt Wilson 2017-01-19
I met the same errors yet, I am building pantheios 1.0.1 216 + stlsoft 1.9 131
Last edit: Yihong Zhan 2017-03-08