[CMake] Tweaking/disabling timeout for "Check for working CXX compiler"
Hi! FreeBSD project use userspace qemu emulation to cross-build packages for some architectures, namely arm. This worked great for most packages, however ones using cmake tend to fail randomly. I couldn't reproduce these failures, but after we've updated cmake to 3.3.1 which is more verbose, the cause became apparent. Example failure log: http://beefy8.nyi.freebsd.org/data/head-armv6-default/p396164_s287479/logs/flare-game-0.19_1.log Relevant excerpt: --- -- Check for working CXX compiler: /nxb-bin/usr/bin/c++ CMake Error: Generator: execution of make failed. Make command was: "/usr/bin/make" "cmTryCompileExec920170445/fast" -- Check for working CXX compiler: /nxb-bin/usr/bin/c++ -- broken CMake Error at /usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:54 (message): The C++ compiler "/nxb-bin/usr/bin/c++" is not able to compile a simple test program. It fails with the following output: ... Linking CXX executable cmTryCompileExec920170445 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec920170445.dir/link.txt --verbose=1 /nxb-bin/usr/bin/c++ -O2 -pipe -mfloat-abi=softfp -fno-strict-aliasing CMakeFiles/cmTryCompileExec920170445.dir/testCXXCompiler.cxx.o -o cmTryCompileExec920170445 Process terminated due to timeout Generator: execution of make failed. Make command was: "/usr/bin/make" ... --- As expected, emulated build is much slower than native one (even though we try to use native (amd64) cross(arm)-compiler (and some tools) instead of using fully emulated build). Package builds are also highly concurrent. It seems like cmake timeout for these compiler tests is too small for this environment and it fires frequently. The question is obvious: where is this timeout defined, what value is it set to exactly and is it tunable? -- Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D amd...@amdmi3.ru ..: jabber: amd...@jabber.ru http://amdmi3.ru -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] CMake + MPI
The only exception to that (which I am aware of) is if you are on a CRAY system where the MPI (and BLAS and LAPACK) are baked into the compiler wrappers (cc, ftn, etc). In those situations, you actually do not want to run find_package(MPI) or it will throw errors. Tim - Original Message - From: "Andreas Naumann" To: cmake@cmake.org Sent: Tuesday, September 8, 2015 8:07:38 AM Subject: Re: [CMake] CMake + MPI Hi Nico, I just use find_package(MPI REQUIRED) and use the given MPI_CXX_LIBRARIES and MPI_CXX_INCLUDE_PATH. Recent mpi wrappers should support support interspection. Regards, Andreas Am 08.09.2015 um 13:01 schrieb Nico Schlömer: > Hi everyone, > > When it comes to compiling and linking, the MPI world is quite a mess. > Sometimes, vendors make you link and include certain > libraries/directories, sometimes you are supposed to simply use a > compiler wrapper, often both. > > What's the recommended way of dealing with MPI in CMake? Do you > `find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? > Do you select a compiler wrapper from within the CMake file? From outside? > > Cheers, > Nico > > -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] CMake [nmake target] is adding backslash at end of cd command
On 9/4/2015 10:17 AM, André Netzeband wrote: > I have a very strange issue with generated nmake makefiles from cmake 3.3.1 Is this problem new in 3.3 or are you just reporting this as the version you are using? > In a very complex project with many sub-cmake files (Ogre3D) the > generated nmake makefiles (build.make) contain backslashes at the end of > some cd commands. That project turns on the CMAKE_USE_RELATIVE_PATHS option which is documented as not fully implemented and unsupported: http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_USE_RELATIVE_PATHS.html That option should not be used. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] CMake + MPI
Hi Nico, I just use find_package(MPI REQUIRED) and use the given MPI_CXX_LIBRARIES and MPI_CXX_INCLUDE_PATH. Recent mpi wrappers should support support interspection. Regards, Andreas Am 08.09.2015 um 13:01 schrieb Nico Schlömer: Hi everyone, When it comes to compiling and linking, the MPI world is quite a mess. Sometimes, vendors make you link and include certain libraries/directories, sometimes you are supposed to simply use a compiler wrapper, often both. What's the recommended way of dealing with MPI in CMake? Do you `find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? Do you select a compiler wrapper from within the CMake file? From outside? Cheers, Nico -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[CMake] CMake + MPI
Hi everyone, When it comes to compiling and linking, the MPI world is quite a mess. Sometimes, vendors make you link and include certain libraries/directories, sometimes you are supposed to simply use a compiler wrapper, often both. What's the recommended way of dealing with MPI in CMake? Do you `find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? Do you select a compiler wrapper from within the CMake file? From outside? Cheers, Nico -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] General cross platform stating place
Hi, On Monday 07 September 2015 23:47:35 Aaron Gray wrote: > cmake_minimum_required(VERSION 2.6) Just as a side note: if you need to support cmake 2.6, that's fine. However, if you are starting a new project and do not *need* to limit yourself to cmake 2.6, develop for a cmake version that as new as can be supported by your target platforms. (Even if you chose the newest cmake it will get kind of old within the lifetime of your project *g*) > set(CMAKE_AR /usr/bin/ar CACHE FILEPATH "Archiver") Why do you set CMAKE_AR? > It runs fine on Windows with MSVC, seems to be failing on MSYS :- MSVC doesn't use CMAKE_AR, so there should be no problems here. MSYS obviously tries to use CMAKE_AR, which you set to the unlikely (on windows) path of /usr/bin/ar. Johannes -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake