You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Raphael Fuchs <ra...@gmail.com> on 2015/01/23 18:02:31 UTC

Qpid compilation problem on Sparc

Hello!

I am trying to build Qpid 0.28 on a Solaris Sparc 10 machine, but the build
failes when trying to compile the python wrappers. I have python 2.4, 2.6
and 2.7 installed on the machine. The Swig Version is 2.0.9.

Can you give me some hints what I could try next?

Best regards
Raphael

make output:

 ~> cd install/qpid-0.28_solaris/cpp/build/
~/install/qpid-0.28_solaris/cpp/build> make
[  0%] Built target qpidtypes
[ 34%] Built target qpidcommon
[ 60%] Built target qpidbroker
[ 64%] Built target amqp
[ 69%] Built target qpidclient
[ 75%] Built target qpidmessaging
[ 78%] Built target ha
[ 82%] Built target qmf2
[ 82%] Built target qpidd
[ 82%] Built target store
[ 82%] Built target consume
[ 82%] Built target datagen
[ 82%] Built target declare_queues
[ 83%] Built target dlclose_noop
[ 83%] Built target echotest
[ 84%] Built target ha_test_max_queues
[ 84%] Built target header_test
[ 84%] Built target msg_group_test
[ 84%] Built target publish
[ 84%] Generating python
running build
running build_py
running build_scripts
running build_doc
No module named epydoc.docbuilder -- skipping build_doc
running install
running install_lib
running install_scripts
changing mode of
/home/raphael/install/qpid-0.28_solaris/cpp/build/src/tests/python/commands/qpid-python-test
to 755
running install_egg_info
Removing
/home/raphael/install/qpid-0.28_solaris/cpp/build/src/tests/python/qpid_python-0.28-py2.7.egg-info
Writing
/home/raphael/install/qpid-0.28_solaris/cpp/build/src/tests/python/qpid_python-0.28-py2.7.egg-info
[ 84%] Built target python_bld
[ 85%] Built target qpid-client-test
[ 85%] Built target qpid-latency-test
[ 85%] Built target qpid-perftest
[ 85%] Built target qpid-ping
[ 85%] Built target qpid-receive
[ 86%] Built target qpid-send
[ 86%] Built target qpid-topic-listener
[ 86%] Built target qpid-topic-publisher
[ 86%] Built target qpid-txtest
[ 86%] Built target receiver
[ 87%] Built target replaying_sender
[ 87%] Built target resuming_receiver
[ 87%] Built target sasl_config
[ 87%] Built target sasl_version
[ 87%] Built target sender
[ 87%] Built target shlibtest
[ 87%] Built target test_store
[ 87%] Built target txjob
[ 87%] Built target txshift
[ 96%] Built target unit_test
[ 96%] Building CXX object
bindings/qpid/python/CMakeFiles/_qpid_messaging.dir/qpid_messagingPYTHON_wrap.cxx.o
In file included from /opt/csw/include/python2.7/Python.h:78:0,
                 from
/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:149:
/opt/csw/include/python2.7/pymem.h:52:20: error: expected constructor,
destructor, or type conversion before ‘PyMem_Malloc’
 PyAPI_FUNC(void *) PyMem_Malloc(size_t);
                    ^
/opt/csw/include/python2.7/pymem.h:53:20: error: expected constructor,
destructor, or type conversion before ‘PyMem_Realloc’
 PyAPI_FUNC(void *) PyMem_Realloc(void *, size_t);
                    ^
/opt/csw/include/python2.7/pymem.h:54:18: error: expected constructor,
destructor, or type conversion before ‘PyMem_Free’
 PyAPI_FUNC(void) PyMem_Free(void *);
                  ^
In file included from /opt/csw/include/python2.7/Python.h:80:0,
                 from
/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:149:
/opt/csw/include/python2.7/object.h:80:5: error: ‘Py_ssize_t’ does not name
a type
     Py_ssize_t ob_refcnt;               \
     ^
/opt/csw/include/python2.7/object.h:107:5: note: in expansion of macro
‘PyObject_HEAD’
     PyObject_HEAD
     ^
/opt/csw/include/python2.7/object.h:80:5: error: ‘Py_ssize_t’ does not name
a type
     Py_ssize_t ob_refcnt;               \
     ^
/opt/csw/include/python2.7/object.h:97:5: note: in expansion of macro
‘PyObject_HEAD’
     PyObject_HEAD                       \
     ^
/opt/csw/include/python2.7/object.h:111:5: note: in expansion of macro
‘PyObject_VAR_HEAD’
     PyObject_VAR_HEAD
     ^
/opt/csw/include/python2.7/object.h:98:5: error: ‘Py_ssize_t’ does not name
a type
     Py_ssize_t ob_size; /* Number of items in variable part */
     ^
/opt/csw/include/python2.7/object.h:111:5: note: in expansion of macro
‘PyObject_VAR_HEAD’
     PyObject_VAR_HEAD
     ^
/opt/csw/include/python2.7/object.h:137:20: error: ISO C++ forbids
declaration of ‘Py_ssize_t’ with no type [-fpermissive]
 typedef Py_ssize_t (*lenfunc)(PyObject *);
                    ^
/opt/csw/include/python2.7/object.h:137:20: error: typedef ‘Py_ssize_t’ is
initialized (use decltype instead)
/opt/csw/include/python2.7/object.h:137:22: error: ‘lenfunc’ was not
declared in this scope
 typedef Py_ssize_t (*lenfunc)(PyObject *);
                      ^
/opt/csw/include/python2.7/object.h:139:50: error: expected initializer
before ‘Py_DEPRECATED’
 typedef PyObject *(*intargfunc)(PyObject *, int) Py_DEPRECATED(2.5);
                                                  ^
/opt/csw/include/python2.7/object.h:140:58: error: expected initializer
before ‘Py_DEPRECATED’
 typedef PyObject *(*intintargfunc)(PyObject *, int, int)
Py_DEPRECATED(2.5);
                                                          ^
/opt/csw/include/python2.7/object.h:141:47: error: ‘Py_ssize_t’ has not
been declared
 typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
                                               ^
/opt/csw/include/python2.7/object.h:142:52: error: ‘Py_ssize_t’ has not
been declared
 typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
                                                    ^
/opt/csw/include/python2.7/object.h:142:64: error: ‘Py_ssize_t’ has not
been declared
 typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
                                                                ^
/opt/csw/include/python2.7/object.h:145:43: error: ‘Py_ssize_t’ has not
been declared
 typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
                                           ^
/opt/csw/include/python2.7/object.h:146:48: error: ‘Py_ssize_t’ has not
been declared
 typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t,
PyObject *);
                                                ^
/opt/csw/include/python2.7/object.h:146:60: error: ‘Py_ssize_t’ has not
been declared
 typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t,
PyObject *);
                                                            ^
/opt/csw/include/python2.7/object.h:157:20: error: ISO C++ forbids
declaration of ‘Py_ssize_t’ with no type [-fpermissive]
 typedef Py_ssize_t (*readbufferproc)(PyObject *, Py_ssize_t, void **);
                    ^
/opt/csw/include/python2.7/object.h:157:20: error: typedef ‘Py_ssize_t’ is
initialized (use decltype instead)
/opt/csw/include/python2.7/object.h:157:22: error: ‘readbufferproc’ was not
declared in this scope
 typedef Py_ssize_t (*readbufferproc)(PyObject *, Py_ssize_t, void **);
                      ^
/opt/csw/include/python2.7/object.h:158:20: error: ISO C++ forbids
declaration of ‘Py_ssize_t’ with no type [-fpermissive]
 typedef Py_ssize_t (*writebufferproc)(PyObject *, Py_ssize_t, void **);
                    ^
/opt/csw/include/python2.7/object.h:158:20: error: typedef ‘Py_ssize_t’ is
initialized (use decltype instead)
/opt/csw/include/python2.7/object.h:158:22: error: ‘writebufferproc’ was
not declared in this scope
 typedef Py_ssize_t (*writebufferproc)(PyObject *, Py_ssize_t, void **);
                      ^
/opt/csw/include/python2.7/object.h:159:20: error: ISO C++ forbids
declaration of ‘Py_ssize_t’ with no type [-fpermissive]
 typedef Py_ssize_t (*segcountproc)(PyObject *, Py_ssize_t *);
                    ^
/opt/csw/include/python2.7/object.h:159:20: error: typedef ‘Py_ssize_t’ is
initialized (use decltype instead)
/opt/csw/include/python2.7/object.h:159:22: error: ‘segcountproc’ was not
declared in this scope
 typedef Py_ssize_t (*segcountproc)(PyObject *, Py_ssize_t *);
                      ^
/opt/csw/include/python2.7/object.h:160:20: error: ISO C++ forbids
declaration of ‘Py_ssize_t’ with no type [-fpermissive]
 typedef Py_ssize_t (*charbufferproc)(PyObject *, Py_ssize_t, char **);
                    ^
/opt/csw/include/python2.7/object.h:160:20: error: typedef ‘Py_ssize_t’ is
initialized (use decltype instead)
/opt/csw/include/python2.7/object.h:160:22: error: ‘charbufferproc’ was not
declared in this scope
 typedef Py_ssize_t (*charbufferproc)(PyObject *, Py_ssize_t, char **);
                      ^
/opt/csw/include/python2.7/object.h:167:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t len;
     ^
/opt/csw/include/python2.7/object.h:168:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t itemsize;  /* This is Py_ssize_t so it can be
     ^
/opt/csw/include/python2.7/object.h:173:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t *shape;
     ^
/opt/csw/include/python2.7/object.h:174:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t *strides;
     ^
/opt/csw/include/python2.7/object.h:175:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t *suboffsets;
     ^
/opt/csw/include/python2.7/object.h:176:5: error: ‘Py_ssize_t’ does not
name a type
     Py_ssize_t smalltable[2];  /* static store for shape and strides of
     ^
/opt/csw/include/python2.7/object.h:276:5: error: ‘lenfunc’ does not name a
type
     lenfunc sq_length;
     ^
/opt/csw/include/python2.7/object.h:290:5: error: ‘lenfunc’ does not name a
type
     lenfunc mp_length;
     ^
/opt/csw/include/python2.7/object.h:296:5: error: ‘readbufferproc’ does not
name a type
     readbufferproc bf_getreadbuffer;
     ^
/opt/csw/include/python2.7/object.h:297:5: error: ‘writebufferproc’ does
not name a type
     writebufferproc bf_getwritebuffer;
     ^
/opt/csw/include/python2.7/object.h:298:5: error: ‘segcountproc’ does not
name a type
     segcountproc bf_getsegcount;
     ^
/opt/csw/include/python2.7/object.h:299:5: error: ‘charbufferproc’ does not
name a type
     charbufferproc bf_getcharbuffer;
     ^
/opt/csw/include/python2.7/object.h:322:54: error: ‘Py_ssize_t’ has not
been declared
 typedef PyObject *(*allocfunc)(struct _typeobject *, Py_ssize_t);
                                                      ^
/opt/csw/include/python2.7/object.h:80:5: error: ‘Py_ssize_t’ does not name
a type
     Py_ssize_t ob_refcnt;               \
     ^
/opt/csw/include/python2.7/object.h:97:5: note: in expansion of macro
‘PyObject_HEAD’
     PyObject_HEAD                       \
     ^
/opt/csw/include/python2.7/object.h:325:5: note: in expansion of macro
‘PyObject_VAR_HEAD’
     PyObject_VAR_HEAD
     ^
/opt/csw/include/python2.7/object.h:98:5: error: ‘Py_ssize_t’ does not name
a type
     Py_ssize_t ob_size; /* Number of items in variable part */
     ^
/opt/csw/include/python2.7/object.h:325:5: note: in expansion of macro
‘PyObject_VAR_HEAD’
     PyObject_VAR_HEAD
     ^

etc etc
-----------------------snip-----------------------

/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:35711:3:
note: in expansion of macro ‘Py_INCREF’
   Py_INCREF(SessionError);
   ^
/opt/csw/include/python2.7/object.h:767:24: error: ‘PyObject’ has no member
named ‘ob_refcnt’
     ((PyObject*)(op))->ob_refcnt++)
                        ^
/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:35717:3:
note: in expansion of macro ‘Py_INCREF’
   Py_INCREF(TransactionError);
   ^
/opt/csw/include/python2.7/object.h:767:24: error: ‘PyObject’ has no member
named ‘ob_refcnt’
     ((PyObject*)(op))->ob_refcnt++)
                        ^
/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:35723:3:
note: in expansion of macro ‘Py_INCREF’
   Py_INCREF(TransactionAborted);
   ^
/opt/csw/include/python2.7/object.h:767:24: error: ‘PyObject’ has no member
named ‘ob_refcnt’
     ((PyObject*)(op))->ob_refcnt++)
                        ^
/home/raphael/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:35729:3:
note: in expansion of macro ‘Py_INCREF’
   Py_INCREF(UnauthorizedAccess);
   ^
/home/r/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx:35732:56:
error: ‘PyDict_SetItemString’ was not declared in this scope
   PyDict_SetItemString(md,(char*)"cvar", SWIG_globals());
                                                        ^
*** Error code 1
The following command caused the error:
cd /home/r/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python &&
/opt/csw/bin/g++   -D_qpid_messaging_EXPORTS -m64 -fPIC
-I/opt/csw/include/python2.7
-I/home/r/install/qpid-0.28_solaris/cpp/include
-I/home/r/install/qpid-0.28_solaris/cpp/bindings -fno-strict-aliasing -o
CMakeFiles/_qpid_messaging.dir/qpid_messagingPYTHON_wrap.cxx.o -c
/home/r/install/qpid-0.28_solaris/cpp/build/bindings/qpid/python/qpid_messagingPYTHON_wrap.cxx
make: Fatal error: Command failed for target
`bindings/qpid/python/CMakeFiles/_qpid_messaging.dir/qpid_messagingPYTHON_wrap.cxx.o'
Current working directory /home/raphael/install/qpid-0.28_solaris/cpp/build
*** Error code 1
The following command caused the error:
make -f bindings/qpid/python/CMakeFiles/_qpid_messaging.dir/build.make
bindings/qpid/python/CMakeFiles/_qpid_messaging.dir/build
make: Fatal error: Command failed for target
`bindings/qpid/python/CMakeFiles/_qpid_messaging.dir/all'
Current working directory /home/raphael/install/qpid-0.28_solaris/cpp/build
*** Error code 1
The following command caused the error:
make -f CMakeFiles/Makefile2 all
make: Fatal error: Command failed for target `all'

Re: Qpid compilation problem on Sparc

Posted by Andrew Stitcher <as...@redhat.com>.
On Fri, 2015-01-23 at 18:02 +0100, Raphael Fuchs wrote:
> Hello!
> 
> I am trying to build Qpid 0.28 on a Solaris Sparc 10 machine, but the build
> failes when trying to compile the python wrappers. I have python 2.4, 2.6
> and 2.7 installed on the machine. The Swig Version is 2.0.9.
> 
> Can you give me some hints what I could try next?

The first question is: do you need the swig wrappers? If not you could
just turn them off - it looks like the actual C++ libraries compiled.

If you do, then investigate the version of swig. The current version on
my machine (a recent Fedora Linux) is 3.0.2. The latest versino of the
2.0 releases is 2.0.12 released in 2014 as against the 2012 for the
version you are using.

Looking at the errors briefly makes me think the problem is the swig
generated C++ not working well with the python 2.7 C headers. Which
could either be a swig problem or a C++ incompatibility with the Python
headers. Given that Python 2.7 works elsewhere, I'd suspect your version
of swig.

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org