Hi,

On 01/04/2025 21:00, Romain Beauxis wrote:
Package: liquidsoap
Version: 2.3.1-1+b1
Severity: important
X-Debbugs-Cc: romain.beau...@gmail.com

Dear Maintainer,

Liquidsoap upstream maintainer here!

Please consider updating to release 2.3.2 prior to the trixie release.

The 2.3.2 release is a strict bugfix release that contains important
fixes for scripts running dynamic sources over a long period of time.

Typically, online radio with automated crossfade would be impacted after
about one month of running their stream.

It would be greatly beneficial to your users if the debian release could
include this release.

I have tried to build 2.3.2, but it does not currently build on Debian. It has the following error:

   dh_auto_build -O--buildsystem=ocaml_dune
dune build -j 5 -p liquidsoap,liquidsoap-lang,liquidsoap-js,liquidsoap-mode,tls-liquidsoap,sdl-liquidsoap (cd _build/default/src/lang && /usr/bin/git rev-parse --short HEAD) > _build/default/src/lang/build_config.ml
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
(cd _build/default && /usr/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.liquidsoap_graphics.objs/byte -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/angstrom -I /usr/lib/x86_64-linux-gnu/ocam l/5.3.0/base -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/base/base_internalhash_types -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/base/shadow_stdlib -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/bigarray -I /usr/lib/x86_64- linux-gnu/ocaml/5.3.0/bigstringaf -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/bytes -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/camlp-streams -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/camomile/lib -I /usr/lib/x86_64-lin ux-gnu/ocaml/5.3.0/cry -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/curl -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/dtools -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/dune-build-info -I /usr/lib/x86_64-linux-gnu/ocaml/5.3 .0/dune-private-libs/dune-section -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/dune-site -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/dune-site/private -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/duppy -I /usr/lib/x86_64-li nux-gnu/ocaml/5.3.0/fileutils -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/gen -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/graphics -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/inotify -I /usr/lib/x86_64-linux-gnu/ocaml/5.3 .0/magic-mime -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mem_usage -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/menhirLib -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/metadata -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mm -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mm/audio -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mm/base -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mm/image -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/mm/midi -I /usr/lib/x86_ 64-linux-gnu/ocaml/5.3.0/mm/video -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/ocaml_intrinsics_kernel -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/ppx_compare/runtime-lib -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/ppx_has h/runtime-lib -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/ppx_sexp_conv/runtime-lib -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/ppx_string/runtime -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/re -I /usr/lib/x86_64-linux-gn u/ocaml/5.3.0/sedlex -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/seq -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/sexplib0 -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/str -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/stringext -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/syslog -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/threads -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/unix -I /usr/lib/x86_64-linux-gnu/ocaml/5.3.0/uri -I /usr/lib/x86_64-linux -gnu/ocaml/5.3.0/xml-light -I src/console/.console.objs/byte -I src/core/.liquidsoap_core.objs/byte -I src/lang/.liquidsoap_lang.objs/byte -no-alias-deps -o src/core/.liquidsoap_graphics.objs/byte/graphics_out.cm
o -c -impl src/core/outputs/graphics_out.ml)
File "src/core/outputs/graphics_out.ml", lines 25-55, characters 2-5:
25 | ..object (self)
26 | inherit 27 | Output.output
28 |         ~name:"graphics" ~output_kind:"output.graphics" ~infallible
29 |           ~register_telnet ~on_start ~on_stop source autostart
...
52 |             Graphics.draw_image img 0 0
53 |
54 |     method! reset = ()
55 |   end
Error: This non-virtual class has virtual methods.
       The following methods are virtual : "self_sync"
dh_auto_build: error: dune build -j 5 -p liquidsoap,liquidsoap-lang,liquidsoap-js,liquidsoap-mode,tls-liquidsoap,sdl-liquidsoap returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-04-01T21:35:50Z


Lastly, I wanted to mention that, for our application, the OCaml
compiler is not yet showing satisfactory performances with the 5.x
releases.

We have noticed a significant increase in memory consumption when
using the application compiled using OCaml 5.3 compared to 4.14.

Until this is fixed upstream, it might be interesting to consider
allowing several version of the ocaml compiler in the distribution. I
suspect that other applications are also susceptible to these issues.


Unfortunately this is not possible with the available volunteers. Maintaining multiple OCaml versions over the length of a release requires fixing security issues, regressions, etc for each version supported. Further, our packages would need to be reworked to support building against multiple OCaml versions (which is less of a problem). It's certainly not something that can be done before the Trixie freeze.

Thanks for your hard work!

Thanks for developing Liquidsoap!

Cheers
Kyle

--
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Kyle Robbertze
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ https://wiki.debian.org/KyleRobbertze

Reply via email to