You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@subversion.apache.org by "Yasuhito Futatsuki (Jira)" <ji...@apache.org> on 2019/10/26 08:08:00 UTC

[jira] [Commented] (SVN-4818) Failed to build with SWIG 4

    [ https://issues.apache.org/jira/browse/SVN-4818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16960287#comment-16960287 ] 

Yasuhito Futatsuki commented on SVN-4818:
-----------------------------------------

It seems this only affects SWIG Python bindings. On Python bindings, current our support code for proxy object doesn't work with code generated by SWIG 4.0.x.

Our SWIG Python bindings for Python 2 depend on classic style class for proxy object for backwards compatibility [1],  so I think we can't support SWIG 4.0.x for Python 2.

There is new swig Python bingings code developed on swig-py3 branch[2] which support both of classic style class with Python2 and new style class with Python 3, however it also doesn't work with SWIG 4.0.x even without -classic and with -nofastpack, for changes in implementation of proxy object between 3.0.12 and 4.0.0.

 

[1] [https://mail-archives.apache.org/mod_mbox/subversion-dev/201801.mbox/%3c358b3cf5-541e-7de1-65db-e5b6f8920abb@apache.org%3e]


[2] [https://svn.apache.org/repos/asf/subversion/branches/swig-py3]

 

> Failed to build with SWIG 4
> ---------------------------
>
>                 Key: SVN-4818
>                 URL: https://issues.apache.org/jira/browse/SVN-4818
>             Project: Subversion
>          Issue Type: Bug
>          Components: bindings_swig
>    Affects Versions: 1.12.0
>         Environment: Arch Linux x86_64, SWIG 4.0.0.
>            Reporter: Felix Yan
>            Priority: Major
>
> The Python binding failed to build with an error:
> {{Deprecated command line option: -classic. This option is no longer supported.}}
>  After fixing this (by removing -classic from build.conf), a lot of new errors like below appeared:
> {{subversion/bindings/swig/python/svn_client.c:6201:128: error: ‘svn_argnum_swig_obj’ undeclared (first use in this function); did you mean ‘svn_argnum_obj1’?}}
> After looking up the changelog of SWIG 4, it appears fastunpack becomes default so I added {{-nofastunpack}} to get around this.
> Next error is inside Ruby bindings:
> {{subversion/bindings/swig/ruby/svn_client.c:1605:21: error: ‘SWIG_POINTER_NO_NULL’ undeclared (first use in this function); did you mean ‘SWIG_POINTER_OWN’?}}
> Looks like the vendored proxy/*.swg files are outdated. I removed some and get passed this one.
> Finally it built fine, but I am stuck at the test suite now. The python binding failed to import correctly:
> {{File "/home/felix/projects/arch/packages/subversion/trunk/src/subversion-1.12.0/subversion/bindings/swig/python/libsvn/core.py", line 32, in _swig_setattr_nondynamic}}
> {{method = class_type.__swig_setmethods__.get(name, None)}}
> {{AttributeError: type object 'svn_auth_cred_simple_t' has no attribute '__swig_setmethods__'}}
> Please let me know how to proceed, thanks!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)