[Rprotobuf-yada] Build errors

Romain Francois romain.francois at dbmail.com
Thu Nov 12 13:52:00 CET 2009


On 11/12/2009 01:41 PM, Dirk Eddelbuettel wrote:
> On 12 November 2009 at 08:33, Romain Francois wrote:
> | I can work around swap I guess using Set* stuff
>
> Thanks for that. It builds now.
>
> | How close is debian to get 2.2 ?
>
> I filed a bug report weeks ago saying that 2.1 is outdated. The maintainer is
> friendly, but hasn't updated. The package's files, applied to new 2.2
> sources, work perfectly.  So I just pinged him and indicated that I'd do a
> so-called 'non-maintainer upload' of 2.2 in the next few days, but gave him a
> chance to it instead.

Let me know then so that I can free the conditional compiling stuff.

I've also added a field in the DESCRIPTION to control which version of 
the library we require, currently set to 2.1 (but would like it to be 
2.2) and code that checks the version as part of .onLoad and suicides if 
the version is too old.

This is probably too strict, but I don't want to have to maintain 
compatibility. I'd be happy to let someone do it, but I see conditional 
compiling as too dangerous.

> We have 2.1 in Debian (so Kurt could build this for CRAN). But I guess having
> 2.2 would be preferable.  The API looks bigger too.  Are there other features
> we need or does it simply makes things easier?

Here is the changes in 2.2. swaping messages content is more efficient 
in google's version. My version makes copies of the messages, where I 
think they operate directly on pointers and addresses, ...


2009-08-11 version 2.2.0:

   C++
   * Lite mode:  The "optimize_for = LITE_RUNTIME" option causes the 
compiler
     to generate code which only depends libprotobuf-lite, which is much 
smaller
     than libprotobuf but lacks descriptors, reflection, and some other 
features.
   * Fixed bug where Message.Swap(Message) was only implemented for
     optimize_for_speed.  Swap now properly implemented in both modes
     (Issue 91).
   * Added RemoveLast and SwapElements(index1, index2) to Reflection
     interface for repeated elements.
   * Added Swap(Message) to Reflection interface.
   * Floating-point literals in generated code that are intended to be
     single-precision now explicitly have 'f' suffix to avoid pedantic 
warnings
     produced by some compilers.
   * The [deprecated=true] option now causes the C++ code generator to 
generate
     a GCC-style deprecation annotation (no-op on other compilers).
   * google::protobuf::GetEnumDescriptor<SomeGeneratedEnumType>() 
returns the
     EnumDescriptor for that type -- useful for templates which cannot call
     SomeGeneratedEnumType_descriptor().
   * Various optimizations and obscure bug fixes.

   Java
   * Lite mode:  The "optimize_for = LITE_RUNTIME" option causes the 
compiler
     to generate code which only depends libprotobuf-lite, which is much 
smaller
     than libprotobuf but lacks descriptors, reflection, and some other 
features.
   * Lots of style cleanups.

   Python
   * Fixed endianness bug with floats and doubles.
   * Text format parsing support.
   * Fix bug with parsing packed repeated fields in embedded messages.
   * Ability to initialize fields by passing keyword args to constructor.
   * Support iterators in extend and __setslice__ for containers.


> Dirk
>


-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://tr.im/EAD5 : LondonR slides
|- http://tr.im/BcPw : celebrating R commit #50000
`- http://tr.im/ztCu : RGG #158:161: examples of package IDPmisc



More information about the Rprotobuf-yada mailing list