Compiling Error Armature.c:952

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Post Reply
angel75
Posts: 0
Joined: Wed Aug 09, 2006 11:35 pm

Compiling Error Armature.c:952

Post by angel75 »

Hi, All
System Ubuntu 6.06 x86_64
blender 2.42a

I can't able to compile Blender on my linux
I report this..

...
Armature.c:952: warning: excess elements in scalar initializer
Armature.c:952: warning: (near initialization for ‘BPy_Armature_methods[0]’)
....
Armature.c:1295: error: syntax error before ‘)’ token
....
Armature.c:1327: warning: implicit declaration of function ‘PyModule_GetDict’
Armature.c:1327: warning: statement with no effect
make[4]: *** [/home/angel/sorgenti/blender-2.42a/obj/linux-glibc2.3.6-x86_64/blender/python/Armature.o] Error 1
make[3]: *** [all] Error 1
make[2]: *** [all] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1

Any Idea?

Thanks All :)

Sorry for my English

angel75
Posts: 0
Joined: Wed Aug 09, 2006 11:35 pm

solved

Post by angel75 »

At the and i compile it on ubuntu x86_64...
with synaptic install:

libsdl
libsdl-dev
libopenal
libopenal.dev
libalut
libalut-dev
exrtools
libopenexr
liopenexr-dev
openexr
python2.4
python2.4-dev
libsigc++-2.0
libsigc++-2.0-dev


in shell --> sudo -s -H
you must be root.

in /usr/include --> ln -s python2.4/ python2.3 [this i just have i don't know if is important for blender]

in /blender-2.42a/source/blender/python/api2_2x

edit Armature.h substitute
#include <Python.h>
with fullpath
#include "/usr/include/python2.4/Python.h"


in /usr/include/OpenEXR -> edit all header file like:

#include <ImathVec.h> --> #include "ImathVec.h"
and so on for all OpenEXR header File only
this is a list of edit header. (i Try to make a patch..):
IexMathExc.h:#include "IexBaseExc.h"
ImathBox.h:#include "ImathVec.h"
ImathColorAlgo.h:#include "ImathColor.h"
ImathColorAlgo.h:#include "ImathMath.h"
ImathColorAlgo.h:#include "ImathLimits.h"
ImathColor.h:#include "ImathVec.h"
ImathColor.h:#include "half.h"
ImathEuler.h:#include "ImathMath.h"
ImathEuler.h:#include "ImathVec.h"
ImathEuler.h:#include "ImathQuat.h"
ImathEuler.h:#include "ImathMatrix.h"
ImathEuler.h:#include "ImathLimits.h"
ImathExc.h:#include "IexBaseExc.h"
ImathFrustum.h:#include "ImathVec.h"
ImathFrustum.h:#include "ImathPlane.h"
ImathFrustum.h:#include "ImathLine.h"
ImathFrustum.h:#include "ImathMatrix.h"
ImathFrustum.h:#include "ImathLimits.h"
ImathFrustum.h:#include "ImathFun.h"
ImathFrustum.h:#include "IexMathExc.h"
ImathGL.h:#include "ImathVec.h"
ImathGL.h:#include "ImathMatrix.h"
ImathGL.h:#include "IexMathExc.h"
ImathGL.h:#include "ImathFun.h"
ImathMath.h:#include "ImathPlatform.h"
ImathVec.h:#include "ImathExc.h"
ImathVec.h:#include "ImathLimits.h"
ImathVec.h:#include "ImathMath.h"
ImfAttribute.h:#include "IexBaseExc.h"
ImfAttribute.h:#include "ImfIO.h"
ImfAttribute.h:#include "ImfXdr.h"
ImfChannelList.h:#include "ImfName.h"
ImfChannelList.h:#include "ImfPixelType.h"
ImfCompressionAttribute.h:#include "ImfAttribute.h"
ImfCompressionAttribute.h:#include "ImfCompression.h"
ImfFrameBuffer.h:#include "ImfName.h"
ImfFrameBuffer.h:#include "ImfPixelType.h"
ImfHeader.h:#include "ImfLineOrder.h"
ImfHeader.h:#include "ImfCompression.h"
ImfHeader.h:#include "ImfName.h"
ImfHeader.h:#include "ImfTileDescription.h"
ImfHeader.h:#include "ImfInt64.h"
ImfHeader.h:#include "ImathVec.h"
ImfHeader.h:#include "ImathBox.h"
ImfHeader.h:#include "IexBaseExc.h"
ImfInputFile.h:#include "ImfHeader.h"
ImfInputFile.h:#include "ImfFrameBuffer.h"
ImfInputFile.h:#include "ImfTiledOutputFile.h"
ImfIO.h:#include "ImfInt64.h"
ImfOutputFile.h:#include "ImfHeader.h"
ImfOutputFile.h:#include "ImfFrameBuffer.h"
ImfStringAttribute.h:#include "ImfAttribute.h"
ImfTiledOutputFile.h:#include "ImfHeader.h"
ImfTiledOutputFile.h:#include "ImfFrameBuffer.h"
ImfTiledOutputFile.h:#include "ImathBox.h"
ImfTiledOutputFile.h:#include "ImfTileDescription.h"
ImfXdr.h:#include "ImfInt64.h"
ImfXdr.h:#include "IexMathExc.h"
ImfXdr.h:#include "half.h"


in /usr/local/lib --> ln -s /usr/lib/libHalf.a libHalf.a
ln -s /usr/lib/libIex.a libIex.a
ln -s /usr/lib/libIlmImf.a libIlmImf.a

in /usr/lib/python2.3 --> ln -s /usr/lib/python2.4/config/ config

in /usr/lib/python2.3/config --> ln -s libpython2.4.a libpython2.3.a

maybe another way to do... but i'm not an expert :)

I hope that this is helpful for someone..

sorry for My Bad English.

Post Reply