On 5/25/2015 7:42 PM, Aparna Kumta wrote:
On 05/21/15 21:46, Edward Diener wrote:
On 5/21/2015 5:32 PM, Aparna Kumta wrote:
I am looking at my test run for vmd in develop branch. http://www.boost.org/development/tests/develop/developer/vmd.html under SunOS.
My tests are run with cxxflags="-compat=5 -library=stlport4" as configured in user-config.jam
An example of a test, http://www.boost.org/development/tests/develop/developer/output/oracle-sparc...
The test fails as follows:
"CC" -std=c++0x -std=c++11 -compat=5 -library=stlport4 -xO4 -mt -erroff=%none -m32 -KPIC -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I".." -c -o "/export/home/sstrunk-tester/boost_regression/boost_sparc-S2_stlport4/results/boost/bin.v2/libs/vmd/test/test_after_identifier_elem.test/sun-stlport4/release/threading-multi/test_after_identifier_elem.o"
"../libs/vmd/test/test_after_identifier_elem.cpp"
CC: -compat=5 can not be used with -std CC: -library=stlport4 cannot be used with -std=c++11
If I compile the test manually without '-std=c++0x -std=c++11', the test compiles OK.
%CC -compat=5 -library=stlport4 -xO4 -mt -erroff=%none -m64 -KPIC -DBOOST_AL0%L_NO_LIB=1 -DNDEBUG -I.. -c -o ./test_after_identifier_elem.o ../libs/vmd/test/test_after_identifier_elem.cpp %
It looks like boost_root/libs/vmd/test/Jamfile.v2 needs to be modified for this compiler. Any ideas on how this can be done?
I have updated the jam file in the 'develop' version. When you try again, after pulling the latest vmd from 'develop', there may still be a problem for SunOS but at least I will be able to tell what is causing it. The results on develop now fail with
"CC" -std=c++0x -compat=5 -library=stlport4 -xO4 -mt -erroff=%none -m32 -KPIC -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I".." -c -o "/export/home/sstrunk-tester/boost_regression/boost_sparc-S2_stlport4/results/boost/bin.v2/libs/vmd/test/test_after_array_elem.test/sun-stlport4/release/threading-multi/test_after_array_elem.o" "../libs/vmd/test/test_after_array_elem.cpp"
CC: -compat=5 can not be used with -std CC: -library=stlport4 cannot be used with -std=c++11
For Oracle Solaris Studio C++ compiler, -std=c++0x is equivalent to -std=c++11.
See http://www.boost.org/development/tests/develop/developer/output/oracle-sparc...
This is a Boost.predef problem. I am using predef in my jamfile to say that if a test uses gcc 4.3 or higher and the QNX OS is not being used, add the =std=c++0x option to the compilation of a VMD test. Even though I can clearly see in the predef tests for your setup that gcc is not being used as the compiler it is still acting as if gcc 4.3 or higher is being used for the VMD tests. I will create a separate message about the failure of predef to work properly here, and hopefully the predef author will look into this problem. As an aside the configuration which Boost VMD uses to determine whether a compiler supports variadic macros or not has always specified that for the Oracle C++ ( formerly Sun C++ ) compiler variadic macros are not supported. I need to update this based on the version of Oracle C++ being used as I believe that for Oracle C++ 12.3 and 12.4 variadic macros may be supported. You can override what the configuration file determines by adding -DBOOST_PP_VARIADICS=1 to your command line for the VMD tests if you know that your setup supports variadic macros. VMD tests will fail without compiler variadic macro support.