boost_python_index

4 views
Skip to first unread message

Ivan Vucica

unread,
Jul 23, 2008, 10:50:23 AM7/23/08
to python-ogre...@googlegroups.com
Hi guys, and welcome to another annoying "Session with Ivan" :)

After fixing and compiling boost according to my patch in the previous post in another thread:

ivucica@riki:~/development$ python python-ogre/BuildModule.py -b boost_python_index
PythonOgre.BuildModule: INFO     Build Command make all
PythonOgre.BuildModule: WARNING  Task Failed
PythonOgre.BuildModule: INFO     Build Command PREFIX=/home/ivucica/development/root/usr make install
PythonOgre.BuildModule: WARNING  Task Failed

and we get this log.out:

07-23 16:33 PythonOgre.BuildModule INFO     Build Command make all
07-23 16:33 PythonOgre.BuildModule DEBUG    Spawning 'make all' in '/home/ivucica/development/libboost-python1.35-index'
07-23 16:33 PythonOgre.BuildModule WARNING  Task Failed
07-23 16:33 PythonOgre.BuildModule DEBUG    g++ libs/python/src/indexing/indexing_slice.cpp libs/python/src/indexing/python_iterator.cpp \
                -I . \
                -I /usr/include/python`python -V 2>&1 | sed -e's/Python \(2\.[45]\).*/\1/'` \
                -shared -Wl,-soname,libboost_python_index-gcc`gcc --version | head -1 | sed -e's/.*) \([0-9]\)\.\([0-9]\).*/\1\2/'`-1_34_1.so -o libboost_python_index-gcc`gcc --version | head -1 | sed -e's/.*) \([0-9]\)\.\([0-9]\).*/\1\2/'`-1_34_1.so -fPIC \
                -lboost_python \
                -lpython`python -V 2>&1 | sed -e's/Python \(2\.[45]\).*/\1/'`

07-23 16:33 PythonOgre.BuildModule DEBUG    In file included from libs/python/src/indexing/indexing_slice.cpp:16:
./boost/python/suite/indexing/slice.hpp:19:35: error: boost/python/object.hpp: No such file or directory
./boost/python/suite/indexing/slice.hpp:20:35: error: boost/python/errors.hpp: No such file or directory
./boost/python/suite/indexing/slice.hpp:21:63: error: boost/python/converter/pytype_object_mgr_traits.hpp: No such file or directory

In file included from libs/python/src/indexing/indexing_slice.cpp:16:
./boost/python/suite/indexing/slice.hpp:24: error: function definition does not declare parameters
./boost/python/suite/indexing/slice.hpp:46: error: function definition does not declare parameters
./boost/python/suite/indexing/slice.hpp:80: error: \u2018boost::python::indexing::slice\u2019 has not been declared
./boost/python/suite/indexing/slice.hpp:80: error: ISO C++ forbids declaration of \u2018slice\u2019 with no type
./boost/python/suite/indexing/slice.hpp: In function \u2018int slice(const T&)\u2019:
./boost/python/suite/indexing/slice.hpp:81: error: only constructors take base initializers
./boost/python/suite/indexing/slice.hpp:81: error: expected class-name before \u2018(\u2019 token
./boost/python/suite/indexing/slice.hpp:83: error: invalid use of \u2018this\u2019 in non-member function
./boost/python/suite/indexing/slice.hpp:83: error: there are no arguments to \u2018PySlice_Check\u2019 that depend on a template parameter, so a declaration of \u2018PySlice_Check\u2019 must be available
./boost/python/suite/indexing/slice.hpp:83: error: (if you use \u2018-fpermissive\u2019, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./boost/python/suite/indexing/slice.hpp:86: error: \u2018PyExc_TypeError\u2019 was not declared in this scope
./boost/python/suite/indexing/slice.hpp:86: error: there are no arguments to \u2018PyErr_SetString\u2019 that depend on a template parameter, so a declaration of \u2018PyErr_SetString\u2019 must be available
./boost/python/suite/indexing/slice.hpp:88: error: \u2018throw_error_already_set\u2019 is not a member of \u2018boost::python\u2019
./boost/python/suite/indexing/slice.hpp: At global scope:
./boost/python/suite/indexing/slice.hpp:96: error: \u2018object_manager_traits\u2019 is not a template
./boost/python/suite/indexing/slice.hpp:96: error: \u2018slice\u2019 is not a member of \u2018boost::python::indexing\u2019
./boost/python/suite/indexing/slice.hpp:96: error: \u2018slice\u2019 is not a member of \u2018boost::python::indexing\u2019
./boost/python/suite/indexing/slice.hpp:97: error: expected template-name before \u2018<\u2019 token
./boost/python/suite/indexing/slice.hpp:97: error: expected `{' before \u2018<\u2019 token
./boost/python/suite/indexing/slice.hpp:97: error: expected unqualified-id before \u2018<\u2019 token
libs/python/src/indexing/indexing_slice.cpp:36: error: \u2018boost::python::indexing::slice\u2019 has not been declared
libs/python/src/indexing/indexing_slice.cpp:36: error: expected constructor, destructor, or type conversion before \u2018(\u2019 token
libs/python/src/indexing/indexing_slice.cpp:45: error: \u2018boost::python::indexing::integer_slice\u2019 has not been declared
libs/python/src/indexing/indexing_slice.cpp:46: error: expected constructor, destructor, or type conversion before \u2018(\u2019 token
In file included from libs/python/src/indexing/python_iterator.cpp:18:
./boost/python/suite/indexing/python_iterator.hpp:23:35: error: boost/python/object.hpp: No such file or directory
libs/python/src/indexing/python_iterator.cpp:19:35: error: boost/python/handle.hpp: No such file or directory
In file included from libs/python/src/indexing/python_iterator.cpp:18:
./boost/python/suite/indexing/python_iterator.hpp:26: error: function definition does not declare parameters
libs/python/src/indexing/python_iterator.cpp:25: error: \u2018boost::python::indexing::python_iterator\u2019 has not been declared
libs/python/src/indexing/python_iterator.cpp:26: error: expected constructor, destructor, or type conversion before \u2018(\u2019 token
libs/python/src/indexing/python_iterator.cpp:37: error: \u2018boost::python::indexing::python_iterator\u2019 has not been declared
libs/python/src/indexing/python_iterator.cpp: In function \u2018bool next()\u2019:
libs/python/src/indexing/python_iterator.cpp:43: error: \u2018m_current\u2019 was not declared in this scope
libs/python/src/indexing/python_iterator.cpp:43: error: \u2018m_next_method\u2019 was not declared in this scope
libs/python/src/indexing/python_iterator.cpp:46: error: expected type-specifier
libs/python/src/indexing/python_iterator.cpp:46: error: expected unqualified-id before \u2018const\u2019
libs/python/src/indexing/python_iterator.cpp:46: error: expected `)' before \u2018const\u2019
libs/python/src/indexing/python_iterator.cpp:46: error: expected `{' before \u2018const\u2019
libs/python/src/indexing/python_iterator.cpp:46: error: expected unqualified-id before \u2018)\u2019 token
libs/python/src/indexing/python_iterator.cpp:46: error: expected initializer before \u2018)\u2019 token
libs/python/src/indexing/python_iterator.cpp:74: error: expected `}' at end of input
make: *** [all] Error 1

07-23 16:33 PythonOgre.BuildModule INFO     Build Command PREFIX=/home/ivucica/development/root/usr make install
07-23 16:33 PythonOgre.BuildModule DEBUG    Spawning 'PREFIX=/home/ivucica/development/root/usr make install' in '/home/ivucica/development/libboost-python1.35-index'
07-23 16:33 PythonOgre.BuildModule WARNING  Task Failed
07-23 16:33 PythonOgre.BuildModule DEBUG    mkdir -p /home/ivucica/development/root/usr/usr/lib
cp libboost_python_index-gcc`gcc --version | head -1 | sed -e's/.*) \([0-9]\)\.\([0-9]\).*/\1\2/'`-1_34_1.so /home/ivucica/development/root/usr/usr/lib

07-23 16:33 PythonOgre.BuildModule DEBUG    cp: cannot stat `libboost_python_index-gcc42-1_34_1.so': No such file or directory
make: *** [install] Error 1


Apparently, libboost_python_index build process is unable to find appropriate boost library!

I have removed all pythonogre related packages, as suggested by Tim in another thread.


I'll keep playing with this and see if I can come up with something. Things I think need consideration:

1) I feel that version 1.34.1 near boost_python_index needs to be replaced with 1.35.0 or get something from boost.base.
2) Give us output from wget and make and other tools! Current build system makes sense if you're providing a tested, stable build. It makes very little sense if you're providing a development build. If something hangs, I can't see where exactly it hung except by less-ing the log.out in another terminal, or by aborting the build. That can be quite annoying. Currently I can perhaps remedy the situation by running watch -n1 "cat log.out | tail" but that sucks. Not to mention that wget makes no output into log.out wrt to show progress of downloading files.
--
Regards,

Ivan Vučica

OBJECT Networks :: www.objectnetworks.net
Cateia Games :: www.cateia.com

Ivan Vucica

unread,
Jul 23, 2008, 12:05:46 PM7/23/08
to python-ogre...@googlegroups.com
2008/7/23 Ivan Vucica <ivu...@gmail.com>:
Hi guys, and welcome to another annoying "Session with Ivan" :)
<snip>


Okay... here goes!

I've finally managed to compile boost_python_index!  Patch included. This patch assumes you've also applied patch from post no. 6  in thread [1].

I've basically reworked the Makefile, passing additional stuff from environment.py and further adjusting library and include dirs with -I and -L commands. I've also removed "export" for two bash variables, which isn't nice to use in Makefiles.

Note, GCC_VERSION does not include the "-mt"  suffix, so I manually appended it. Someone else should look into this.

P.S. Please read my previous mail anyway, at least the bottom.


[1] http://groups.google.com/group/python-ogre-developers/tree/browse_frm/thread/dc3ce70a868d84c6/1bc2a556b7bee6ac?rnum=1&_done=%2Fgroup%2Fpython-ogre-developers%2Fbrowse_frm%2Fthread%2Fdc3ce70a868d84c6%2F1bc2a556b7bee6ac%3Ftvc%3D1%26#doc_4d386614840a7e66
boost_python_index.patch

Ivan Vucica

unread,
Jul 23, 2008, 2:50:02 PM7/23/08
to python-ogre...@googlegroups.com
Just wanted to tell you all that, after renaming some files further
and adding -mt to libboost-python's gcc name, ois, ogre and cegui
compiled and work in python!

Unfortunately:
1) I did not automate everything - no patch at the moment
2) TinyXML parser is a no-go for my needs and I had no time to finish
rebuilding Expat version of cegui.

Hope noone's annoyed with my spam and my previous patches will be applied.

Tim Ansell

unread,
Jul 24, 2008, 1:24:26 AM7/24/08
to python-ogre...@googlegroups.com
On Wed, 2008-07-23 at 20:50 +0200, Ivan Vucica wrote:
> Just wanted to tell you all that, after renaming some files further
> and adding -mt to libboost-python's gcc name, ois, ogre and cegui
> compiled and work in python!

> Unfortunately:
> 1) I did not automate everything - no patch at the moment

> 2) TinyXML parser is a no-go for my needs and I had no time to finish
> rebuilding Expat version of cegui.

You can change the parser to one of the other ones by doing a

from ogre.gui.CEGUI import System
System.setDefaultXMLParserName("TinyXMLParser")

> Hope noone's annoyed with my spam and my previous patches will be applied.

Please keep reporting them, I'm currently stuck using my laptop to build
everything so I can't do complete builds very often (and they take half
a day or more!).

I'm trying a different tack to your latest patch, can you please see if
the boost_version.cpp detects the right library to use for you.

<snip>

Tim 'Mithro' Ansell

Tim Ansell

unread,
Aug 18, 2008, 4:57:25 AM8/18/08
to python-ogre...@googlegroups.com

> I've basically reworked the Makefile, passing additional stuff from
> environment.py and further adjusting library and include dirs with -I
> and -L commands. I've also removed "export" for two bash variables,
> which isn't nice to use in Makefiles.
>

Not quite sure how I missed this section of the patch. I have committed
a modified version of these changes to the repository in r697.

Tim 'Mithro' Ansell


Reply all
Reply to author
Forward
0 new messages