Rubber 1.2 (wily) crashes when bibtex is involved

Bug #1531926 reported by Bram Geron
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
rubber (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Basic LaTeX files fail to compile when BibTeX is involved. For example, this .tex file compiles fine in Rubber 1.4 for me:

    \documentclass{article}
    \begin{document}
    test
    \cite{test}
    \bibliographystyle{plain}
    \bibliography{bib}
    \end{document}

I can reproduce this on a fairly clean Docker VM:

    $ lsb_release -rd
    Description: Ubuntu 15.10
    Release: 15.10
    $ apt-cache policy rubber
    rubber:
      Installed: 1.2-1
      Candidate: 1.2-1
      Version table:
     *** 1.2-1 0
            500 http://archive.ubuntu.com/ubuntu/ wily/universe amd64 Packages
            100 /var/lib/dpkg/status
    $ cat test.tex
    \documentclass{article}
    \begin{document}
    test
    \cite{test}
    \bibliographystyle{plain}
    \bibliography{bib}
    \end{document}
    $ touch bib.bib
    $ rubber test
    compiling test.tex...
    running BibTeX on test...
    Traceback (most recent call last):
      File "/usr/bin/rubber", line 4, in <module>
        sys.exit(Main()(sys.argv[1:]))
      File "/usr/lib/python2.7/dist-packages/rubber/cmdline.py", line 331, in __call__
        return self.main(cmdline)
      File "/usr/lib/python2.7/dist-packages/rubber/cmdline.py", line 295, in main
        ret = env.final.make(self.force)
      File "/usr/lib/python2.7/dist-packages/rubber/depend.py", line 166, in make
        ok = self.run()
      File "/usr/lib/python2.7/dist-packages/rubber/converters/latex.py", line 1310, in run
        if not self.post_compile():
      File "/usr/lib/python2.7/dist-packages/rubber/converters/latex.py", line 1261, in post_compile
        if not mod.post_compile():
      File "/usr/lib/python2.7/dist-packages/rubber/converters/latex.py", line 1526, in post_compile
        return self.pymodule.post_compile()
      File "/usr/lib/python2.7/dist-packages/rubber/latex_modules/bibtex.py", line 421, in post_compile
        return biblio.post_compile()
      File "/usr/lib/python2.7/dist-packages/rubber/latex_modules/bibtex.py", line 235, in post_compile
        return self.run()
      File "/usr/lib/python2.7/dist-packages/rubber/latex_modules/bibtex.py", line 258, in run
        if self.doc.env.execute(['bibtex', basename], doc, pwd=workdir):
      File "/usr/lib/python2.7/dist-packages/rubber/environment.py", line 226, in execute
        stderr = stderr)
      File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
        errread, errwrite)
      File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory: ''

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in rubber (Ubuntu):
status: New → Confirmed
Revision history for this message
Favio D'Ercole (fndercole) wrote :

I can avoid this bug installing rubber 1.1 from vivid and marking as hold to prevent ugrading.

Revision history for this message
Sam (puuska) wrote :

The bug is caused by bibtex.py -script, which fails to get workdir with os.path.dirname().
A temporary fix is to remove pwd=workdir -parameter from line 258, and only execute rubber inside the tex folder.

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.