Opened 10 years ago

Closed 10 years ago

#5228 closed enhancement (fixed)

TeX Live does not build biber from source

Reported by: ken@… Owned by: ken@…
Priority: normal Milestone: 7.6
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

I was checking what gets installed by this year's TL (made a fubar yesterday when I tried to do a DESTDIR install, got inconsistent results, so I spent some time doing a fresh real install) and I eventually found that biber does not get installed from the source. Looking further, I discovered that it does not ship the source.

From http://tug.org/texlive/build.html I now see:

TeX Live includes biber (a BibTeX replacement for BibLaTeX users) executables. These executables bundle the many Perl modules which biber requires, using the Par::Packer mechanism. This process is described in the biber documentation; it isn't feasible to incorporate it in the standard TL build.

So, TL builders who wish to provide it should make and upload the binaries as part of the upstream Biber project. These binaries are then distributed to CTAN (requires a manual request to the CTAN maintainers, usually done by the Biber maintainers), and TL imports from CTAN as usual.

The link is to http://biblatex-biber.sourceforge.net/ which eventually allows access to the sources at the Project Page (the Download link is binary) at http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/

At the moment, the latest version is 1.9, but the tarball name is unversioned.

Change History (6)

comment:1 by ken@…, 10 years ago

If and when both this and #4719 (xindy) have been addressed, the following line in install-tl-unx should be changed : "You can rebuild most of the programs from source" to omit 'most of'.

comment:2 by ken@…, 10 years ago

Well, I've got this to build [ v1.8 - unfortunately, the directories at sourceforge, and the the directories to which the tarballs extract, are versioned, but the downloads are all called biblatex-biber.tar.gz, which makes trying to test different versions (don't ask!) tricky.

However, now that I am installing the source without the binary, and using the texmf tarball for the docs, etc, I find that I have source at /opt/texlive/2014/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz and tar-tvf shows that is 1.8 [so, I can forget about trying to track the upstream git commit which fixed 1.9's test, and runtime, breakage ].

I still haven't managed to get any version of biber to pass all its own tests, nor have I managed to work out what is failing. All the other deps I have provided appear to pass their own 'make test', but at the moment I still have one or two old versions in my normal build and I did not check the tests for those. I'm also in some confusion about the required perl deps (it looks like around 40 modules are needed to provide missing deps noted by 'perl Makefile.PL', to provide deps so that things using 'perl Build.PL' will complete, and in some cases to get 'make test' to complete without error.

But, it does now produce a nicely referenced PDF in my example.

comment:3 by ken@…, 10 years ago

OK, I found another recent system and installed TeX on that from-source. I've now revised my build order for the perl modules. With the following build order, all the test suites for the modules except biblatex-biber-1.8 pass. For biblatex-biber itself, I now assume that the developer(s) do(es) not run the tests, or perhaps has a lot more test-related dependencies than are mentioned, or else runs them on an old system. Because the 1.9 tests show an error (missing use of a module for File::Slurp::_read or something like that - there is a patch in debian) which is also seen at runtime, I guess he/they do not run them.

Build order:
libwww-perl is in BLFS:
Encode-Locale
URI
HTML-Tagset
HTTP-Date
IO-HTML
LWP-Media-Types
HTML-Parser
HTTP-Message
HTML-Form
HTTP-Cookies
Net-HTTP
WWW-RobotRules
HTTP-Daemon
File-Listing
libwww-perl

for LWP-Protocol-https hich is also in BLFS (openssl is required)
Net-SSLeay
IO-Socket-SSL
Mozilla-CA
LWP-Protocol-https

The remainder are in ASCII order for top-level deps,
with unexpected requirements added at the end.

for Business-ISBN :
Business-ISBN-Data
Business-ISBN

for Business-ISMN :
Tie-Cycle
Business-ISMN

Business-ISSN comes here

for Data-Compare / or for File-Find-Rule
Number-Compare
Text-Glob
File-Find-Rule
Data-Compare

the next six are all top-level deps
Date-Simple
Encode-EUCJPASCII
Encode-JIS2K
Encode-HanExtra
File-Slurp
IPC-Run3

List-AllUtils requires Test-Warnings and List-MoreUtils for its testsuite
Test-Warnings
List-MoreUtils
List-AllUtils

Log-Log4perlcomes here
Regexp-Common comes here

Text-BibTeX requires Config-AutoConf which requires Capture-Tiny for its testsuite,
 and ExtUtils-LibBuilder
Capture-Tiny
Config-AutoConf
ExtUtils-LibBuilder
Text-BibTeX

Unicode::GCString is part of Unicode-LineBreak , needs MIME-Charset which wants Encode-JISX0213, and that needs Encode-ISO2022 for its test suite.
Encode-ISO2022
Encode-JISX0213
MIME-Charset
Unicode-LineBreak

XML-LibXML-Simple wants XML-NamespaceSupport, XML-SAX-Base, XML-SAX (those three are in
BLFS) for XML-LibXML, it also wants File-Slurp-Tiny for its testsuite.
XML-NamespaceSupport
XML-SAX-Base
XML-SAX
XML-LibXML
File-Slurp-Tiny
XML-LIBXML-Simple

now come the three remaining acknowledged deps:
XML-LibXSLT (needs libxslt)
XML-Writer
autovivification

biblatex-biber [ 1.8 ] recommends Readonly-XS, which recommends Readonly
Readonly
Readonly-XS
biblatex-biber

I am not clear if biblatex-biber actually needs any of TeX to build (but it doesn't make a lot of sense to try building without TeX).

The following four use Build.PL followed by ./Build {,test,install} - ExtUtils-LibBuilder, Readonly, Text-BibTeX, biblatex-biber.
Last edited 10 years ago by ken@… (previous) (diff)

comment:4 by ken@…, 10 years ago

Milestone: future7.6
Owner: changed from blfs-book@… to ken@…
Status: newassigned

comment:5 by ken@…, 10 years ago

To my enormous surprise, I got the testsuite to work (on LFS-7.5). Committing, with many perl modules, but I am fairly sure that some of the perl md5sums will be wrong (i.e. I copied an existing block of XML, and sometimes forgot to change them).

comment:6 by ken@…, 10 years ago

Resolution: fixed
Status: assignedclosed

In fact, only one md5 was wrong. Fixed in r14124, r14125, r14135.

Note: See TracTickets for help on using tickets.