[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

SVN 1.2.1 SWIG Bindings (Python, Perl) fail to build "properly" on Win32

From: James Park \(pencil_ethics\) <pencilethics_at_gmail.com>
Date: 2005-07-11 12:39:49 CEST

The SWIG Python and Perl bindings for Subversion 1.2.1 fail to build
correctly on Win32. I cannot be sure whether this is platform-specific
since I do not have another platform to test on.

I am building with:

Subversion 1.2.1 (r15230) - of course :-)
Visual C++ 6.0 SP6
SWIG 1.3.24
Python 2.3.5
ActivePerl 5.8.6.811

If I try to build the Python bindings, I get output along these lines:

core.c(1736) : error C2632: 'long' followed by 'long' is illegal
.
.
.
[snip (ignoring common warnings)]
.
.
core.c(7860) : warning C4013: 'svn_utf_initialize' undefined; assuming
extern returning int
core.c(7909) : warning C4013: 'svn_utf_stringbuf_to_utf8' undefined;
assuming extern returning int
core.c(7985) : warning C4013: 'svn_utf_string_to_utf8' undefined;
assuming extern returning int
core.c(8048) : warning C4013: 'svn_utf_cstring_to_utf8' undefined;
assuming extern returning int
core.c(8121) : warning C4013: 'svn_utf_cstring_to_utf8_ex' undefined;
assuming extern returning int
core.c(8193) : warning C4013: 'svn_utf_stringbuf_from_utf8' undefined;
assuming extern returning int
core.c(8269) : warning C4013: 'svn_utf_string_from_utf8' undefined;
assuming extern returning int
core.c(8332) : warning C4013: 'svn_utf_cstring_from_utf8' undefined;
assuming extern returning int
core.c(8405) : warning C4013: 'svn_utf_cstring_from_utf8_ex' undefined;
assuming extern returning int
core.c(8465) : warning C4013: 'svn_utf_cstring_from_utf8_fuzzy'
undefined; assuming extern returning int
core.c(8512) : warning C4013: 'svn_utf_cstring_from_utf8_stringbuf'
undefined; assuming extern returning int
core.c(8586) : warning C4013: 'svn_utf_cstring_from_utf8_string'
undefined; assuming extern returning int

If I try to build the Perl bindings, I get output along these lines:

[Output from SWIG]
core.i(499): Warning(453): Can't apply (apr_hash_t *PROPHASH). No
typemaps are defined.
core.i(499): Warning(453): Can't apply (apr_hash_t *PROPHASH). No
typemaps are defined.
core.i(510): Warning(453): Can't apply (apr_array_header_t
**OUTPUT_OF_PROP). No typemaps are defined.
core.i(510): Warning(453): Can't apply (apr_array_header_t
**OUTPUT_OF_PROP). No typemaps are defined.
core.i(510): Warning(453): Can't apply (apr_array_header_t
**OUTPUT_OF_PROP). No typemaps are defined.

[Output from cl]
.
.
.
core.c(2862) : error C2632: 'long' followed by 'long' is illegal
core.c(3775) : error C2632: 'long' followed by 'long' is illegal
core.c(3905) : error C2632: 'long' followed by 'long' is illegal
core.c(8909) : warning C4013: 'svn_utf_initialize' undefined; assuming
extern returning int
core.c(8964) : warning C4013: 'svn_utf_stringbuf_to_utf8' undefined;
assuming extern returning int
core.c(9038) : warning C4013: 'svn_utf_string_to_utf8' undefined;
assuming extern returning int
core.c(9102) : warning C4013: 'svn_utf_cstring_to_utf8' undefined;
assuming extern returning int
core.c(9170) : warning C4013: 'svn_utf_cstring_to_utf8_ex' undefined;
assuming extern returning int
core.c(9248) : warning C4013: 'svn_utf_stringbuf_from_utf8' undefined;
assuming extern returning int
core.c(9322) : warning C4013: 'svn_utf_string_from_utf8' undefined;
assuming extern returning int
core.c(9386) : warning C4013: 'svn_utf_cstring_from_utf8' undefined;
assuming extern returning int
core.c(9454) : warning C4013: 'svn_utf_cstring_from_utf8_ex' undefined;
assuming extern returning int
core.c(9513) : warning C4013: 'svn_utf_cstring_from_utf8_fuzzy'
undefined; assuming extern returning int
core.c(9571) : warning C4013: 'svn_utf_cstring_from_utf8_stringbuf'
undefined; assuming extern returning int
core.c(9641) : warning C4013: 'svn_utf_cstring_from_utf8_string'
undefined; assuming extern returning int

Despite my lack of knowledge about C, I did figure out that in both the
Python and Perl bindings, core.c does not include svn_utf.h, something
which is directly traceable to core.i. But what eludes me is the
significance or insignificance of the "long long" declarations and
typecasts in the core.c files. Of course, the bindings will build if
you remove one of the "extra" "long"s, but what effect does that have
on the bindings? And what do those SWIG warnings mean?

Subversion experts, please enlighten me here.

PS: Everything else on Win32 builds correctly, and therefore I have a
    set of Subversion 1.2.1 binaries for Win32 which I am willing to
    share.

- James Park (pencil_ethics)

This message is best viewed on a terminal that is 72 characters wide.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Jul 11 12:43:20 2005

This is an archived mail posted to the Subversion Users mailing list.