[Dune] STD Thread that can not be run on Cray XC30 interactively crashed build process ?

Benedikt Oswald benedikt.oswald at lspr.ch
Tue Mar 24 15:09:44 CET 2015


Hello Jö,

thanks for your suggestion.
In fact, I assume that the frontend of the Cray does some sort of cross
compilation...however,
one can not just run a test program on the compute nodes but it needs to
be submitted as a batch
job. So, it should be possible to just forbid dunecontrol to run test
programs. I seem to remember
that this was possible in the old days of the autotools based build system ?

Greetings, Benedikt


Am 24/03/15 um 14:23 schrieb Jö Fahlke:
> Am Tue, 24. Mar 2015, 13:30:40 +0100 schrieb Benedikt Oswald:
>> Date: Tue, 24 Mar 2015 13:30:40 +0100
>> From: Benedikt Oswald <benedikt.oswald at lspr.ch>
>> To: Dune <dune at dune-project.org>
> Hmm, why can the tests not execute?
>
> - Is the host architecture different from the build architecture?  Then this
>   should be a proper cross compile, and cmake should know about it, and  the
>   test is supposed to be suppressed.
>
> - Are the architectures the same, but the compiled programs cannot run for
>   some other reason?  Then I would like to learn more about that.
>
> I don't quiet understand the cmake message.  It appears to me like cmake does
> not even try to run the executable, at least I cannot see it trying.  It looks
> to me like it is simply returning FAILED_TO_RUN after successfully compiling.
> This is exactly the behaviour expected when crosscompiling.  But when
> crosscompiling, our test scripts should skip the test altogether and just
> assume everything is OK (failing un a unit test or at runtime instead).  Maybe
> our "are we crosscompiling"-detection is flawed?  Which version of cmake are
> you using?
>
> In any case, have a look at the end of
> https://cgit.dune-project.org/repositories/dune-common/tree/cmake/modules/CheckCXX11Features.cmake
> (the message() command).  Did you get that message?  Does it help setting the
> variables mentioned there?  (-D... option to cmake)
>
> Regards,
> Jö.
>
>> Dear Dune,
>>
>> I am currently trying to install Dune on a Cray XC30 & the build process
>> terminates
>> when testing for std threads (cf. output below) I have the impression
>> that it wants
>> to run the test which is not possible during the build process.
>>
>> How can I prevent the build system from trying to run this test ?
>> Are there other tests that I should prevent from running ?
>>
>> Greetings & thanks,
>>
>> Benedikt
>>
>> ================================================================
>> dune: trunk version
>> gcc 4.9.2
>> cray libsci 13.0.1
>> cray mpich 7.1.1
>>
>>
>>
>> ================================================================
>> performing C++ SOURCE FILE Test STDTHREAD_WORKS failed with the
>> following output:
>> Change Dir:
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp
>>
>> Run Build Command:/usr/bin/gmake "cmTryCompileExec3977336724/fast"
>> /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3977336724.dir/build.make
>> CMakeFiles/cmTryCompileExec3977336724.dir/build
>> gmake[1]: Entering directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_progress_report
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CMakeFiles
>> 1
>> Building CXX object CMakeFiles/cmTryCompileExec3977336724.dir/src.cxx.o
>> /opt/cray/craype/2.2.1/bin/CC    -Wall -O2
>> -I/users/boswald/extlib/superludist/3.3/cray-mpich/7.1.1/gcc/4.9.2/SRC
>> -std=c++11  -DSTDTHREAD_WORKS   -o
>> CMakeFiles/cmTryCompileExec3977336724.dir/src.cxx.o -c
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/src.cxx
>> Linking CXX executable cmTryCompileExec3977336724
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_link_script
>> CMakeFiles/cmTryCompileExec3977336724.dir/link.txt --verbose=1
>> /opt/cray/craype/2.2.1/bin/CC   -Wall -O2
>> -I/users/boswald/extlib/superludist/3.3/cray-mpich/7.1.1/gcc/4.9.2/SRC
>> -std=c++11  -DSTDTHREAD_WORKS   
>> CMakeFiles/cmTryCompileExec3977336724.dir/src.cxx.o  -o
>> cmTryCompileExec3977336724 -rdynamic
>> gmake[1]: Leaving directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>>
>> Return value: FAILED_TO_RUN
>> Source file was:
>>
>>       #include <thread>
>>
>>       void dummy() {}
>>
>>       int main() {
>>         std::thread t(dummy);
>>         t.join();
>>       }
>>    
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeError.log
>> lines 1-26/26 (END)
>>
>>
>>
>> ================
>>
>> Determining if files pthread.h exist passed with the following output:
>> Change Dir:
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp
>>
>> Run Build Command:/usr/bin/gmake "cmTryCompileExec2957165257/fast"
>> /usr/bin/gmake -f CMakeFiles/cmTryCompileExec2957165257.dir/build.make
>> CMakeFiles/cmTryCompileExec2957165257.dir/build
>> gmake[1]: Entering directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_progress_report
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CMakeFiles
>> 1
>> Building C object
>> CMakeFiles/cmTryCompileExec2957165257.dir/CheckIncludeFiles.c.o
>> /opt/cray/craype/2.2.1/bin/cc    -o
>> CMakeFiles/cmTryCompileExec2957165257.dir/CheckIncludeFiles.c.o   -c
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CheckIncludeFiles.c
>> Linking C executable cmTryCompileExec2957165257
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_link_script
>> CMakeFiles/cmTryCompileExec2957165257.dir/link.txt --verbose=1
>> /opt/cray/craype/2.2.1/bin/cc      
>> CMakeFiles/cmTryCompileExec2957165257.dir/CheckIncludeFiles.c.o  -o
>> cmTryCompileExec2957165257 -rdynamic
>> gmake[1]: Leaving directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>>
>>
>> Determining if the pthread_create exist passed with the following output:
>> Change Dir:
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp
>>
>> Run Build Command:/usr/bin/gmake "cmTryCompileExec3201665806/fast"
>> /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3201665806.dir/build.make
>> CMakeFiles/cmTryCompileExec3201665806.dir/build
>> gmake[1]: Entering directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_progress_report
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CMakeFiles
>> 1
>> Building C object
>> CMakeFiles/cmTryCompileExec3201665806.dir/CheckSymbolExists.c.o
>> /opt/cray/craype/2.2.1/bin/cc    -o
>> CMakeFiles/cmTryCompileExec3201665806.dir/CheckSymbolExists.c.o   -c
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CheckSymbolExists.c
>> Linking C executable cmTryCompileExec3201665806
>> /apps/daint/cmake/2.8.12.2/bin/cmake -E cmake_link_script
>> CMakeFiles/cmTryCompileExec3201665806.dir/link.txt --verbose=1
>> /opt/cray/craype/2.2.1/bin/cc      
>> CMakeFiles/cmTryCompileExec3201665806.dir/CheckSymbolExists.c.o  -o
>> cmTryCompileExec3201665806 -rdynamic
>> gmake[1]: Leaving directory
>> `/scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp'
>>
>> File
>> /scratch/daint/boswald/gitwork/dune-common/build-cmake/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
>> /* */
>> #include <pthread.h>
>>
>> int main(int argc, char** argv)
>> {
>>   (void)argv;
>> #ifndef pthread_create
>>   return ((int*)(&pthread_create))[argc];
>> #else
>>   (void)argc;
>>   return 0;
>> #endif
>> }
>>
>>
>>
>>
>>
>>
>>
>> -- 
>> ------------------------------------------------------------------------------------------------
>> Dr. sc. techn. Benedikt Oswald - first engineer - LSPR AG - phone - +41 43 366 90 74
>> Technoparkstrasse 1, CH-8005 Zürich, benedikt.oswald at lspr.ch - labor vincit omnia improbus
>> ------------------------------------------------------------------------------------------------
>>
>>
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune

-- 
------------------------------------------------------------------------------------------------
Dr. sc. techn. Benedikt Oswald - first engineer - LSPR AG - phone - +41 43 366 90 74
Technoparkstrasse 1, CH-8005 Zürich, benedikt.oswald at lspr.ch - labor vincit omnia improbus
------------------------------------------------------------------------------------------------





More information about the Dune mailing list