If I remember correctly, DATE is one of the types in synce_types.h, which are meant to have the same name and declaration as in Microsoft Windows. Changing it in libsynce will diverge from that and also means changing librapi2 and many tools and applications that depend on that library.
It would probably be better to hide the Python declaration of DATE with some #define/#undef magic... :-) Best regards, David Eriksson http://www.divideandconquer.se/ On Mon, Oct 18, 2010 at 20:08, Tejas Guruswamy <masterpatri...@gmail.com> wrote: > On 18/10/10 00:03, Tejas Guruswamy wrote: >> On 17/10/10 20:52, Mark Ellis wrote: >> >>> On Sat, 2010-10-16 at 21:59 +0200, Tejas Guruswamy wrote: >>> >>>> librapi2 / librra python bindings fail to build on openSUSE Factory, and >>>> the only recent relevant change I can find is python2.7 . >>>> gcc is 4.5, pyrex is 0.9.8.5. >>>> >>>> So does anyone have SynCE successfully building against python2.7? >>>> >>>> It's a rather unhelpful error it's spitting out: >>>> >>>> make[3]: Entering directory `/usr/src/packages/BUILD/librapi2-0.15/python' >>>> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. >>>> -I.. -I/usr/include/python2.7 -I../src -pthread -Wsign-compare >>>> -Wno-long-long -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 >>>> -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -MT >>>> pyrapi2_la-pyrapi2.lo -MD -MP -MF .deps/pyrapi2_la-pyrapi2.Tpo -c -o >>>> pyrapi2_la-pyrapi2.lo `test -f 'pyrapi2.c' || echo './'`pyrapi2.c >>>> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/python2.7 >>>> -I../src -pthread -Wsign-compare -Wno-long-long -fmessage-length=0 -O2 >>>> -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables >>>> -fasynchronous-unwind-tables -g -MT pyrapi2_la-pyrapi2.lo -MD -MP -MF >>>> .deps/pyrapi2_la-pyrapi2.Tpo -c pyrapi2.c -fPIC -DPIC -o >>>> .libs/pyrapi2_la-pyrapi2.o >>>> In file included from /usr/include/synce.h:24:0, >>>> from pyrapi2.c:32: >>>> /usr/include/synce_types.h:41:16: error: expected identifier or '(' >>>> before string constant >>>> In file included from pyrapi2.c:32:0: >>>> /usr/include/synce.h:51:36: error: expected declaration specifiers or >>>> '...' before string constant >>>> /usr/include/synce.h:52:18: error: expected declaration specifiers or >>>> '...' before string constant >>>> >>>> which points to just a simple "typedef double DATE;" line. >>>> >>> I suspect it's gcc 4.5 rather than python that is causing the problem, >>> but it's just a guess at this point. Apparently gcc 4.5 is stricter, but >>> I still can't see what the problem with that line would be. Can you try >>> and build librapi2 with python disabled, see if you get this error >>> anywhere else ? >>> >> Builds fine with gcc 4.5.1 and --disable-python-bindings. Builds fine >> with gcc 4.5.0 on openSUSE 11.3 -- and I don't see anything relevant in >> the changelog for 4.5.0 to 4.5.1. >> >> Fails even without the extra RPM compiler flags. >> >> I see that Ubuntu seems to be still building with python2.6 ... have you >> got a way to test with 2.7? Could it be a pyrex issue? >> > Solved; looks like python2.7 declares "DATE" as something else and > gcc4.5.1 no longer lets this slide. Change that typedef (and all > references to that type) to some other name (in libsynce) and > python-bindings build OK. > > Regards, > Tejas > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > _______________________________________________ > SynCE-Devel mailing list > SynCE-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/synce-devel > ------------------------------------------------------------------------------ Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev _______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel