OCamllabs icon Home|Differences with the last checks|Previous runs


Building on ltsc2025-3

(from ocaml/opam:windows-server-mingw-ltsc2025-opam)
2026-03-08 18:43.17 ---> using "63e5ddb9687855d0a0c4c5e0088f813758807605401f3a88b07751088826ddff" from cache

C:/: (user (uid 1000) (gid 1000))

C:/: (env OPAMPRECISETRACKING 1)

C:/: (env OPAMUTF8 never)

C:/: (env OPAMEXTERNALSOLVER builtin-0install)

C:/: (env OPAMCRITERIA +removed)

C:/: (env CI true)

C:/: (env OPAM_HEALTH_CHECK_CI true)

C:/: (run (shell "ln -f /usr/local/bin/opam-dev.exe /usr/local/bin/opam.exe"))
2026-03-08 18:43.17 ---> using "eb751f1617949fccf400da87a349c508e73323f3f0e3482f2cce8c46fbcb6c21" from cache

C:/: (run (network host)
          (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q 31db989bcaf14647d9889b8903120d6202ac37a8"))
2026-03-08 18:43.17 ---> using "ef58fca6f6db70f2bdfd85579892df7c50e047d2e179a3be59dcaa5c5a2d773c" from cache

C:/: (run (shell "rm -rf ~/.opam && opam init -ya --bare ~/opam-repository"))

User configuration:
  Updating ~\.bashrc.
[NOTE] Make sure that ~/.bashrc is well sourced in your ~\.bash_profile.

  Added 9 lines after line 1 in ~\.bashrc.
2026-03-08 18:43.17 ---> using "c700dfaf6f2da6800841bb961abfee8cd8858dee38ab51c0793b149f1795270d" from cache

C:/: (run (cache (opam-archives (target "c:\\opam\\.opam\\download-cache")))
          (network host)
          (shell "opam switch create --repositories=default 'mingw-5.4' '5.4.0'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.4.0"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed arch-x86_64.1
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed host-arch-x86_64.1
-> installed host-system-mingw.1
-> retrieved mingw-w64-shims.0.2.0  (cached)
-> retrieved flexdll.0.44  (https://github.com/ocaml/flexdll/archive/refs/tags/0.44.tar.gz)
-> installed flexdll.0.44
-> installed ocaml-options-vanilla.1
-> installed conf-mingw-w64-gcc-x86_64.1
-> installed ocaml-env-mingw64.1
-> installed system-mingw.1
-> retrieved ocaml-config.3  (2 extra sources)
-> retrieved ocaml-config.3  (2 extra sources)
-> installed mingw-w64-shims.0.2.0
-> retrieved ocaml-compiler.5.4.0  (https://github.com/ocaml/ocaml/releases/download/5.4.0/ocaml-5.4.0.tar.gz)
-> installed ocaml-compiler.5.4.0
-> installed ocaml-base-compiler.5.4.0
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=mingw-5.4)
2026-03-08 18:43.17 ---> using "bde3e22405d3d4b8eb936b6a5924016abe757c72ef4284f806d0ffa633cf6608" from cache

C:/: (run (network host)
          (shell "opam update --depexts"))
2026-03-08 18:43.17 ---> using "52107e23401ba5a409505a63e9d96ae2fb84390238c362f7049829fa18c5671f" from cache

C:/: (run (cache (opam-archives (target "c:\\opam\\.opam\\download-cache")))
          (network host)
          (shell  "opam remove -y mkaudio.1.1.4\
                 \nopam install -vy mkaudio.1.1.4\
                 \nres=$?\
                 \nif [ $res = 31 ]; then\
                 \n    if opam show -f x-ci-accept-failures: mkaudio.1.1.4 | grep -q 'ocaml/opam:windows-server-mingw-ltsc2025-opam'; then\
                 \n        echo \"This package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\"\
                 \n        exit 69\
                 \n    fi\
                 \nfi \
                 \n\
                 \n\
                 \nexit $res"))
[NOTE] mkaudio.1.1.4 is not installed.

Nothing to do.
The following actions will be performed:
=== install 7 packages
  - install cmdliner          2.1.0  [required by mkaudio]
  - install csexp             1.5.2  [required by dune-configurator]
  - install dune              3.21.1 [required by mkaudio]
  - install dune-configurator 3.21.1 [required by mm]
  - install mkaudio           1.1.4
  - install mm                0.8.6  [required by mkaudio]
  - install result            1.5    [required by mkaudio]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/20: [cmdliner.2.1.0: extract]
Processing  2/20: [cmdliner.2.1.0: extract] [csexp.1.5.2: extract]
Processing  3/20: [cmdliner.2.1.0: extract] [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
-> retrieved cmdliner.2.1.0  (cached)
Processing  3/20: [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
Processing  4/20: [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract] [mkaudio.1.1.4: http]
Processing  5/20: [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract] [mkaudio.1.1.4: http] [cmdliner: make all]
-> retrieved csexp.1.5.2  (cached)
Processing  5/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mkaudio.1.1.4: http] [cmdliner: make all]
Processing  6/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mkaudio.1.1.4: http] [mm.0.8.6: http] [cmdliner: make all]
Processing  6/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mkaudio.1.1.4: extract] [mm.0.8.6: http] [cmdliner: make all]
-> retrieved mkaudio.1.1.4  (https://github.com/johnelse/mkaudio/archive/mkaudio.1.1.4.tar.gz)
Processing  6/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mm.0.8.6: http] [cmdliner: make all]
Processing  7/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mm.0.8.6: http] [result.1.5: extract] [cmdliner: make all]
Processing  7/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mm.0.8.6: extract] [result.1.5: extract] [cmdliner: make all]
-> retrieved result.1.5  (cached)
Processing  7/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [mm.0.8.6: extract] [cmdliner: make all]
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_enabled.alsa.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_disabled.alsa.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_ao.enabled.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_ao.disabled.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_alsa.enabled.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
[WARNING] Warning: cannot copy C:\cygwin64\tmp\opam-23728-fe236a\ocaml-mm-0.8.6\src\config\setup_alsa.disabled.ml to C:\opam\.opam\mingw-5.4\.opam-switch\sources\mm.0.8.6\src\config
-> retrieved mm.0.8.6  (https://github.com/savonet/ocaml-mm/archive/refs/tags/v0.8.6.tar.gz)
Processing  7/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [cmdliner: make all]
-> retrieved dune.3.21.1, dune-configurator.3.21.1  (cached)
Processing  7/20: [cmdliner: make all]
Processing  8/20: [cmdliner: make all] [dune: ocaml 15]
+ C:\cygwin64\bin\make.exe "all" "PREFIX=C:\\opam\\.opam\\mingw-5.4" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\cmdliner.2.1.0)
- ocaml build.ml cma
- ocaml build.ml cmxa
- ocaml build.ml natexe
- _build/src/tool/cmdliner generic-completion bash > _build/src/tool/bash-completion.sh
- _build/src/tool/cmdliner tool-completion bash cmdliner > _build/src/tool/bash-cmdliner.sh
- _build/src/tool/cmdliner generic-completion zsh > _build/src/tool/zsh-completion.sh
- _build/src/tool/cmdliner tool-completion zsh cmdliner > _build/src/tool/zsh-cmdliner.sh
- _build/src/tool/cmdliner generic-completion pwsh > _build/src/tool/pwsh-completion.ps1
- _build/src/tool/cmdliner tool-completion pwsh cmdliner > _build/src/tool/pwsh-cmdliner.ps1
- _build/src/tool/cmdliner install tool-manpages _build/src/tool/cmdliner _build/src/tool/man
- Creating directory _build/src/tool/man\man1
- Writing _build/src/tool/man\man1\cmdliner.1
- Writing _build/src/tool/man\man1\cmdliner-generic-completion.1
- Writing _build/src/tool/man\man1\cmdliner-install.1
- Writing _build/src/tool/man\man1\cmdliner-install-generic-completion.1
- Writing _build/src/tool/man\man1\cmdliner-install-tool-completion.1
- Writing _build/src/tool/man\man1\cmdliner-install-tool-manpages.1
- Writing _build/src/tool/man\man1\cmdliner-install-tool-support.1
- Writing _build/src/tool/man\man1\cmdliner-tool-commands.1
- Writing _build/src/tool/man\man1\cmdliner-tool-completion.1
- ocaml build.ml cmxs
-> compiled  cmdliner.2.1.0
Processing  8/20: [dune: ocaml 15]
Processing  9/20: [dune: ocaml 15] [cmdliner: make install]
+ C:\cygwin64\bin\make.exe "install" "BINDIR=C:\\opam\\.opam\\mingw-5.4\\bin" "LIBDIR=C:\\opam\\.opam\\mingw-5.4\\lib\\cmdliner" "DOCDIR=C:\\opam\\.opam\\mingw-5.4\\doc\\cmdliner" "SHAREDIR=C:\\opam\\.opam\\mingw-5.4\\share" "MANDIR=C:\\opam\\.opam\\mingw-5.4\\man" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\cmdliner.2.1.0)
- install -d "C:\opam\.opam\mingw-5.4\bin" "C:\opam\.opam\mingw-5.4\lib\cmdliner"
- install -m 644 pkg/META _build/src/cmdliner.cmi "C:\opam\.opam\mingw-5.4\lib\cmdliner"
- install -m 644 cmdliner.opam "C:\opam\.opam\mingw-5.4\lib\cmdliner/opam"
- install -m 644 _build/src/cmdliner.mli _build/src/cmdliner_arg.mli _build/src/cmdliner_base.mli _build/src/cmdliner_cline.mli _build/src/cmdliner_cmd.mli _build/src/cmdliner_completion.mli _build/src/cmdliner_def.mli _build/src/cmdliner_docgen.mli _build/src/cmdliner_eval.mli _build/src/cmdliner_manpage.mli _build/src/cmdliner_msg.mli _build/src/cmdliner_term.mli _build/src/cmdliner_trie.mli _build/src/cmdliner.ml _build/src/cmdliner_arg.ml _build/src/cmdliner_base.ml _build/src/cmdliner_cline.ml _build/src/cmdliner_cmd.ml _build/src/cmdliner_completion.ml _build/src/cmdliner_def.ml _build/src/cmdliner_docgen.ml _build/src/cmdliner_eval.ml _build/src/cmdliner_manpage.ml _build/src/cmdliner_msg.ml _build/src/cmdliner_term.ml _build/src/cmdliner_trie.ml \
- 	 _build/src/cmdliner.cmti _build/src/cmdliner_arg.cmti _build/src/cmdliner_base.cmti _build/src/cmdliner_cline.cmti _build/src/cmdliner_cmd.cmti _build/src/cmdliner_completion.cmti _build/src/cmdliner_def.cmti _build/src/cmdliner_docgen.cmti _build/src/cmdliner_eval.cmti _build/src/cmdliner_manpage.cmti _build/src/cmdliner_msg.cmti _build/src/cmdliner_term.cmti _build/src/cmdliner_trie.cmti _build/src/cmdliner.cmt _build/src/cmdliner_arg.cmt _build/src/cmdliner_base.cmt _build/src/cmdliner_cline.cmt _build/src/cmdliner_cmd.cmt _build/src/cmdliner_completion.cmt _build/src/cmdliner_def.cmt _build/src/cmdliner_docgen.cmt _build/src/cmdliner_eval.cmt _build/src/cmdliner_manpage.cmt _build/src/cmdliner_msg.cmt _build/src/cmdliner_term.cmt _build/src/cmdliner_trie.cmt "C:\opam\.opam\mingw-5.4\lib\cmdliner"
- install -m 644 _build/src/cmdliner.cma "C:\opam\.opam\mingw-5.4\lib\cmdliner"
- install -m 644 _build/src/cmdliner.cmxa _build/src/cmdliner.a _build/src/cmdliner.cmx _build/src/cmdliner_arg.cmx _build/src/cmdliner_base.cmx _build/src/cmdliner_cline.cmx _build/src/cmdliner_cmd.cmx _build/src/cmdliner_completion.cmx _build/src/cmdliner_def.cmx _build/src/cmdliner_docgen.cmx _build/src/cmdliner_eval.cmx _build/src/cmdliner_manpage.cmx _build/src/cmdliner_msg.cmx _build/src/cmdliner_term.cmx _build/src/cmdliner_trie.cmx \
-   "C:\opam\.opam\mingw-5.4\lib\cmdliner"
- install -m 755 "_build/src/tool/cmdliner" "C:\opam\.opam\mingw-5.4\bin/cmdliner"
- install -d "C:\opam\.opam\mingw-5.4\share/bash-completion/completions"
- install -m 644 _build/src/tool/bash-completion.sh \
-   "C:\opam\.opam\mingw-5.4\share/bash-completion/completions/_cmdliner_generic"
- install -m 644 _build/src/tool/bash-cmdliner.sh "C:\opam\.opam\mingw-5.4\share/bash-completion/completions/cmdliner"
- install -d "C:\opam\.opam\mingw-5.4\share/zsh/site-functions"
- install -m 644 _build/src/tool/zsh-completion.sh \
-   "C:\opam\.opam\mingw-5.4\share/zsh/site-functions/_cmdliner_generic"
- install -m 644 _build/src/tool/zsh-cmdliner.sh "C:\opam\.opam\mingw-5.4\share/zsh/site-functions/_cmdliner"
- install -d "C:\opam\.opam\mingw-5.4\share/powershell"
- install -m 644 _build/src/tool/pwsh-completion.ps1 \
-   "C:\opam\.opam\mingw-5.4\share/powershell/cmdliner_generic_completion.ps1"
- install -m 644 _build/src/tool/pwsh-cmdliner.ps1 \
-    "C:\opam\.opam\mingw-5.4\share/powershell/cmdliner_completion.ps1"
- install -m 644 _build/src/cmdliner.cmxs "C:\opam\.opam\mingw-5.4\lib\cmdliner"
Processing  9/20: [dune: ocaml 15] [cmdliner: make install-doc]
+ C:\cygwin64\bin\make.exe "install-doc" "LIBDIR=C:\\opam\\.opam\\mingw-5.4\\lib\\cmdliner" "DOCDIR=C:\\opam\\.opam\\mingw-5.4\\doc\\cmdliner" "SHAREDIR=C:\\opam\\.opam\\mingw-5.4\\share" "MANDIR=C:\\opam\\.opam\\mingw-5.4\\man" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\cmdliner.2.1.0)
- install -d "C:\opam\.opam\mingw-5.4\man/man1"
- install -m 644 _build/src/tool/man/man1/cmdliner.1 _build/src/tool/man/man1/cmdliner-generic-completion.1 _build/src/tool/man/man1/cmdliner-install.1 _build/src/tool/man/man1/cmdliner-install-generic-completion.1 _build/src/tool/man/man1/cmdliner-install-tool-completion.1 _build/src/tool/man/man1/cmdliner-install-tool-manpages.1 _build/src/tool/man/man1/cmdliner-install-tool-support.1 _build/src/tool/man/man1/cmdliner-tool-commands.1 _build/src/tool/man/man1/cmdliner-tool-completion.1 "C:\opam\.opam\mingw-5.4\man/man1"
- install -d "C:\opam\.opam\mingw-5.4\doc\cmdliner/odoc-pages"
- install -m 644 CHANGES.md LICENSE.md README.md "C:\opam\.opam\mingw-5.4\doc\cmdliner"
- install -m 644 doc/index.mld doc/cli.mld doc/examples.mld \
-    doc/tutorial.mld doc/cookbook.mld doc/tool_man.mld "C:\opam\.opam\mingw-5.4\doc\cmdliner/odoc-pages"
-> installed cmdliner.2.1.0
Processing  9/20: [dune: ocaml 15]
+ C:\opam\.opam\mingw-5.4\bin\ocaml.exe "boot/bootstrap.ml" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1)
- ocamlc -output-complete-exe -intf-suffix .dummy -g -o .duneboot.exe -I boot -I +unix unix.cma boot/types.ml boot/libs.ml boot/duneboot.ml
- .\.duneboot.exe -j 15
Processing  9/20: [dune: ./_boot/dune.exe build]
+ C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1\./_boot/dune.exe "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1)
-> compiled  dune.3.21.1
-> installed dune.3.21.1
Processing 11/20: [csexp: dune build]
Processing 12/20: [csexp: dune build] [result: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "csexp" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\csexp.1.5.2)
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -g -bin-annot -bin-annot-occurrences -I src/.csexp.objs/byte -cmi-file src/.csexp.objs/byte/csexp.cmi -no-alias-deps -o src/.csexp.objs/byte/csexp.cmo -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 |     [@@inlined always]
-              ^^^^^^^
- Warning 53 [misplaced-attribute]: the inlined attribute cannot appear in this context
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlopt.opt.exe -w -40 -g -I src/.csexp.objs/byte -I src/.csexp.objs/native -cmi-file src/.csexp.objs/byte/csexp.cmi -no-alias-deps -o src/.csexp.objs/native/csexp.cmx -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 |     [@@inlined always]
-              ^^^^^^^
- Warning 53 [misplaced-attribute]: the inlined attribute cannot appear in this context
-> compiled  csexp.1.5.2
Processing 12/20: [result: dune build]
-> installed csexp.1.5.2
Processing 13/20: [result: dune build]
Processing 14/20: [dune-configurator: rm] [result: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "result" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\result.1.5)
-> compiled  result.1.5
Processing 14/20: [dune-configurator: rm]
-> installed result.1.5
Processing 15/20: [dune-configurator: rm]
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/csexp" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/pp" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
Processing 15/20: [dune-configurator: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "dune-configurator" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
-> compiled  dune-configurator.3.21.1
-> installed dune-configurator.3.21.1
Processing 17/20: [mm: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "mm" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\mm.0.8.6)
- (cd _build/default/src && C:\cygwin64\bin\x86_64-w64-mingw32-gcc.exe -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -Wall -fdiagnostics-color=always -g -I C:/opam/.opam/mingw-5.4/lib/ocaml -I C:/opam/.opam/mingw-5.4/lib/ocaml\unix -o image_data.o -c image_data.c)
- image_data.c:63:18: warning: ‘caml_mm_ba_alloc_dims’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
-    63 | CAMLexport value caml_mm_ba_alloc_dims(int flags, int num_dims, void *data,
-       |                  ^~~~~~~~~~~~~~~~~~~~~
- (cd _build/default/src && C:\cygwin64\bin\x86_64-w64-mingw32-gcc.exe -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -Wall -fdiagnostics-color=always -g -I C:/opam/.opam/mingw-5.4/lib/ocaml -I C:/opam/.opam/mingw-5.4/lib/ocaml\unix -o image_rgb.o -c image_rgb.c)
- image_rgb.c: In function ‘caml_rgb_color_to_alpha’:
- image_rgb.c:1029:10: warning: variable ‘d’ set but not used [-Wunused-but-set-variable]
-  1029 |   double d;
-       |          ^
- image_rgb.c:1028:22: warning: variable ‘aa’ set but not used [-Wunused-but-set-variable]
-  1028 |   double rr, gg, bb, aa;
-       |                      ^~
-> compiled  mm.0.8.6
-> installed mm.0.8.6
Processing 19/20: [mkaudio: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "@install" "-p" "mkaudio" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\mkaudio.1.1.4)
-> compiled  mkaudio.1.1.4
-> installed mkaudio.1.1.4
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-08 18:58.18 ---> saved as "dee9c264da82d938ec5b1151c8d4cb704a4a943f798fa18807254efe01f64773"
Job succeeded