I've just updated biber from 2.16 to 2.17 in Fedora 36 and 35. All tests passed an now I got a report that the new biber is incompatible with current biblatex: INFO - This is Biber 2.17 [...] ERROR - Error: Found biblatex control file version 3.7, expected version 3.8. This means that your biber (2.17) and biblatex (3.16) versions are incompatible. See compat matrix in biblatex or biber PDF documentation. It seems that biber insist on a specific version of a biblatex control file (BCF). From biber sources: # Version of biblatex control file which this release expects. Matched against version # passed in control file. Used when checking the .bcf our $BCF_VERSION = '3.8'; # Format version of the .bbl. Used when writing the .bbl our $BBL_VERSION = '3.2'; [...] my $buf = slurp_switchr($ctrl_file_path)->$*; [...] my $bcfxml = XML::LibXML::Simple::XMLin($buf, [...] my $controlversion = $bcfxml->{version}; my $bltxversion = $bcfxml->{bltxversion}; Biber::Config->setblxoption(undef, 'controlversion', $controlversion); unless ($controlversion eq $BCF_VERSION) { biber_error("Error: Found biblatex control file version $controlversion, expected version $BCF_VERSION.\nThis means that your biber ($Biber::Config::VERSION) and biblatex ($bltxversion) versions are incompatible.\nSee compat matrix in biblatex or biber PDF documentation."); } In this case biber-2.17 changed the required BCF version from 3.7 to 3.8 and that caused the error messages. Biber documentation only provides a table of biber-biblatex versions that work together, ignoring the BCF version as a real cause: \biber\ version & \biblatex\ version\\ 2.17 & 3.17\\ 2.16 & 3.16\\ 2.15 & 3.15\\ 2.14 & 3.14\\ [...] I searched textlive-biblatex code, and there is only /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty which defines version of the produced BCF XML documents: % This is not updated by build script as the control file version % does not necessarily change with the package version. % This is used when writing the .bcf \def\blx@bcfversion{3.7} [...] \edef\blx@ver@bcf{% \detokenize{<bcf:controlfile version="}\blx@bcfversion \detokenize{" bltxversion="}\abx@version \detokenize{" xmlns:bcf="https://sourceforge.net/projects/biblatex">}} To prevent from similar bugs in the future, I'd like both textlive-biblatex and biber to agree on a versioned RPM symbol and use it as a common RPM dependency to assure compatibility. textlive-biblatex now "Requires: biber >= 2.14". This is not future-proof. I propose biber-2.16 to "Provide: bcfversion = 3.7" and textlive-biblatex to "Requires: bcfversion = 3.7". This will work until one of them diverges and the dependency new dependency will catch it. Alternatively, textlive-biblatex would "Provide biblatex = 3.16" and biber would "Conflicts: biblatex < 3.16" and "biblatex > 3.16".
And yet another thing. I will need to revert the upgrade of biber because current textlive-biblatex does not support bcf 3.8. That means raising an epoch. And that means that your "Requires: biber >= 2.14" dependency will become meaningless.
(In reply to Petr Pisar from comment #1) > And yet another thing. I will need to revert the upgrade of biber because > current textlive-biblatex does not support bcf 3.8. That means raising an > epoch. And that means that your "Requires: biber >= 2.14" dependency will > become meaningless. Or you should upgrade biblatex to 3.17 in Rawhide <https://github.com/plk/biblatex/tags>.
I pushed biber-2.17-2.fc36 and biber-2.16-5.fc35 which provide bcfversion symbol. I will keep biber-2.17 in Rawhide with the prospect that you upgrade biblatex to 3.17 soon.
Petr, thanks for the info. Normally, the biber maintainer and I closely coordinate updates here so that this is avoided, not sure if you're the new maintainer or what. That said, I think the bcfversion symbol is fine. I'm a little concerned that the 3.17 biblatex is not in CTAN yet, but I'll manually update rawhide and hope that nothing breaks in texlive (famous last words).
https://src.fedoraproject.org/rpms/texlive/c/37fb8c6e3ec8750765126e77446027dfcc590ef9?branch=rawhide
Great. A small nitpick: In Rawhide there is new biber-2.17 with bcfversion = 3.8. So you should depend on 3.8, not 3.7 in Rawhide. (I probably made the instructions not enough obvious.). And yes, I'm the new maintainer.
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle. Changing version to 36.
Hi folks, I just updated two machines to F36 to test the upgrade path etc. I'm seeing the biber/biblatex issue there too now: ERROR - Error: Found biblatex control file version 3.7, expected version 3.8. $ rpm -q biber texlive-bibtex texlive-biblatex biber-2.17-2.fc36.noarch texlive-bibtex-20210325-47.fc36.x86_64 texlive-biblatex-svn57272-48.fc36.noarch I wonder if the biblatex update in the commit mentioned in comment 5 also needs to be pushed to F36? Thanks for all your work on maintaining texlive and associated packages in Fedora, by the way. :) Cheers,
Workaround in the meantime for anyone else that may have jumped to F36 and runs into this is to downgrade biber back to 2.16: sudo dnf install https://kojipkgs.fedoraproject.org//packages/biber/2.16/5.fc36/noarch/biber-2.16-5.fc36.noarch.rpm sudo dnf versionlock biber
Yes. The fix was completed in texlive-9:2021-52 and spot tried to build it <https://koji.fedoraproject.org/koji/packageinfo?packageID=5402> twice, but the build failed due a flaw in the Koji build system. Twice. I will try it again <https://koji.fedoraproject.org/koji/taskinfo?taskID=84172553>. If it succeeds, we will repeat it in F36.
Thanks Petr.
The build passed. Building it for F36 now to fix the dependencies. However, using biblatex does work for me in F37 (bug #2064201).
FEDORA-2022-052be0dda9 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-052be0dda9
FEDORA-2022-052be0dda9 has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-052be0dda9` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-052be0dda9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-b8ed0655d1 has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-b8ed0655d1` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-b8ed0655d1 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-b8ed0655d1 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.