Message237942
The attached example works fine with Python 3.4.2, but fails with Python 3.5.0a1 and 3.5.0a2
I am using:
$ g++ --version
g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
$ swig -version
SWIG Version 3.0.5
Compiled with g++ [x86_64-redhat-linux-gnu]
Configured options: +pcre
$ python3 --version
Python 3.5.0a2
The output of trying the makefile with Python 3.5.0a2 is:
$ make
swig -c++ -python -py3 example.i
g++ -g -fPIC -c example.cxx example_wrap.cxx -I/local/python350a2/include/python3.5m -I/local/python350a2/include/python3.5m
In file included from /local/python350a2/include/python3.5m/pyatomic.h:10:0,
from /local/python350a2/include/python3.5m/Python.h:53,
from example_wrap.cxx:154:
/usr/include/c++/4.9.2/exception:161:34: error: missing binary operator before token "("
#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
^
In file included from /local/python350a2/include/python3.5m/pyatomic.h:10:0,
from /local/python350a2/include/python3.5m/Python.h:53,
from example_wrap.cxx:154:
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:40:9: error: ‘_Atomic’ does not name a type
typedef _Atomic _Bool atomic_bool;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:41:9: error: ‘_Atomic’ does not name a type
typedef _Atomic char atomic_char;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:42:9: error: ‘_Atomic’ does not name a type
typedef _Atomic signed char atomic_schar;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:43:9: error: ‘_Atomic’ does not name a type
typedef _Atomic unsigned char atomic_uchar;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:44:9: error: ‘_Atomic’ does not name a type
typedef _Atomic short atomic_short;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:45:9: error: ‘_Atomic’ does not name a type
typedef _Atomic unsigned short atomic_ushort;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:46:9: error: ‘_Atomic’ does not name a type
typedef _Atomic int atomic_int;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:47:9: error: ‘_Atomic’ does not name a type
typedef _Atomic unsigned int atomic_uint;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:48:9: error: ‘_Atomic’ does not name a type
typedef _Atomic long atomic_long;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:49:9: error: ‘_Atomic’ does not name a type
typedef _Atomic unsigned long atomic_ulong;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:50:9: error: ‘_Atomic’ does not name a type
typedef _Atomic long long atomic_llong;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:51:9: error: ‘_Atomic’ does not name a type
typedef _Atomic unsigned long long atomic_ullong;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:52:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __CHAR16_TYPE__ atomic_char16_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:53:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __CHAR32_TYPE__ atomic_char32_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:54:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __WCHAR_TYPE__ atomic_wchar_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:55:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_LEAST8_TYPE__ atomic_int_least8_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:56:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_LEAST8_TYPE__ atomic_uint_least8_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:57:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_LEAST16_TYPE__ atomic_int_least16_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:58:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_LEAST16_TYPE__ atomic_uint_least16_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:59:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_LEAST32_TYPE__ atomic_int_least32_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:60:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_LEAST32_TYPE__ atomic_uint_least32_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:61:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_LEAST64_TYPE__ atomic_int_least64_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:62:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_LEAST64_TYPE__ atomic_uint_least64_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:63:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_FAST8_TYPE__ atomic_int_fast8_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:64:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_FAST8_TYPE__ atomic_uint_fast8_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:65:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_FAST16_TYPE__ atomic_int_fast16_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:66:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_FAST16_TYPE__ atomic_uint_fast16_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:67:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_FAST32_TYPE__ atomic_int_fast32_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:68:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_FAST32_TYPE__ atomic_uint_fast32_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:69:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INT_FAST64_TYPE__ atomic_int_fast64_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:70:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINT_FAST64_TYPE__ atomic_uint_fast64_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:71:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INTPTR_TYPE__ atomic_intptr_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:72:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINTPTR_TYPE__ atomic_uintptr_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:73:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __SIZE_TYPE__ atomic_size_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:74:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __PTRDIFF_TYPE__ atomic_ptrdiff_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:75:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __INTMAX_TYPE__ atomic_intmax_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:76:9: error: ‘_Atomic’ does not name a type
typedef _Atomic __UINTMAX_TYPE__ atomic_uintmax_t;
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:232:9: error: ‘_Atomic’ does not name a type
typedef _Atomic struct
^
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:239:3: error: ‘atomic_flag’ does not name a type
} atomic_flag;
^
In file included from /local/python350a2/include/python3.5m/Python.h:53:0,
from example_wrap.cxx:154:
/local/python350a2/include/python3.5m/pyatomic.h:37:5: error: ‘_Atomic’ does not name a type
_Atomic void *_value;
^
/local/python350a2/include/python3.5m/pyatomic.h:41:5: error: ‘atomic_int’ does not name a type
atomic_int _value;
^
Makefile:4: recipe for target 'example.so' failed
make: *** [example.so] Error 1
The output with Python 3.4.2:
$ make
swig -c++ -python -py3 example.i
g++ -g -fPIC -c example.cxx example_wrap.cxx -I/local/python342m/include/python3.4m -I/local/python342m/include/python3.4m
g++ -g -shared *.o -o _example.so
$ python3.4 a_test.py
3 |
|
Date |
User |
Action |
Args |
2015-03-12 14:59:00 | Joshua.J.Cogliati | set | recipients:
+ Joshua.J.Cogliati, jrincayc |
2015-03-12 14:59:00 | Joshua.J.Cogliati | set | messageid: <1426172340.82.0.788562357439.issue23644@psf.upfronthosting.co.za> |
2015-03-12 14:59:00 | Joshua.J.Cogliati | link | issue23644 messages |
2015-03-12 14:59:00 | Joshua.J.Cogliati | create | |
|