• Bug#1067578: lilypond: New libcairo SVG output in 2.24 is missing (buil

    From Jonathan Harker@21:1/5 to All on Sun Mar 24 02:20:02 2024
    Package: lilypond
    Version: 2.24.1-2
    Severity: important

    Dear Maintainer,

    *** Reporter, please consider answering these questions, where appropriate ***

    * What led up to the situation?
    * What exactly did you do (or not do) that was effective (or
    ineffective)?
    * What was the outcome of this action?
    * What outcome did you expect instead?

    *** End of the template - remove these template lines ***

    Hi, (please forgive me if this is my first Debian bug)

    I have been working with Tim Starling and other Wikipedia/Lily folks recently over on https://phabricator.wikimedia.org/T49578 in order to get SVG output working nicely for the Score music extension. It appears that one of the major features of 2.24 was rewriting the SVG output to use libcairo, which results in much better more consistent output than the old libsvg code.

    It seems that at least in bookworm with 2.24.1 the libcairo support is missing (looks like a compiler flag). The following compares the output from the bookworm package, which fails to render the Cairo SVG, and a 2.23 pre-release binary with the libcairo support compiled in, which succeeds:

    ```
    root@bookworm$ lilypond -dno-use-paper-size-for-page -dbackend=cairo --svg --png alto.ly
    GNU LilyPond 2.24.1 (running Guile 2.2)
    Processing `alto.ly'
    Parsing...
    Interpreting music...
    Preprocessing graphical objects...
    Finding the ideal number of pages...
    Fitting music on 1 page...
    Drawing systems...
    fatal error: compiled without CAIRO_BACKEND

    root@bookworm$ /usr/local/bin/lilypond -dno-use-paper-size-for-page -dbackend=cairo --svg --png alto.ly
    GNU LilyPond 2.23.82 (running Guile 2.2)
    Processing `alto.ly'
    Parsing...
    Interpreting music...
    Preprocessing graphical objects...
    Finding the ideal number of pages...
    Fitting music on 1 page...
    Drawing systems...
    Layout output to `alto.png'...
    Layout output to `alto.svg'...
    Success: compilation successfully completed
    ```

    Note that this does not mean the SVG output is broken, only the output when specifying `-dbackend=cairo` which our Score extension relies on (for the much improved rendering; upstream have indicated that this will become the default SVG backend in a future release).

    Example rendering (using the working libcairo support in the 2.23 prelease) is visible here, if it helps: https://mw-master.test.jon.geek.nz/


    -- System Information:
    Debian Release: 12.5
    APT prefers stable-updates
    APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.1.0-12-amd64 (SMP w/16 CPU threads; PREEMPT)
    Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)

    Versions of packages lilypond depends on:
    ii ghostscript 10.0.0~dfsg-11+deb12u3
    ii guile-2.2 2.2.7+1-9
    ii guile-2.2-libs 2.2.7+1-9
    ii libc6 2.36-9+deb12u4
    ii libfontconfig1 2.14.1-4
    ii libfreetype6 2.12.1+dfsg-5
    ii libgc1 1:8.2.2-3
    ii libglib2.0-0 2.74.6-2
    ii libpango-1.0-0 1.50.12+ds-1
    ii libpangoft2-1.0-0 1.50.12+ds-1
    ii libstdc++6 12.2.0-14
    ii lilypond-data 2.24.1-2
    ii python3 3.11.2-1+b1

    Versions of packages lilypond recommends:
    pn texlive-latex-base <none>

    Versions of packages lilypond suggests:
    pn lilypond-doc <none>
    pn python3-lxml <none>

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)