You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Lev Serebryakov <le...@serebryakov.spb.ru> on 2005/11/05 17:03:13 UTC

And more problems building 1.3.0-rc2: pre-generated *.swg files

Hello users,

  Three files `subverison/bindings/swig/proxy/swig_*_external_runtime.swg' contains error from swig-1.3.25 or earlier, fixed in swig-1.3.26 and later:

====
 SWIGRUNTIMEINLINE swig_type_info *
 SWIG_TypeQuery(const char *name) {
   swig_module_info *module = SWIG_GetModule();
   // gcc 2.95.x COMPILER WILL COMPLAIN HERE
   // MUST BE "SWIG_GetModule(NULL);"
   return SWIG_TypeQueryModule(module, module, name);
 }

 SWIGRUNTIMEINLINE swig_type_info *
 SWIG_MangledTypeQuery(const char *name) {
   swig_module_info *module = SWIG_GetModule();
   // gcc 2.95.x COMPILER WILL COMPLAIN HERE
   // MUST BE "SWIG_GetModule(NULL);"
   return SWIG_MangledTypeQueryModule(module, module, name);
 }
====

  When I delete *.swg files to regenerate them with local `swig' installation, Perl buindings are built well, but ruby ones can not be compiled:

====
In file included from /test/subversion-1.3.0-rc2/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:2:
/test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg: In function `SWIG_Ruby_ConvertPtr':
/test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: `SWIG_RubyRemoveTracking' undeclared (first use in this function)
/test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: (Each undeclared identifier is reported only once
/test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: for each function it appears in.)====

  When I patch these *.swg files bu hands, everything builds Ok. So, here are two problems, really:

  (1) Bad proxies was generated, bindings can not be built with gcc 2.95.x (used in FreeBSD 4.x, for example). It was fixed in latest swig!

  (2) Proxies for ruby can not be generated locally with newer swig.

-- 
Best regards,
 Lev                          mailto:lev@serebryakov.spb.ru


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Re[2]: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by David James <ja...@gmail.com>.
On 11/8/05, Lev Serebryakov <le...@serebryakov.spb.ru> wrote:
> Hello Justin,
>
> Tuesday, November 8, 2005, 5:19:49 AM, you wrote:
>
> JE> I believe when we tried the current versions of SWIG (1.3.27), the
> JE> bindings for Python and Perl were also broken.  So, we have to stay at
> JE> 1.3.25 until they get their bugs fixed upstream.  -- justin
>   But proxies, generated by 1.3.25, are broken too! For gcc 2.95.x and MSVC6, and may be, other MSVC.

I've committed a workaround for this SWIG 1.3.25 bug in r17257, and
nominated this fix for 1.3.x. Lev, can you test my fix and see if it
helps with your problem?

> (2) Proxies for ruby can not be generated locally with newer swig.
Subversion only officially supports SWIG 1.3.25. SWIG 1.3.26 breaks
compatibility with older versions of SWIG, so we will have to modify
our code in order to support it.

Hope this helps,

David

--
David James -- http://www.cs.toronto.edu/~james

Re[2]: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by Lev Serebryakov <le...@serebryakov.spb.ru>.
Hello Justin,

Tuesday, November 8, 2005, 5:19:49 AM, you wrote:

JE> I believe when we tried the current versions of SWIG (1.3.27), the
JE> bindings for Python and Perl were also broken.  So, we have to stay at
JE> 1.3.25 until they get their bugs fixed upstream.  -- justin
  But proxies, generated by 1.3.25, are broken too! For gcc 2.95.x and MSVC6, and may be, other MSVC.

-- 
Best regards,
 Lev                            mailto:lev@serebryakov.spb.ru


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On Sat, Nov 05, 2005 at 08:03:13PM +0300, Lev Serebryakov wrote:
>   (1) Bad proxies was generated, bindings can not be built with gcc 2.95.x (used in FreeBSD 4.x, for example). It was fixed in latest swig!
> 
>   (2) Proxies for ruby can not be generated locally with newer swig.

I believe when we tried the current versions of SWIG (1.3.27), the
bindings for Python and Perl were also broken.  So, we have to stay at
1.3.25 until they get their bugs fixed upstream.  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by Kouhei Sutou <ko...@cozmixng.org>.
Hi,

In <df...@mail.gmail.com>
  "Re: And more problems building 1.3.0-rc2: pre-generated *.swg files" on Wed, 9 Nov 2005 18:04:23 -0500,
  David James <ja...@gmail.com> wrote:

> > >   Three files `subverison/bindings/swig/proxy/swig_*_external_runtime.swg' contains error from swig-1.3.25 or earlier, fixed in swig-1.3.26 and later:
> > >
> > >   When I delete *.swg files to regenerate them with local `swig' installation, Perl buindings are built well, but ruby ones can not be compiled:
> > >
> >
> > This problem can be solved by the following sequence:
> >
> > % swig -o subversion/bindings/swig/proxy/rubytracking.swg -co ruby/rubytracking.swg
> > % patch -p0
> > Index: subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
> > ===================================================================
> > --- subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (revision 17245)
> > +++ subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (working copy)
> > @@ -1,4 +1,5 @@
> >  #include "rubyhead.swg"
> > +#include "rubytracking.swg"
> >  #include "swig_ruby_external_runtime.swg"
> >  #include "swigutil_rb.h"
> >  #include <st.h>
> > ^D
> Thanks for explaining this, Kou! I have committed a workaround for
> this SWIG 1.3.26/27 bug in r17280, so Subversion trunk should work now
> with SWIG 1.3.27.

It's good news! Thanks for applying this workaround to build
system, David.


Cheers,
--
kou

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by David James <ja...@gmail.com>.
On 11/8/05, Kouhei Sutou <ko...@cozmixng.org> wrote:
> Hi,
>
> In <19...@serebryakov.spb.ru>
>   "And more problems building 1.3.0-rc2: pre-generated *.swg files" on Sat, 5 Nov 2005 20:03:13 +0300,
>   Lev Serebryakov <le...@serebryakov.spb.ru> wrote:
>
> >   Three files `subverison/bindings/swig/proxy/swig_*_external_runtime.swg' contains error from swig-1.3.25 or earlier, fixed in swig-1.3.26 and later:
> >
> >   When I delete *.swg files to regenerate them with local `swig' installation, Perl buindings are built well, but ruby ones can not be compiled:
> >
> > ====
> > In file included from /test/subversion-1.3.0-rc2/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:2:
> > /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg: In function `SWIG_Ruby_ConvertPtr':
> > /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: `SWIG_RubyRemoveTracking' undeclared (first use in this function)
> > /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: (Each undeclared identifier is reported only once
> > /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: for each function it appears in.)====
> >
>
> This problem can be solved by the following sequence:
>
> % swig -o subversion/bindings/swig/proxy/rubytracking.swg -co ruby/rubytracking.swg
> % patch -p0
> Index: subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
> ===================================================================
> --- subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (revision 17245)
> +++ subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (working copy)
> @@ -1,4 +1,5 @@
>  #include "rubyhead.swg"
> +#include "rubytracking.swg"
>  #include "swig_ruby_external_runtime.swg"
>  #include "swigutil_rb.h"
>  #include <st.h>
> ^D
Thanks for explaining this, Kou! I have committed a workaround for
this SWIG 1.3.26/27 bug in r17280, so Subversion trunk should work now
with SWIG 1.3.27.

Cheers,

David



--
David James -- http://www.cs.toronto.edu/~james

Re: And more problems building 1.3.0-rc2: pre-generated *.swg files

Posted by Kouhei Sutou <ko...@cozmixng.org>.
Hi,

In <19...@serebryakov.spb.ru>
  "And more problems building 1.3.0-rc2: pre-generated *.swg files" on Sat, 5 Nov 2005 20:03:13 +0300,
  Lev Serebryakov <le...@serebryakov.spb.ru> wrote:

>   Three files `subverison/bindings/swig/proxy/swig_*_external_runtime.swg' contains error from swig-1.3.25 or earlier, fixed in swig-1.3.26 and later:
> 
>   When I delete *.swg files to regenerate them with local `swig' installation, Perl buindings are built well, but ruby ones can not be compiled:
> 
> ====
> In file included from /test/subversion-1.3.0-rc2/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:2:
> /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg: In function `SWIG_Ruby_ConvertPtr':
> /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: `SWIG_RubyRemoveTracking' undeclared (first use in this function)
> /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: (Each undeclared identifier is reported only once
> /test/subversion-1.3.0-rc2/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:653: for each function it appears in.)====
> 

This problem can be solved by the following sequence:

% swig -o subversion/bindings/swig/proxy/rubytracking.swg -co ruby/rubytracking.swg
% patch -p0
Index: subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
===================================================================
--- subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (revision 17245)
+++ subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c        (working copy)
@@ -1,4 +1,5 @@
 #include "rubyhead.swg"
+#include "rubytracking.swg"
 #include "swig_ruby_external_runtime.swg"
 #include "swigutil_rb.h"
 #include <st.h>
^D


Thanks,
--
kou

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org