The recent Windows 10 "Anniversary Update" included an entire built-in 
Ubuntu (14.04) subsystem: 
https://msdn.microsoft.com/en-us/commandline/wsl/about

I've built a few different versions of deal.II on this system, including 
the candi build with Trilinos, p4est, etc. This was all painless, so 
definitely try it out if you can use the latest version of Windows.

It's actually called "Bash on Ubuntu on Windows", and it's marketed as just 
being a bash prompt useful for command line tools; but it appears much more 
capable than that. Also it can read/write from/to the entire Windows C: 
drive, which is the "/mnt/c" path in my question. This has been useful so 
that I can use Notepad++ and Paraview from Windows. "Bash on Ubuntu on 
Windows" currently isn't very good at forwarding graphics. Even gedit 
doesn't forward very well. There might be some low level magic that 
Microsoft has performed to make all of this work. Presently it appears that 
my issue is related to MS-DOS not allowing my ctest to do some inline file 
editing on my C: drive. But this is indeed to first issue I've had, so the 
system looks quite promising.

After some brief Googling, I think I might even be able to fix this issue 
if I could find where the code is that is causing the error "Can't do 
inplace edit on 
/mnt/c/Users/Alexander/UbuntuShared/dimice-heat-dealii/build/tests/cylinder.debug/output:
 
No such file or directory." Unfortunately I'm completely unfamiliar with 
the test system and I have not a clue.


On Wednesday, September 7, 2016 at 10:29:54 AM UTC+2, Jean-Paul Pelteret 
wrote:
>
> Great, glad that you sorted it out!
>
> By the way, there's recently been a discussion on GitHub 
> <https://github.com/dealii/dealii/issues/3060> related to running deal.II 
> on windows. Its interesting to hear that you've got it running on Windows 
> 10. Out of curiosity, how have you configured deal.II? Do you link it 
> against any external libraries?
>
> On Wednesday, September 7, 2016 at 10:07:06 AM UTC+2, Alex Zimmerman wrote:
>>
>> This might be a problem with my file system. I've been successfully using 
>> the Ubuntu subsystem on Windows 10 for the past few weeks, and that's where 
>> the odd "/mnt/c/Users..." path comes from in my question.
>>
>> I just tried this again at my home directory, and it worked. I thought I 
>> had tried running the test on my user project in my home directory, but I'm 
>> fairly sure I never tried this simple step-1 example there.
>>
>> So now this is working:
>>
>> $ ctest
>>
>>  
>>
>> Test project /home/zimmerman/temp/step-1/build
>>>     Start 1: tests/my_test.debug
>>> 1/1 Test #1: tests/my_test.debug ..............   Passed    5.51 sec
>>> 100% tests passed, 0 tests failed out of 1
>>> Total Test time (real) =   5.52 sec
>>
>>
>>
>> One of these days I'll ask a question that I don't answer myself a few 
>> minutes later :)
>>
>>
>> On Wednesday, September 7, 2016 at 9:57:33 AM UTC+2, Alex Zimmerman wrote:
>>>
>>> Maybe this is a bug, but I think it's more likely that I'm doing 
>>> something wrong here.
>>>
>>> I had tried to set up a test for my user code following the instructions 
>>> at https://www.dealii.org/developer/users/testsuite.html. This failed; 
>>> so I attempted to set this up with step-1, using the exact CMakeLists from 
>>> the "simple configuration" example and following the same steps to produce 
>>> the parameter file, configure the test, and run the test.
>>>
>>> Originally I was on my own branch of deal.II-8.5.0-pre; but now I've 
>>> reproduced the same problem with the latest release, 8.4.2.
>>>
>>> I configure, build, and run the test 
>>>
>>> $ cd step-1
>>> $ mkdir build
>>> $ cd build/
>>> $ cmake ..
>>>
>>>  
>>>
>>> -- Using the deal.II-8.4.2 installation found at 
>>>> /home/zimmerman/Installed/dealii-8.4.2
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_add_test.cmake
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_initialize_cached_variables.cmake
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_invoke_autopilot.cmake
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_pickup_tests.cmake
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_query_git_information.cmake
>>>> -- Include macro 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/macros/macro_deal_ii_setup_target.cmake
>>>> -- The C compiler identification is GNU 4.8.4
>>>> -- The CXX compiler identification is GNU 4.8.4
>>>> -- Check for working C compiler: /usr/bin/cc
>>>> -- Check for working C compiler: /usr/bin/cc -- works
>>>> -- Detecting C compiler ABI info
>>>> -- Detecting C compiler ABI info - done
>>>> -- Check for working CXX compiler: /usr/bin/c++
>>>> -- Check for working CXX compiler: /usr/bin/c++ -- works
>>>> -- Detecting CXX compiler ABI info
>>>> -- Detecting CXX compiler ABI info - done
>>>> -- Autopilot invoked
>>>> ###
>>>> #
>>>> #  Project  step-1  set up with  deal.II-8.4.2  found at
>>>> #      /home/zimmerman/Installed/dealii-8.4.2
>>>> #
>>>> #  CMAKE_BUILD_TYPE:          Debug
>>>> #
>>>> #  You can now run
>>>> #       $ make                - to compile and link the program
>>>> #       $ make run            - to (compile, link and) run the program
>>>> #
>>>> #       $ make debug          - to switch the build type to 'Debug'
>>>> #       $ make release        - to switch the build type to 'Release'
>>>> #
>>>> #       $ make edit_cache     - to change (cached) configuration 
>>>> variables
>>>> #                               and rerun the configure and generate 
>>>> phases of CMake
>>>> #
>>>> #       $ make strip_comments - to strip the source files in this
>>>> #                               directory off the documentation comments
>>>> #       $ make clean          - to remove the generated executable as 
>>>> well as
>>>> #                               all intermediate compilation files
>>>> #       $ make runclean       - to remove all output generated by the 
>>>> program
>>>> #       $ make distclean      - to clean the directory from _all_ 
>>>> generated
>>>> #                               files (includes clean, runclean and the 
>>>> removal
>>>> #                               of the generated build system)
>>>> #       $ make info           - to view this message again
>>>> #
>>>> #  Have a nice day!
>>>> #
>>>> ###
>>>> -- Found Perl: /usr/bin/perl (found version "5.18.2")
>>>> -- Configuring done
>>>> -- Generating done
>>>> -- Build files have been written to: 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build
>>>> zimmerman@GRS-LAPTOP:/mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build$
>>>>  
>>>> make
>>>> Scanning dependencies of target step-1
>>>> [100%] Building CXX object CMakeFiles/step-1.dir/step-1.cc.o
>>>> Linking CXX executable step-1
>>>> [100%] Built target step-1
>>>
>>>  
>>>
>>> $ ctest
>>>
>>>  
>>>
>>> Test project /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build
>>>>     Start 1: tests/my_test.debug
>>>> 1/1 Test #1: tests/my_test.debug ..............***Failed    0.59 sec
>>>> 0% tests passed, 1 tests failed out of 1
>>>> Total Test time (real) =   0.60 sec
>>>> The following tests FAILED:
>>>>           1 - tests/my_test.debug (Failed)
>>>> Errors while running CTest
>>>> zimmerman@GRS-LAPTOP:/mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build$
>>>>  
>>>> ctest
>>>> Test project /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build
>>>>     Start 1: tests/my_test.debug
>>>> 1/1 Test #1: tests/my_test.debug ..............***Failed    0.60 sec
>>>> 0% tests passed, 1 tests failed out of 1
>>>> Total Test time (real) =   0.60 sec
>>>> The following tests FAILED:
>>>>           1 - tests/my_test.debug (Failed)
>>>> Errors while running CTest
>>>
>>>
>>>
>>> Then investigating the error I find
>>>
>>> $ less Testing/Temporary/LastTest.log
>>>
>>>  
>>>
>>> Start testing: Sep 07 09:50 DST
>>>> ----------------------------------------------------------
>>>> 1/1 Testing: tests/my_test.debug
>>>> 1/1 Test: tests/my_test.debug
>>>> Command: "/usr/bin/cmake" "-DTRGT=my_test.debug.diff" 
>>>> "-DTEST=tests/my_test.debug" "-DEXPECT=PASSED" 
>>>> "-DBINARY_DIR=/mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build" 
>>>> "-DGUARD_FILE=/mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug/interrupt_guard.cc"
>>>>  
>>>> "-P" 
>>>> "/home/zimmerman/Installed/dealii-8.4.2/share/deal.II/scripts/run_test.cmake"
>>>> Directory: 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug
>>>> "tests/my_test.debug" start time: Sep 07 09:50 DST
>>>> Output:
>>>> ----------------------------------------------------------
>>>> Test tests/my_test.debug: DIFF
>>>> ===============================   OUTPUT BEGIN 
>>>>  ===============================
>>>> [ 33%] Built target step-1
>>>> [ 66%] Generating my_test.debug/output
>>>> Can't do inplace edit on 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug/output:
>>>>  
>>>> No such file or directory.
>>>> [100%] Generating my_test.debug/diff
>>>> numdiff: output: No such file or directory
>>>> tests/my_test.debug: BUILD successful.
>>>> tests/my_test.debug: RUN successful.
>>>> tests/my_test.debug: DIFF failed. ------ Source: 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/tests/my_test.output
>>>> tests/my_test.debug: DIFF failed. ------ Result: 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug/output
>>>> Check 
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug/output
>>>>  
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/tests/my_test.output
>>>> tests/my_test.debug: DIFF failed. ------ Diff:   
>>>> /mnt/c/Users/Alexander/UbuntuShared/help/temp/step-1/build/tests/my_test.debug/failing_diff
>>>> tests/my_test.debug: DIFF failed. ------ First 8 lines of numdiff/diff 
>>>> output:
>>>> tests/my_test.debug: DIFF failed. ------ First 50 lines diff output:
>>>> /usr/bin/diff: output: No such file or directory
>>>> make[3]: *** [tests/my_test.debug/diff] Error 1
>>>> make[2]: *** [tests/CMakeFiles/my_test.debug.diff.dir/all] Error 2
>>>> make[1]: *** [tests/CMakeFiles/my_test.debug.diff.dir/rule] Error 2
>>>> make: *** [my_test.debug.diff] Error 2
>>>>
>>>> tests/my_test.debug: ******    DIFF failed    *******
>>>> ===============================    OUTPUT END   
>>>> ===============================
>>>> Expected stage PASSED - aborting
>>>> CMake Error at 
>>>> /home/zimmerman/Installed/dealii-8.4.2/share/deal.II/scripts/run_test.cmake:140
>>>>  
>>>> (MESSAGE):
>>>>   *** abort
>>>>
>>>> <end of output>
>>>> Test time =   0.60 sec
>>>> ----------------------------------------------------------
>>>> Test Failed.
>>>> "tests/my_test.debug" end time: Sep 07 09:50 DST
>>>> "tests/my_test.debug" time elapsed: 00:00:00
>>>> ----------------------------------------------------------
>>>> End testing: Sep 07 09:50 DST 
>>>
>>>
>>> As I understand, the test it supposed to pipe the standard output of the 
>>> program to an output file that will be compared with the test file. It 
>>> appears to me that it's failing to produce this output file. I saw this 
>>> exact same behavior with both versions of deal.II (8.5.0-pre and 8.4.2) 
>>> that I've tried and also with both projects (my custom project and step-1). 
>>> I attached the project directory, which should be nearly identical to what 
>>> is shown in the "simple configuration" example.
>>>
>>> What am I missing?
>>>
>>> Thanks for your help!
>>>
>>> Alex
>>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to