you can monitor http://www.nsnam.org/bugzilla/show_bug.cgi?id=296 and
wait until craig (who introduced this problem) fixes it.
Another much more helpful option, would be, of course, to figure out
whether you can make this code work on osX, if so, what needs to be
done, provide a patch, and let craig apply it. At worst, craig will
disable this code on osX and cygwin.
temporarily, the option, is, of course, to edit src/simulator/wscript
and remove all mention of a realtime scheduler from there.
regards,
Mathieu
>
> It seems gccxml is reporting types like std::list<uint32_t> as
> std::list<unsigned int>, and so python binding generated code is
> trying to handle vectors of type 'std::list<unsigned int>' instead.
> Now, on all systems uint32_t and unsigned int are the same type. But
> it seems that cygwin is an exception to that rule, since it typedefs
the same build problem is visible on osX.
> uint32_t as 'unsigned long' instead of 'unsigned int', thereby
> causing a compilation error.
interesting. It looks like the bug is in gccxml or pybindgen usage of
gccxml: uint32_t should not be converted to unsigned int: you should be
able to detect that you have a typedef here and use the outer typedef
rather than the underlying type.
> I have no idea yet how to fix this, unfortunately. Sent an email to
> pygccxml-devel list to see if something comes up.
Mathieu
> interesting. It looks like the bug is in gccxml or pybindgen usage of
> gccxml: uint32_t should not be converted to unsigned int: you should be
> able to detect that you have a typedef here and use the outer typedef
> rather than the underlying type.
I failed to explain why I think this is a bug in gccxml or pybindgen. If
you do what you do right now, what happens is that the typedefs are
effectively cast in stone when ./waf --python-scan is run which means
that we can't store in our repo the output of ./waf --python-scan
because all these typedefs are platform-specific and can all differ
subtly from platform to platform.
So, the alternatives are either we make ./waf --python-scan not use the
underlying types but use the typedef or we request users to run
--python-scan as part of their build procedure all the time (including
release tarballs). The latter is clearly highly undesirable. i.e., it's
going to be a very very hard sell :/
Mathieu
and, yes, you are right. I mixed up things. see
http://www.nsnam.org/bugzilla/show_bug.cgi?id=298
sorry for the noise.
Mathieu
I failed to explain why I think this is a bug in gccxml or pybindgen. If
On Thu, 2008-08-28 at 09:34 -0700, Mathieu Lacage wrote:
> interesting. It looks like the bug is in gccxml or pybindgen usage of
> gccxml: uint32_t should not be converted to unsigned int: you should be
> able to detect that you have a typedef here and use the outer typedef
> rather than the underlying type.
you do what you do right now, what happens is that the typedefs are
effectively cast in stone when ./waf --python-scan is run which means
that we can't store in our repo the output of ./waf --python-scan
because all these typedefs are platform-specific and can all differ
subtly from platform to platform.
So, the alternatives are either we make ./waf --python-scan not use the
underlying types but use the typedef
or we request users to run
--python-scan as part of their build procedure all the time (including
release tarballs). The latter is clearly highly undesirable. i.e., it's
going to be a very very hard sell :/