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

Thiruvalluvan M. G. commented on AVRO-1132:
-------------------------------------------

I don't have MinGW or MSYS. But this patch appears inappropriate as it comments 
out portions of the code for all Win32 platforms (Visual Studio, Cygwin and 
MinGW). Probably, nobody will be affected because the the offending code is 
very old and is not used in the newer API since Avro 1.5 or so. But who knows, 
someone may still be using it.

I think we should officially discontinue supporting the buffer based API 
(prevalent before 1.5). Since that would mean incompatibility it can only be 
done in 1.8 release.

Since it works with gcc on Linux and Cygwin, there must be something peculiar 
to MinGW/MSYS. Is it possible to figure that out?

Alternatively, we can comment out the offending portion just for MinGW, if you 
prefer. Not perfect, but better than breaking other Win32 platforms.

Thanks
                
> Build failing on MSYS/MinGW due to missing struct iovec
> -------------------------------------------------------
>
>                 Key: AVRO-1132
>                 URL: https://issues.apache.org/jira/browse/AVRO-1132
>             Project: Avro
>          Issue Type: Bug
>          Components: c++
>    Affects Versions: 1.7.1
>         Environment: Windows XP Professional 32-bit SP3, MSYS, MinGW GCC 4.5.1
>            Reporter: Laurent Moss
>            Assignee: Laurent Moss
>              Labels: build
>             Fix For: 1.7.2
>
>         Attachments: AVRO-1132.diff
>
>
> Avro C++ fails to build on MSYS with MinGW GCC due to references to 
> undeclared struct iovec:
> In file included from C:/workspace/avro-cpp/api/buffer/BufferReader.hh:22:0,
>                  from C:/workspace/avro-cpp/api/Reader.hh:30,
>                  from C:/workspace/avro-cpp/api/ResolverSchema.hh:28,
>                  from c:/workspace/avro-cpp/impl/ResolverSchema.cc:20:
> C:/workspace/avro-cpp/api/buffer/Buffer.hh: In function 'void 
> avro::toIovec(BufferType&, std::vector<avro::iovec>&)':
> C:/workspace/avro-cpp/api/buffer/Buffer.hh:517:15: error: invalid use of 
> incomplete type 'struct avro::iovec'
> C:/workspace/avro-cpp/api/buffer/Buffer.hh:511:57: error: forward declaration 
> of 'struct avro::iovec'
> C:/workspace/avro-cpp/api/buffer/Buffer.hh:518:15: error: invalid use of 
> incomplete type 'struct avro::iovec'
> C:/workspace/avro-cpp/api/buffer/Buffer.hh:511:57: error: forward declaration 
> of 'struct avro::iovec'
> make[2]: *** [CMakeFiles/avrocpp_s.dir/impl/ResolverSchema.cc.obj] Error 1
> make[1]: *** [CMakeFiles/avrocpp_s.dir/all] Error 2
> make: *** [all] Error 2

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to