[C++-sig] [py++] Problem: empty xml file created
Marcus Lindblom
macke at yar.nu
Tue Dec 2 14:15:38 CET 2008
Roman Yakovenko wrote:
> 2008/12/2 Marcus Lindblom <macke at yar.nu>:
>> Hi all,
>>
>> I'm trying to get OpenSG's python-bindings to work on Windows (and
>> contruibuting that back to the project), and trying to track down an
>> exception that get's thrown when running it's gen_bindings.py. (see attached
>> log.txt for output)
[snip]
>> The PyOpenSG-devs have only used linux, and have maybe seen this before,
>> earlier, but can't recall what and when. They also have used a earlier
>> py++-version, but I'm using 1.0. I might be shooting myself in the foot with
>> that, but I hope not.
>
> There were few changes here and there, but it should not be too
> dificcult to upgrade,
That's what I'm hoping for. :)
> The output contains the following command:
>
> ""C:\program files\bin\gccxml.exe"
> /IJ:\3rd\OpenSG\opensg2_trunk\build.win32.cl.9.0\instlinks\include
> /IC:\Program Files oost oost_1_36_0 -DBOOST_PYTHON_MAX_ARITY=21
> -I"." -I"osg_module"
> -I"J:\3rd\OpenSG\opensg2_trunk\build.win32.cl.9.0\instlinks\include"
> -I"J:\3rd\OpenSG\opensg2_trunk\build.win32.cl.9.0\instlinks\include\OpenSG"
> -I"j:\3rd\boost\boost_1_36_0" -I"c:\dev\python26\include"
> "osg_module\osgmodule_mainheader.h"
> -fxml="c:\users\marcusl\appdata\local\temp\tmp1e92ik.xml""
>
> Can you run the command, from cmd and check that file was created and
> contains data.
Ok. It came right back at me:
pyopensg/src> ** the above **
Could not determine compiler setting.
Could not determine GCCXML_FLAGS setting.
pyopensg/src>
So, I changed it to run my compiled gccxml (pretty recent cvs head) and
added "--gccxml-compiler cl" (I use VS9 and python 2.6) and fixed the
include paths (pyopensg retrieves includepaths from the osg2-config
python script, which used /I instead of /I and also had some non-escaped
backslashes (turing 'c:\program files\boost' into 'c:\program files
oost' as can be seen above :)
Running the modified cmd-line made gccxml run and print a whole lot,
starting with:
j:/3rd/OpenSG/opensg2_trunk/build.win32.cl.9.0/instlinks/include/OpenSG/OSGConfig.h:135:2:
error: #error Endian determination : could not guess your plattform
and ending up with an ICE.
It seems as I have to add a few defines and such to get the
opensg-sources to identify the compiler correctly.
I can handle the osg2-config script myself, and probably figure out what
defines are necessary, but where do I set compiler-arg + defines that
are used when doing the cache-step that calls the above command?
Is this cache stuff in PyOpenSG or Py++? (because I can't seem to find
any such call in gen_bindings.main() nor nearby related modules, unless
I've missed something).
Cheers,
/Marcus
More information about the Cplusplus-sig
mailing list