www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - ldmd2 isn't built for ldc 1.8.0-beta1

reply Thomas Mader <thomas.mader gmail.com> writes:
The package build script for ldc for the Nix package manager 
produced the ldmd2 binary in the bin directory next to the ldc 
binary.
With this beta the binary is missing. Don't have a clue why it 
isn't build anymore.
Feb 25 2018
parent reply kinke <noone nowhere.com> writes:
On Sunday, 25 February 2018 at 18:37:52 UTC, Thomas Mader wrote:
 The package build script for ldc for the Nix package manager 
 produced the ldmd2 binary in the bin directory next to the ldc 
 binary.
 With this beta the binary is missing. Don't have a clue why it 
 isn't build anymore.
I don't remember any relevant changes. The make/ninja target is 'ldmd2' and it's included in the 'all' target.
Feb 25 2018
parent reply Thomas Mader <thomas.mader gmail.com> writes:
On Sunday, 25 February 2018 at 20:26:03 UTC, kinke wrote:
 On Sunday, 25 February 2018 at 18:37:52 UTC, Thomas Mader wrote:
 The package build script for ldc for the Nix package manager 
 produced the ldmd2 binary in the bin directory next to the ldc 
 binary.
 With this beta the binary is missing. Don't have a clue why it 
 isn't build anymore.
I don't remember any relevant changes. The make/ninja target is 'ldmd2' and it's included in the 'all' target.
I looked more into it and the ldmd2 binary is produced but some tests fail because they use another path to ldmd2 which is not available anymore. Now I wonder why those tests don't use the ldmd2 I am using to build everything and all other tests use which are successful. ......................................................***Failed 0.01 sec make: Entering directory '/private/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/runtime/druntime/test/typeinfo' /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1 src/build/bin/ldmd2 -w -I../../src -I../../import -Isrc -defaultlib= -debuglib= -dip1000 -L/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/l b/libdruntime-ldc.a -O -release -of/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/runtime/druntime-test typeinfo/comparison src/comparison.d make: /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1- rc/build/bin/ldmd2: Command not found make: *** [Makefile:14: /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/runtime/druntime-test- ypeinfo/comparison] Error 127 make: Leaving directory '/private/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/runtime/druntime/test/typeinfo' ......................................................***Failed 0.01 sec make: Entering directory '/private/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/runtime/druntime/test/unittest' Testing good /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1 src/build/bin/ldmd2 -w -I../../src -I../../import -Isrc -defaultlib= -debuglib= -dip1000 -L/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/l b/libdruntime-ldc.a -O -release -of/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/runtime/druntime-test- nittest/tester_good customhandler.d -version=PassNoPrintout make: /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1- rc/build/bin/ldmd2: Command not found make: *** [Makefile:37: /tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/build/runtime/druntime-test unittest/good.done] Error 127 make: Leaving directory '/private/tmp/nix-build-ldcUnittests-1.8.0-beta1.drv-2/ldc-1.8.0-beta1-src/runtime/druntime/test/unittest' ............................................................ Passed 4.90 sec 99% tests passed, 10 tests failed out of 790 Total Test time (real) = 34.61 sec The following tests FAILED: 772 - druntime-test-allocations (Failed) 774 - druntime-test-coverage (Failed) 776 - druntime-test-cycles (Failed) 778 - druntime-test-exceptions (Failed) 780 - druntime-test-imports (Failed) 782 - druntime-test-init_fini (Failed) 784 - druntime-test-profile (Failed) 786 - druntime-test-thread (Failed) 788 - druntime-test-typeinfo (Failed) 790 - druntime-test-unittest (Failed) Errors while running CTest
Feb 26 2018
parent reply kinke <noone nowhere.com> writes:
On Monday, 26 February 2018 at 18:16:50 UTC, Thomas Mader wrote:
 I looked more into it and the ldmd2 binary is produced but some 
 tests fail because they use another path to ldmd2 which is not 
 available anymore.
 Now I wonder why those tests don't use the ldmd2 I am using to 
 build everything and all other tests use which are successful.
Those druntime standalone tests have been introduced in v1.8. They use the same ldmd2 executable as dmd-testsuite, i.e., not the one in the installation dir, but the one in the build dir. See runtime/StandaloneDRuntimeTests.cmake. All other tests use the ldc2 executable (in the build dir).
Feb 26 2018
parent reply Thomas Mader <thomas.mader gmail.com> writes:
On Monday, 26 February 2018 at 18:31:29 UTC, kinke wrote:
 Those druntime standalone tests have been introduced in v1.8. 
 They use the same ldmd2 executable as dmd-testsuite, i.e., not 
 the one in the installation dir, but the one in the build dir. 
 See runtime/StandaloneDRuntimeTests.cmake.
 All other tests use the ldc2 executable (in the build dir).
Ok this is the problem. I need to run the druntime and phobos tests independently from the main build and the other tests and this way the ldmd2 binary isn't produced. Any way to work around that? In the second stage I am doing this: make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 druntime-test-runner druntime-test-runner-debug phobos2-test-runner phobos2-test-runner-debug ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest\" For completeness, here are the checks I am doing in the first stage which should include all other tests: ctest --output-on-failure -R "ldc2-unittest" ctest -V -R "lit-tests" DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
Feb 26 2018
parent reply kinke <noone nowhere.com> writes:
On Monday, 26 February 2018 at 19:20:42 UTC, Thomas Mader wrote:
 Ok this is the problem. I need to run the druntime and phobos 
 tests independently from the main build and the other tests and 
 this way the ldmd2 binary isn't produced.
 Any way to work around that?
 In the second stage I am doing this:

 make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 
 druntime-test-runner druntime-test-runner-debug 
 phobos2-test-runner phobos2-test-runner-debug

 ctest -j$NIX_BUILD_CORES --output-on-failure -E 
 \"dmd-testsuite|lit-tests|ldc2-unittest\"

 For completeness, here are the checks I am doing in the first 
 stage which should include all other tests:


         ctest --output-on-failure -R "ldc2-unittest"

         ctest -V -R "lit-tests"

         DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R 
 "dmd-testsuite"
Well then try moving the druntime standalone tests to the first stage by adjusting the regex - something like `ctest -R "^druntime-test-"` as extra step in the first stage and excluding it via `ctest -E "...|^druntime-test-"` in the 2nd.
Feb 26 2018
parent reply Thomas Mader <thomas.mader gmail.com> writes:
On Monday, 26 February 2018 at 21:08:43 UTC, kinke wrote:
 Well then try moving the druntime standalone tests to the first 
 stage by adjusting the regex - something like `ctest -R 
 "^druntime-test-"` as extra step in the first stage and 
 excluding it via `ctest -E "...|^druntime-test-"` in the 2nd.
First stage ran through just fine, the second one though ran the druntime unittests too and deadlocked at the core.atomic tests. (lldb) bt all signal SIGSTOP libsystem_kernel.dylib`__semwait_signal + 10 libsystem_pthread.dylib`_pthread_join + 626 druntime-test-runner`_D4core6thread6Thread4joinMFbZC6object9Throwable + 22 druntime-test-runner`_D4core6atomic29__unittest_core_atomic_1842_5FZv + 203 druntime-test-runner`_D4core6atomic10__unittestZ + 100 druntime-test-runner`_D11test_runner6doTestFPS6object10ModuleInfoKS4core7runti e14UnitTestResultZv + 68 druntime-test-runner`_D11test_runner11testModulesFZS4core7run ime14UnitTestResult + 152 druntime-test-runner`_D11test_runner6testerFZS4core7runtime14UnitTestResult + 34 druntime-test-runner`runModuleUnitTests + 113 druntime-test-runner`_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZv + 31 druntime-test-runner`_d_run_main + 435 druntime-test-runner`_D4core6atomic29__unittest_core_atomic_18 2_5FZ9__lambda1MFZv + 32 druntime-test-runner`thread_entryPoint + 173 libsystem_pthread.dylib`_pthread_body + 340 libsystem_pthread.dylib`_pthread_start + 377 libsystem_pthread.dylib`thread_start + 13
Mar 03 2018
parent Thomas Mader <thomas.mader gmail.com> writes:
On Saturday, 3 March 2018 at 16:51:50 UTC, Thomas Mader wrote:
 On Monday, 26 February 2018 at 21:08:43 UTC, kinke wrote:
 Well then try moving the druntime standalone tests to the 
 first stage by adjusting the regex - something like `ctest -R 
 "^druntime-test-"` as extra step in the first stage and 
 excluding it via `ctest -E "...|^druntime-test-"` in the 2nd.
First stage ran through just fine, the second one though ran the druntime unittests too and deadlocked at the core.atomic tests.
I can't get a pure phobos test running in the second stage without some druntime tests failing. Now I just link the ldmd2 binary to build/bin/ to fix the package build.
Mar 04 2018