plk/biber

biber 2.20 is not available in TeXLive x86_64-linuxmusl

Closed this issue · 14 comments

The biber in TeXLive x86_64-linuxmusl has the wrong version. The tlmgr info shows the version is 2.20. But the actual binary is 2.19.

# tlmgr info biber
package:     biber
category:    Package
shortdesc:   A BibTeX replacement for users of BibLaTeX
longdesc:    Biber is a BibTeX replacement for users of BibLaTeX. Biber supports full UTF-8, can (re)-encode input and output, supports highly configurable sorting, dynamic bibliography sets and many other features. The CTAN distribution offers a compressed tar archive of the sources, etc., together with "binary" distributions for a variety of platforms. Note: on SourceForge biber is formally named "biblatex-biber", to distinguish it from an earlier (now apparently moribund) project called "biber".
installed:   Yes
revision:    70724
sizes:       bin: 23385k
relocatable: No
cat-version: 2.20
cat-license: artistic2
cat-topics:  biblio
cat-related: bibtex crosstex biblatex
cat-contact-bugs: https://github.com/plk/biber/issues
cat-contact-home: http://biblatex-biber.sourceforge.net/
cat-contact-repository: https://github.com/plk/biber
collection:  collection-bibtexextra

# biber --version
biber version: 2.19

This causes biblatex completely broken due to the following error.

ERROR - Error: Found biblatex control file version 3.11, expected version 3.10.
This means that your biber (2.19) and biblatex (3.20) versions are incompatible.
plk commented

I'm afraid our linux-musl builder didn't seems to have disappeared and didn't build 2.20 in time for the release. If you might offer to build it, the instructions are here:

https://github.com/plk/biber/blob/dev/BUILDERS.README

I second this, having the same problem

plk commented

Is your use-case ARM or Intel? I vaguely remember that the person who built this was using Alpine.

It is Intel. I maintain a texlive docker image based on Alpine, hence the need for x86_64 musl binaries.

Mine is also x86_64.

For those running void linux or alpine and looking to solve this, getting PAR to work is a giant pain and a horrible experience.

You can just do xbps-install biber or the equivalent for alpine for the old version and that installs all of the required modules. Then skip ./Build installdeps and ./Build install.

Just do

perl Build.PL
./Build

and copy bin/biber into /usr/bin/ or wherever on PATH. it works.

plk commented

This should be corrected now and 2.20 for MUSL is in TL.

Hi! I'm the builder for biber-linux-musl. I don't scan issues in this repo regularly. If there are issues with the musl build, feel free to at-mention me so I get notfied. As @plk said, the error has been corrected yesterday.

Hi, sorry for the late response. I just tested the latest TeXLive biber musl binary in alpine. However, it doesn't work for me.

23a93ba072ed:/# biber --version
IO.c: loadable library and perl binaries are mismatched (got first handshake key 0xf380080, needed 0xeb80080)

23a93ba072ed:/# tlmgr info biber
package:     biber
category:    Package
shortdesc:   A BibTeX replacement for users of BibLaTeX
longdesc:    Biber is a BibTeX replacement for users of BibLaTeX. Biber supports full UTF-8, can (re)-encode input and output, supports highly configurable sorting, dynamic bibliography sets and many other features. The CTAN distribution offers a compressed tar archive of the sources, etc., together with "binary" distributions for a variety of platforms. Note: on SourceForge biber is formally named "biblatex-biber", to distinguish it from an earlier (now apparently moribund) project called "biber".
installed:   Yes
revision:    70724
sizes:       bin: 23721k
relocatable: No
cat-version: 2.20
cat-license: artistic2
cat-topics:  biblio
cat-related: bibtex crosstex biblatex
cat-contact-bugs: https://github.com/plk/biber/issues
cat-contact-repository: https://github.com/plk/biber
cat-contact-home: http://biblatex-biber.sourceforge.net/
collection:  collection-bibtexextra

23a93ba072ed:/# tlmgr info biber.x86_64-linuxmusl
package:     biber.x86_64-linuxmusl
category:    Package
shortdesc:   x86_64-linuxmusl files of biber
installed:   Yes
revision:    71271
sizes:
relocatable: No

/cc @krumeich

Thanks for the feedback. It seems that there is some interference between the local perl installation and perl and its lit bundled with biber. I'll look into it.

The error is reproducible. I've updated perl on the build platform from 5.36 to 5.38.2, now it seems to work. I've run several tests, both with @plk's test files and an integration test with TeX Live 2024. Looking good.

Caveat: Calling biber with no argument does not produce biber's standard message but an error about libxml2.so.2 being not available. This is annoying but seems to have no effect on biber's operation when called with arguments.

@xu-cheng: Before bothering the fine people at CTAN with yet another upload, would you be willing to give the new version a try? You can find it at https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/current/binaries/Linux-musl/. Extract the archive and put the binary into /usr/local/texlive/2024/bin/x86_64-linuxmusl/. Kindly give me a heads-up if this works, so I can upload to CTAN. Thanks for your cooperation.

@krumeich, thanks for the update. The updated binary works.

Caveat: Calling biber with no argument does not produce biber's standard message but an error about libxml2.so.2 being not available. This is annoying but seems to have no effect on biber's operation when called with arguments.

FYI, I was able to suppress these messages by running apk add libxml2 perl-text-bibtex. But noted that this workaround is specific to the alpine env I used.

Perfect, thank you. I'll prepare an upload to CTAN.

As of yesterday morning, the version you've tested is up on CTAN as biber-linux-musl 2.20-1 . That should fix your issue.