Opened 10 years ago
Last modified 9 years ago
#7986 new Bugs
iostreams fails to compile on AIX7 XLC11 with _LARGE_FILES
Reported by: | Owned by: | Jonathan Turkanis | |
---|---|---|---|
Milestone: | To Be Determined | Component: | iostreams |
Version: | Boost 1.52.0 | Severity: | Problem |
Keywords: | Cc: |
Description
AIX version: 7100.01.05.1228 VACPP version: 11.1.0.12
Compiling iostreams library with _LARGE_FILES support causes the below compilation errors.
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.
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 &, 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 &, 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 &, 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 &, 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 &, 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 &, 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<char,std::char_traits<char>,std::allocator<char> >". "../../../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<char,std::char_traits<char>,std::allocator<char> >". "../../../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<char,std::char_traits<char>,std::allocator<char> >".
Attachments (1)
Change History (2)
by , 10 years ago
Attachment: | iostreams.patch added |
---|
comment:1 by , 9 years ago
Type: | Support Requests → Bugs |
---|
Patch of file_descriptor.hpp