Opened 13 years ago
Closed 8 years ago
#3324 closed Bugs (wontfix)
AIX/i5OS @ Visual Age 6: is_member_pointer.hpp", line 54.63: 1540-0403 (S) "template <class T, class U> struct boost::is_member_pointer<U T::* const>" is already defined
Reported by: | anonymous | Owned by: | Antony Polukhin |
---|---|---|---|
Milestone: | Boost 1.58.0 | Component: | variant |
Version: | Boost 1.39.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Hi,
I am getting the below error on AIX/i5OS using Visual Age 6 and Boost 1.39.0 when including Boost header files.
/QOpenSys/vac600/usr/vacpp/bin/xlC_r -+ -DHAVE_DLFCN_H -Dmysqlcppconn_EXPORTS -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -Iboost-1_39 -I/home/mysqldev/bs/i5os-ppc32/connector-common-32bit/mysql-server-gpl-static/include -I/home/mysqldev/bs/connector-c++-32bit/src/mysql-connector-c++-1.0.6r716_20090806_1555 -I/home/mysqldev/bs/connector-c++-32bit/src/mysql-connector-c++-1.0.6r716_20090806_1555/cppconn -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -I/home/mysqldev/bs/i5os-ppc32/connector-common-32bit/mysql-server-gpl-static/include -g -ma -qstrict -qoptimize=0 -qmaxmem=8192 -DUNIV_AIX -o CMakeFiles/mysqlcppconn.dir/mysql_connection.cpp.o -c /mysql_connection.cpp "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 54.63: 1540-0403 (S) "template <class T, class U> struct boost::is_member_pointer<U T::* const>" is already defined. "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 51.63: 1540-0425 (I) "is_member_pointer<U T::*>" is defined on line 51 of "boost-1_39/boost/type_traits/is_member_pointer.hpp". "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 55.63: 1540-0403 (S) "template <class T, class U> struct boost::is_member_pointer<U T::* volatile>" is already defined. "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 51.63: 1540-0425 (I) "is_member_pointer<U T::*>" is defined on line 51 of "boost-1_39/boost/type_traits/is_member_pointer.hpp". "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 56.63: 1540-0403 (S) "template <class T, class U> struct boost::is_member_pointer<U T::* const volatile>" is already defined. "boost-1_39/boost/type_traits/is_member_pointer.hpp", line 51.63: 1540-0425 (I) "is_member_pointer<U T::*>" is defined on line 51 of "boost-1_39/boost/type_traits/is_member_pointer.hpp".
Boost 1.39.0 has been installed from source as follows:
./bootstrap.sh --prefix=/nfstmp2/cteam/bs/aix5.3-ppc32/connector-common-32bit/boost --libdir=/nfstmp2/cteam/bs/aix5.3-ppc32/connector-common-32bit/boost/lib --with-toolset=vacpp ./bjam --without-date_time --without-filesystem --without-graph --without-iostreams --without-math --without-mpi --without-program_options --without-python --without-regex --without-serialization
I can reproduce the above error on AIX 5.3 (PPC32, PPC64) and i5OS (PPC32, PPC64). All machines are using Visual Age 6.
C compiler : 6.0.0.17 C++ compiler : 6.0.0.18
Thanks in advance, Ulf
Attachments (1)
Change History (10)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Our regression tests with Visual Age 10 are passing for that one, so this looks like a compiler bug that has been fixed. What's the value of IBMCPP for the compiler you're using?
John.
comment:3 by , 13 years ago
Yes, it could be a compiler bug. I am using Visual Age 6.
printf("%X", IBMCPP) => 258 printf("%d", IBMCPP) => 600
Thanks, Ulf
comment:4 by , 13 years ago
Can you confirm that the attached patch fixes things?
If so I'll commit to trunk.
Thanks, John.
comment:5 by , 13 years ago
Thanks for the patch, John! I have been on vacation in the past week. I tried the patch today and it solves the is_member_pointer.hpp problem.
However, I am now getting another error about a circular reference:
/usr/vacpp/bin/xlC_r -+ -Dmysqlcppconn_EXPORTS -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -I/nfstmp2/boost/include/boost-1_39 -Imysql-server-gpl-static/include -Isrc/mysql-connector-c++-1.0.6 -Isrc/mysql-connector-c++-1.0.6/cppconn -D_ALL_SOURCE -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -I/nfstmp2/mysql-server-gpl-static/include -g -ma -qstrict -qoptimize=0 -qmaxmem=8192 -DUNIV_AIX -o CMakeFiles/mysqlcppconn.dir/mysql_connection.cpp.o -cmysql-connector-c++-1.0.6/driver/mysql_connection.cpp "boost/include/boost-1_39/boost/variant/variant.hpp", line 918.27: 1540-0100 (S) The class qualifier "boost::mpl::eval_if<boost::variant<long long,double,bool,class sql::SQLString,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::..." contains a circular reference back to "boost::variant<long long,double,bool,sql::SQLString,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::de...". "boost/include/boost-1_39/boost/mpl/if.hpp", line 63.68: 1540-0700 (I) The previous message was produced while processing "struct boost::variant<long long, double,bool,class sql::SQLString,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,struct boost::detail::variant::void_,stru...". "[path_to]/driver/mysql_connection.cpp", line 86.1: 1540-0700 (I) The previous message was produced while processing "sql::mysql::My SQL_Connection::MySQL_Connection(const SQLString &, const SQLString &, const SQLString &)".
Thanks, Ulf
comment:6 by , 13 years ago
Component: | type_traits → variant |
---|---|
Owner: | changed from | to
I'm not familiar with Variant, so I'm reassigning the issue.
The type_traits patch has been applied to Trunk BTW: it won't be in 1.40 though as that's already in beta.
John.
comment:7 by , 13 years ago
Fair enough John! Thanks for your efforts.
Whoever takes the ticket next: I can easily go back to Boost 1.34 (or even Boost 1.31), if that helps. I am aware of the age of the build platform we use.
Ulf
comment:8 by , 8 years ago
Milestone: | Boost 1.40.0 → Boost 1.58.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Could someone reproduce this issue?
Otherwise this will be marked as "wontfix" (I have no access to platform, there are no regression testers running tests on this platform and that platform looks like one of those, that are not supported any more by Boost community).
comment:9 by , 8 years ago
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
Forgot to add my address.