Boost C++ Libraries: Ticket #7986: iostreams fails to compile on AIX7 XLC11 with _LARGE_FILES https://svn.boost.org/trac10/ticket/7986 <p> AIX version: 7100.01.05.1228 VACPP version: 11.1.0.12 </p> <p> Compiling iostreams library with _LARGE_FILES support causes the below compilation errors. </p> <p> I was able to resolve the compilation error by moving the inclusion of fcntl so that it's _LARGE_FILES macro definitions affects all of the source instead of just part. Patch for 1.52.0 attached. </p> <p> common.mkdir ../../../bin.v2 common.mkdir ../../../bin.v2/libs common.mkdir ../../../bin.v2/libs/iostreams common.mkdir ../../../bin.v2/libs/iostreams/build common.mkdir ../../../bin.v2/libs/iostreams/build/vacpp common.mkdir ../../../bin.v2/libs/iostreams/build/vacpp/debug vacpp.compile.c++ ../../../bin.v2/libs/iostreams/build/vacpp/debug/file_descriptor.o "../../../libs/iostreams/src/file_descriptor.cpp", line 400.6: 1540-1140 (S) The member "void open64(handle_type, file_descriptor_flags)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 404.6: 1540-1140 (S) The member "void open64(handle_type, bool)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 424.6: 1540-1140 (S) The member "void open64(const std::string &amp;, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 427.6: 1540-1140 (S) The member "void open64(const char *, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 447.6: 1540-1140 (S) The member "void open64(const path &amp;, std::ios::openmode, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 493.6: 1540-1140 (S) The member "void open64(handle_type, file_descriptor_flags)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 497.6: 1540-1140 (S) The member "void open64(handle_type, bool)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 513.6: 1540-1140 (S) The member "void open64(const std::string &amp;, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 517.6: 1540-1140 (S) The member "void open64(const char *, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 521.6: 1540-1140 (S) The member "void open64(const path &amp;, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 565.6: 1540-1140 (S) The member "void open64(handle_type, file_descriptor_flags)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 569.6: 1540-1140 (S) The member "void open64(handle_type, bool)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 585.6: 1540-1140 (S) The member "void open64(const std::string &amp;, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 589.6: 1540-1140 (S) The member "void open64(const char *, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 593.6: 1540-1140 (S) The member "void open64(const path &amp;, std::ios::openmode)" must be declared in its containing class definition. "../../../libs/iostreams/src/file_descriptor.cpp", line 364.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 364.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 369.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 369.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 389.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "const std::_LFS_ON::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;". "../../../libs/iostreams/src/file_descriptor.cpp", line 389.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 460.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor_source::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 460.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 465.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor_source::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 465.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 482.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "const std::_LFS_ON::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;". "../../../libs/iostreams/src/file_descriptor.cpp", line 482.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 533.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor_sink::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 533.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 538.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "boost::iostreams::file_descriptor_sink::handle_type". "../../../libs/iostreams/src/file_descriptor.cpp", line 538.8: 1540-1205 (I) The error occurred while converting to parameter 1 of "open64(const char *, int, ...)". "../../../libs/iostreams/src/file_descriptor.cpp", line 555.8: 1540-0256 (S) A parameter of type "const char *" cannot be initialized with an expression of type "const std::_LFS_ON::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;". </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7986 Trac 1.4.3 Kevin Burge <kevin.burge@…> Tue, 05 Feb 2013 22:32:25 GMT attachment set https://svn.boost.org/trac10/ticket/7986 https://svn.boost.org/trac10/ticket/7986 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">iostreams.patch</span> </li> </ul> <p> Patch of file_descriptor.hpp </p> Ticket viboes Mon, 13 Jan 2014 22:30:06 GMT type changed https://svn.boost.org/trac10/ticket/7986#comment:1 https://svn.boost.org/trac10/ticket/7986#comment:1 <ul> <li><strong>type</strong> <span class="trac-field-old">Support Requests</span> → <span class="trac-field-new">Bugs</span> </li> </ul> Ticket