<div dir="ltr"><div>Hi Nathan,<br>I am able to reproduce this error on our Dashboard machine; it should be working and clearly it's not at the moment.</div><div><br></div><div>I will investigate...<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">----------<br>Chuck Atkins<br>Staff R&D Engineer, Scientific Computing<br>Kitware, Inc.<br></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Tue, Dec 19, 2017 at 11:48 AM, Nathan Strong <span dir="ltr"><<a href="mailto:gblues+cmake@gmail.com" target="_blank">gblues+cmake@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I am having difficulty building CMake on AIX 7.1 using IBM XL C 13.1.3, which seems to be the newest version as of April 2017.</div><div><br></div><div>The bootstrap script fails with the following error:</div><div><br></div><div>------------------------------<wbr>---------------<br>CMake 3.10.1, Copyright 2000-2017 Kitware, Inc. and Contributors<br>Found XL toolchain<br>C compiler on this system is: xlc <br>------------------------------<wbr>---------------<br>Error when bootstrapping CMake:<br>Cannot find a C++ compiler supporting C++11 on this system.<br>Please specify one using environment variable CXX.<br>See cmake_bootstrap.log for compilers attempted.<br>------------------------------<wbr>---------------<br>Log of errors: src/cmake-3.10.1/Bootstrap.cmk<wbr>/cmake_bootstrap.log<br>------------------------------<wbr>---------------<br></div><div><br></div><div>Given
that AIX is explicitly listed as a supported platform, and I am using
the latest version of the IBM AIX compiler, I find this error dubious.<br></div><div><br></div><div>Below
is a the contents of the cmake_bootstrap.log, where we can see that it
does try to use the appropriate -q flag to enable the compiler's
supported C++11 features.</div><div><br></div><div>Is XL C simply unsupported?</div><div><br></div><div>--- paste below ---</div>Checking for XL toolchain<br>Try: xlc<br>Line: xlc cmake_bootstrap_18350136_test.<wbr>c -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br>int main() { return 0; }<br>------------------------------<wbr>------------<br>Test succeeded<br>Try: xlC<br>Line: xlC cmake_bootstrap_18350136_test.<wbr>cpp -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br>int main() { return 0; }<br>------------------------------<wbr>------------<br>Test succeeded<br>Checking whether 'xlc ' works.<br>Try: xlc<br>Line: xlc cmake_bootstrap_18350136_test.<wbr>c -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#ifdef __cplusplus<br># error "The CMAKE_C_COMPILER is set to a C++ compiler"<br>#endif<br><br>#if defined(__sun) && __STDC_VERSION__ < 199901L<br>#error "On Solaris we need C99."<br>#endif<br><br>#include <stdio.h><br><br>int main(int argc, char* argv[])<br>{<br> printf("%d%c", (argv != 0), (char)0x0a);<br> return argc - 1;<br>}<br><br>------------------------------<wbr>------------<br>1<br>Test succeeded<br>Checking whether 'xlC ' works.<br>Try: xlC<br>Line: xlC cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC ' works.<br>Try: xlC<br>Line: xlC cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC -qlanglvl=extended1y' works.<br>Try: xlC<br>Line: xlC -qlanglvl=extended1y cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>1540-5200 (W) The option "langlvl=extended1y" is not supported.<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC ' works.<br>Try: xlC<br>Line: xlC cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC -std=gnu++11' works.<br>Try: xlC<br>Line: xlC -std=gnu++11 cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>/opt/IBM/xlC/13.1.3/bin/.orig/<wbr>xlC: 1501-210 (W) command option t contains an incorrect subargument<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC -qlanglvl=extended0x' works.<br>Try: xlC<br>Line: xlC -qlanglvl=extended0x cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC -qlanglvl=extended0x' works.<br>Try: xlC<br>Line: xlC -qlanglvl=extended0x cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile<br>Checking whether 'xlC -qlanglvl=extended0x' works.<br>Try: xlC<br>Line: xlC -qlanglvl=extended0x cmake_bootstrap_18350136_test.<wbr>cxx -o cmake_bootstrap_18350136_test<br>---------- file -----------------------<br><br>#include <iostream><br>#include <memory><br>#include <unordered_map><br><br>#if __cplusplus < 201103L<br>#error "Compiler is not in a mode aware of C++11."<br>#endif<br><br>#if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140<br>#error "SunPro <= 5.13 mode not supported due to bug in move semantics."<br>#endif<br><br>class Class<br>{<br>public:<br> int Get() const { return this->Member; }<br>private:<br> int Member = 1;<br>};<br>int main()<br>{<br> auto const c = std::unique_ptr<Class>(new Class);<br> std::cout << c->Get() << std::endl;<br> return 0;<br>}<br><br>------------------------------<wbr>------------<br>"/opt/IBM/xlC/13.1.3/include/u<wbr>nordered_map",
line 71.5: 1540-0859 (S) #error directive: To use the unordered map
library, macro __IBMCPP_TR1__ must be defined<br>by user to non zero integer value..<br>"cmake_bootstrap_18350136_test<wbr>.cxx", line 7.2: 1540-0859 (S) #error directive: "Compiler is not in a mode aware of C++11.".<br>Test failed to compile</div>
<br>--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/<wbr>CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://cmake.org/mailman/listinfo/cmake" rel="noreferrer" target="_blank">https://cmake.org/mailman/<wbr>listinfo/cmake</a><br>
<br></blockquote></div><br></div></div>