[ 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