bibtex fails in Tex Live 2011

Bug #892315 reported by Lorin Hochstein
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Rubber
New
Undecided
Unassigned

Bug Description

If you try to use rubber with a document that requires bibtex on Tex Live 2011, it will fail with this error:

$ rubber -v foo
compiling foo.tex...
running BibTeX on foo...
There were errors making the bibliography.
There were errors compiling foo.

I'm running Tex Live 2011 on Mac OS X 10.7.2:

$ bibtex -v
BibTeX 0.99d (TeX Live 2011)
kpathsea version 6.0.1

The problem is that this version of bibtex doesn't work with absolute pathnames unless you set the TEXMFOUTPUT to the current directory:

Without TEXMFOUTPUT set:

$ bibtex `pwd`/foo

bibtex: Not writing to /Users/lorin/rubber-fail/foo.blg (openout_any = p).
I couldn't open file name `/Users/lorin/rubber-fail/foo.blg'

With TEXMFOUTPUT set:

$ TEXMFOUTPUT=`pwd` bibtex `pwd`/foo
This is BibTeX, Version 0.99d (TeX Live 2011)
The top-level auxiliary file: /Users/lorin/rubber-fail/foo.aux
The style file: plain.bst
Database file #1: foo.bib

Here are my test files:

foo.tex:
\documentclass{article}
\title{Cartesian closed categories and the price of eggs}
\author{Jane Doe}
\begin{document}
   \maketitle
   Hello world!\cite{booth}

\bibliographystyle{plain}
\bibliography{foo}

\end{document}

foo.bib:
@ARTICLE(booth,
  AUTHOR = "Kellogg S. Booth",
  TITLE = "Lexicographically Least Circular Strings",
  JOURNAL = "Information Processing Letters",
  YEAR = "1980",
  VOLUME = "10",
  PAGES = "240--242")

Revision history for this message
Lorin Hochstein (lorinh) wrote :
Revision history for this message
Lorin Hochstein (lorinh) wrote :
Revision history for this message
Lorin Hochstein (lorinh) wrote :

I'm running rubber 1.1, installed via homebrew:

$ rubber --version
Rubber version: 1.1

Revision history for this message
Ryan Turner (rjturner) wrote :

This is a show-stopper for most modern versions of bibtex (my bibtex is below). See also: http://www.tug.org/pipermail/tex-live/2010-September/027232.html

Calling msg.simplfy(self.base) in place of self.base in lines 250 and 252 will convert the absolute path to a relative path; this is admittedly a bit of a hack as msg.simplify wasn't intended for more than messaging, but it works. I am using rubber version 1.1 from home brew (I am hoping for a new upstream release soon so I don't have to learn bazaar).

Lines 249-253:

                if self.crossrefs is None:
                        cmd = ["bibtex", msg.simplify(self.base)]
                else:
                        cmd = ["bibtex", "-min-crossrefs=" + self.crossrefs, msg.simplify(self.base)]
                process = Popen(cmd, stdout=PIPE, stderr=PIPE)

mbp-2:~ rt$ bibtex --version
BibTeX 0.99d (TeX Live 2012)
kpathsea version 6.1.0
Copyright 2012 Oren Patashnik.
There is NO warranty. Redistribution of this software is
covered by the terms of both the BibTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the BibTeX source.
Primary author of BibTeX: Oren Patashnik.

Revision history for this message
NigelB (nigelb) wrote :

Workaround:

                 #> openout_any=a rubber -v foo

Revision history for this message
Sebastian Kapfer (caci) wrote :

This should be fixed in Rubber trunk (to be Rubber 1.2)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.