Ivan Vučica
unread,Nov 10, 2009, 6:34:02 AM11/10/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to python-ogre...@googlegroups.com
Cheers,
after getting Mac builds to work for us, Cateia is boldly going into the GNU/Linux territory! (No, we cannot use prebuilt binaries because we need to be able to fix problems that may arise on older distros.)
First here's a patch. Boost 1.40 no longer includes autotools-based build system, that is, there is no 'configure', and 'make' and 'make install' do not make[1] sense. However nobody updated the build commands for Mac and GNU/Linux, so the fix is below
Additionally, a reference is made to .../include/boost-1.40 where it should actually refer to .../include/boost.
I admit that fixes are lousy but they do their job. I'd love to see how this should be done properly.
$ svn diff
========= START PATCH ===============
Index: environment.py
===================================================================
--- environment.py (revision 1018)
+++ environment.py (working copy)
@@ -547,15 +547,24 @@
[0, "mkdir -p %s/bin/" % PREFIX, os.path.join(os.getcwd(), bjambase)],
]
+ if BOOST_STATIC:
+ _link = "static"
+ else:
+ _link = "shared"
+
buildCmds += [
[0, cp + " bjam %s/bin/" % PREFIX, os.path.join(os.getcwd(), bjambase, bjambuilddir)],
## and now boost
- [0, tar + ' zxf ' + os.path.join(downloadPath, base) + '.tar.gz', ''],
+ #[0, tar + ' zxf ' + os.path.join(downloadPath, base) + '.tar.gz', ''],
[0, 'chmod -R +rw *', os.path.join(os.getcwd(), base)],
- [0, "./configure --with-libraries=python,thread,date_time --prefix=%s --without-icu --with-bjam=../root/usr/bin/bjam" % PREFIX, os.path.join(os.getcwd(), base)],
- [0, 'make', os.path.join(os.getcwd(), base)],
- [0, 'make install', os.path.join(os.getcwd(), base)],
+ [0, "./bootstrap.sh --with-libraries=python,thread,date_time --prefix=%s --without-icu --with-bjam=../root/usr/bin/bjam" % PREFIX, os.path.join(os.getcwd(), base)],
+ #[0, 'make', os.path.join(os.getcwd(), base)],
+ #[0, 'make install', os.path.join(os.getcwd(), base)],
+
+ [0, os.path.join(PREFIX, 'bin', 'bjam') + (' release --prefix=%s --with-python --with-thread --with-date_time link=' % PREFIX) + _link, os.path.join(os.getcwd(), base)],
+ [0, os.path.join(PREFIX, 'bin', 'bjam') + (' release --prefix=%s --with-python --with-thread --with-date_time link=' % PREFIX) + _link + ' install', os.path.join(os.getcwd(), base)]
+
]
if isMac():
@@ -600,7 +609,7 @@
# If we are not given a LIB path, use the version we are building.
if Config.PATH_Boost is None:
- PATH = os.path.join(Config.LOCAL_INCLUDE, "boost-%s" % versionBase)
+ PATH = os.path.join(Config.LOCAL_INCLUDE, "boost") #% versionBase)
else:
PATH = Config.PATH_Boost
====== END PATCH ========
Then, here's an error.
$ python python-ogre/BuildModule.py -c ogre
g++ -o build_dir_2.5/ogre_1.6.1/ResourceGroupManager.pypp.os -c `pkg-config --cflags OGRE` -I -O3 -I./ -DBOOST_PYTHON_MAX_ARITY=19 -DBOOST_PYTHON_NO_PY_SIGNATURES -I/home/ivucica/development/python-ogre/generated/ogre_1.6.1 -D__PYTHONOGRE_BUILD_CODE -I/home/ivucica/development/root/usr/include -L/home/ivucica/development/root/usr/lib -fPIC -I/home/ivucica/development/root/usr/include/boost -I/home/ivucica/development/root/usr/include/OGRE -I/usr/include/python2.5 -I/usr/include/python2.5 -Ibuild_dir_2.5/ogre_1.6.1/None -Igenerated/ogre_1.6.1/None generated/ogre_1.6.1/ResourceGroupManager.pypp.cpp
/home/ivucica/development/root/usr/include/OGRE/OgreResourceGroupManager.h: In function ‘void register_ResourceGroupManager_class()’:
/home/ivucica/development/root/usr/include/OGRE/OgreResourceGroupManager.h:289: error: ‘struct Ogre::ResourceGroupManager::ResourceGroup’ is protected
generated/ogre_1.6.1/ResourceGroupManager.pypp.cpp:394: error: within this context
scons: *** [build_dir_2.5/ogre_1.6.1/ResourceGroupManager.pypp.os] Error 1
scons: building terminated because of errors.
PythonOgre.BuildModule: WARNING Task Failed
Since I have zero idea how to fix this apart from removing "protected", can someone give an official version on how this kind of stuff is fixed?
[1] This pun is accidental, but welcome :-)
--
Regards,
Ivan Vučica