Kile and TeX Live 2008 on Ubuntu Linux

Though the installation of TeX Live 2008 could be done easily also on Ubuntu Linux the installation of the very recommendable LaTeX editor Kile could raise a problem because Kile depends on the package texlive-latex-base of Ubuntu/ Debian Linux. There’s a tool called equivs helping to circumvent such dependencies by creating dummy packages, see APT HOWTO, Very useful helpers.

equivs can be installed by Synaptic or by aptitude or apt-get from the repositories:
sudo apt-get install equivs
equivs is able to create Debian packages providing information to the local package management. I’ve created a control file (calles texlive.ctl) for equivs simulating just texlive-latex-base:

Section: tex
Package: texlive-dummy
Provides: texlive-latex-base
Description: texlive dummy package
 This package provides dpkg with the information that
 there is the package texlive-latex-base installed.

I’ve processed it with equivs-build:
equivs-build texlive.ctl
The program created a file texlive-dummy_1.0_all.deb. This could be installed by
sudo dpkg -i texlive-dummy_1.0_all.deb
Afterwards Kile could be installed without to request any texlive package from the repositories and Kile worked fine with TeX Live 2008. (Update: see comment #4 for a complete control file for Kile on Jaunty.) You could lock the package to prevent it from being installed later.

The control file may refer to a different section (like misc) or could contain additional information (Provides: texlive-base, texlive-base-bin, …)

TeX Live 2008 is not planned any more to be released for Debian and therefore not for Ubuntu Linux. That version will be skipped, as announced by a Debian TeX maintainer, and TeX Live 2009, meant to be the next release for Debian/Ubuntu, is still under construction, that’s why I’m taking this as a temporary solution. After all the 2008 version is working fine thanks to the great work of the TeX Live team.

15. May 2009 by stefan
Categories: Uncategorized | 17 comments

Comments (17)

  1. Hi!

    I tried your method on Kubuntu Jaunty, but it does not work for me. I added some more files to the control file just to be sure, and checked out if they are provided. Alas, apt insist in installing the texlive metapackage together with a bunch of other texlive files.

    Panos

  2. update:
    after inserting ALL tex related dependencies to the control file, I was able to install kile alone (only imagemagick was added).

  3. My texlive.ctl looks like this:

    Section: tex
    Package: texlive-dummy
    Provides: texlive-base-bin, texlive-latex-base, asymptote, context, dblatex, dvipdfmx, dvipng, ghostscript, jabref, latex2html, lilypond, tex4ht, texlive-metapost, texlive-xetex, ktexmaker2
    Description: texlive dummy package
    This package provides dpkg with the information that
    there is the package texlive-latex-base installed.

  4. Hi Panos,

    on Jaunty there are indeed more dependencies for Kile. I’ve made a new Jaunty installation today and checked it. Kile depends on texlive-base-bin, texlive-latex-base and recommends texlive-metapost, texlive-xetex and more. They are depending on even more packages. Your solution is complete, but less packages would be sufficient.

    For instance you could install Kile without recommended packages and select really needed dependencies.

    I’ve tested this control file for equivs:

    Section: tex
    Package: texlive-dummy
    Provides: tex-common, texlive-common, texlive-latex-base, texlive-metapost, texlive-xetex, texlive-base-bin, texlive-base-bin-doc
    Description: texlive dummy package
    This package provides dpkg with the
    information that there are certain tex
    packages installed.

    After processing with equivs and dpkg I’ve called apt-get this way:

    sudo apt-get --no-install-recommends install kile

    The end of the output was:

    The following NEW packages will be installed:
    kde-icons-oxygen kdebase-runtime kdebase-runtime-bin-kde4
    kdebase-runtime-data kdebase-runtime-data-common kdelibs-bin kdelibs5
    kdelibs5-data kile konsole libaudio2 libclucene0ldbl libexiv2-5
    libmodplug0c2 libmpcdec3 libphonon4 libqt4-dbus libqt4-designer
    libqt4-network libqt4-qt3support libqt4-script libqt4-sql libqt4-svg
    libqt4-xml libqtcore4 libqtgui4 libraptor1 librasqal1 librdf0 libsoprano4
    libstreamanalyzer0 libstreams0 libxcb-shape0 libxcb-shm0 libxcb-xv0 libxine1
    libxine1-bin libxine1-console libxine1-misc-plugins libxine1-x
    phonon-backend-xine soprano-daemon
    0 upgraded, 42 newly installed, 0 to remove and 151 not upgraded.
    Need to get 47.1MB of archives.
    After this operation, 154MB of additional disk space will be used.
    Do you want to continue [Y/n]?

    As you can see texlive packages would not be installed. Also imagemagick is not needed.

    Stefan

  5. Hi Phil,

    thank you for your contribution! I’ve just read your comment after that test and submission of my ctl file and the output.
    It seems your way doesn’t require the apt-get option –no-install-recommends.

    Stefan

  6. Hi,
    thanks for this posting – exactly what I was looking for.
    Here my extended config file:

    Section: tex
    Package: texlive-dummy
    Provides: texlive-latex-base, asymptote,
    asymptote-doc, context, dblatex, dvipdfmx, dvipng, feynmf, guile-1.8, lacheck,
    latex-beamer, latex-xcolor, latex2html, libsigsegv0, lilypond, lilypond-data,
    lilypond-doc, lmodern, luatex, pgf, preview-latex-style, prosper, ps2eps,
    tex4ht, tex4ht-common, texlive, texlive-base, texlive-base-bin,
    texlive-base-bin-doc, texlive-common, texlive-doc-base, texlive-extra-utils,
    texlive-font-utils, texlive-fonts-recommended, texlive-fonts-recommended-doc,
    texlive-generic-extra, texlive-generic-recommended, texlive-humanities,
    texlive-humanities-doc, texlive-lang-cyrillic, texlive-latex-base,
    texlive-latex-base-doc, texlive-latex-extra, texlive-latex-extra-doc,
    texlive-latex-recommended, texlive-latex-recommended-doc, texlive-math-extra,
    texlive-metapost, texlive-metapost-doc, texlive-pictures,
    texlive-pictures-doc, texlive-pstricks, texlive-pstricks-doc, texlive-xetex,
    tipa
    Description: texlive dummy package
    This package provides dpkg with the information that
    there is the package texlive-latex-base installed.

  7. Why in 2009 we are still stuck with texlive2007 is a mystery. Why is all this stuff needed, instead of uploading the texlive 2009 packaes to the repositories?

  8. There are just too few people working on porting TeX Live 2009 to Debian and Ubuntu. If more programmer and tester would contribute the situation could be different. The simple explanation is that this work lasts on very few shoulders.

  9. Has anybody succeeded in getting rid of tex-common? I tried to build a texlive-dummy in order to install LyX with the following packages in texlive.ctl (on Karmic):

    dvipdfmx, dvipng, lacheck, latex-beamer, latex-xcolor, pgf, preview-latex-style, psutils, tex-common, texlive-base, texlive-base-bin, texlive-base-bin-doc, texlive-common, texlive-doc-base, texlive-extra-utils, texlive-fonts-recommended, texlive-fonts-recommended-doc, texlive-generic-extra, texlive-generic-recommended, texlive-humanities, texlive-humanities-doc, texlive-latex-base, texlive-latex-base-doc, texlive-latex-extra, texlive-latex-extra-doc, texlive-latex-recommended, texlive-latex-recommended-doc, texlive-pictures, texlive-pictures-doc, texlive-pstricks, texlive-pstricks-doc, tipa

    But if I want to install LyX APT still wants to install tex-common.

    Best
    Christoph

  10. I got an answer on the Ubuntu mailing list by sktsee:

    begin{quote}
    Not real familiar with equivs, but it looks to me as if you are running into this bit from the Debian Policy Manual http://www.debian.org/doc/debian-policy/ch-relationships.html

    From Section 7.5 Virtual packages – Provides

    “If a relationship field has a version number attached then only real packages will be considered to see whether the relationship is satisfied (or the prohibition violated, for a conflict or breakage) – it is assumed that a real package which provides the virtual package is not of the “right” version. So, a Provides field may not contain version numbers, and the version number of the concrete package which provides a particular virtual package will not be looked at when considering a dependency on or conflict with the virtual package name. ”

    One Lyx’s dependencies is lyx-common, which has this dependeny:
    $ apt-cache show lyx-common |grep Depend
    Depends: dpkg (>= 1.14.18), tex-common (>= 1.18), python, python-support
    (>= 0.90.0)

    lyx-common specifically depends on a version of tex-common >=1.18. According to the policy stated above, when dpkg sorts out the dependencies, it’s going to prefer a “real” package over a virtual one if a dependency lists a specific version number.

    I guess one way to solve this problem would be to create and install a dummy tex-common package. I assume that’s possible to do with the equivs program, though I’m unsure on the specific steps to accomplish it.
    end{quote}

    sktsee is right. Building a tex-common dummy with the following control file solved the problem:

    Section: tex
    Package: tex-common
    Version: 1.18
    Provides: tex-common
    Description: tex-common dummy package
    This package provides dpkg with the information that tex-common >= 1.18 is installed.

  11. Hi Christoph,

    thank you for sharing this information!

    Stefan

  12. Hi Stefan,

    unfortunately further problems occured. I filed a bug report: https://bugs.launchpad.net/ubuntu/+source/lyx/+bug/521932

    Christoph

  13. Natty (11.04) already comes with a suitable version of tex-common (2.09 in my beta Natty). I have both LyX and Kile running on my system. my texlive.ctl has:
    Section: tex
    Package: texlive-dummy
    Provides: texlive-latex-base, asymptote, asymptote-doc, context, dblatex, dvipdfmx, dvipng, feynmf, guile-1.8, lacheck, latex-beamer, latex-xcolor, latex2html, libsigsegv0, lilypond, lilypond-data, lilypond-doc, lmodern, luatex, pgf, preview-latex-style, prosper, ps2eps, tex4ht, tex4ht-common, texlive, texlive-base, texlive-base-bin, texlive-base-bin-doc, texlive-doc-base, texlive-extra-utils, texlive-font-utils, texlive-fonts-recommended, texlive-fonts-recommended-doc, texlive-generic-extra, texlive-generic-recommended, texlive-humanities, texlive-humanities-doc, texlive-lang-cyrillic, texlive-latex-base, texlive-latex-base-doc, texlive-latex-extra, texlive-latex-extra-doc, texlive-latex-recommended, texlive-latex-recommended-doc, texlive-math-extra, texlive-metapost, texlive-metapost-doc, texlive-pictures, texlive-pictures-doc, texlive-pstricks, texlive-pstricks-doc, texlive-xetex, tipa
    Description: texlive dummy package
    This package provides a mock package for texlive-latex-base. Not included texlive-common because it was causing some conflicts with tex-common. This may change by the time Natty is released.

  14. Hi, Stefan

    I am using ubuntu 10.04 and texlive 2011. I have never installed the texlive through the apt-get.

    When I used the method shared by Phil in the comments. There is always problem in the installation of the deb file. It says that


    texlive-base conflicts with dvipdfmx
    texlive-dummy provides dvipdfmx and is to be installed.
    dpkg: error processing texlive-dummy_1.0_all.deb (–install):
    conflicting packages – not installing texlive-dummy

    So, I am wondering which packages exactly I should put there in the ctl file? How do I know that? Could you please help me? For you reference, here is the NEW packages that will be installed in the output of “apt-get install kile”:

    asymptote asymptote-doc blt context dblatex dvipng exiv2 feynmf gdebi-kde
    guile-1.8 icoutils install-package kdebase-runtime kdebase-runtime-data
    kdelibs-bin kdelibs5 kdelibs5-data kdepimlibs-data kdepimlibs5 kdesudo kile
    konsole kpackagekit kubuntu-debug-installer lacheck latex-beamer
    latex-xcolor latex2html libakonadiprivate1 libattica0
    libboost-program-options1.40.0 libclucene0ldbl libdbusmenu-qt2 libexiv2-6
    libiodbc2 libnetpbm10 libpackagekit-glib2-12 libpackagekit-qt-12 libplasma3
    libpolkit-qt-1-0 libqca2 libruby1.8 libsigsegv0 libsoprano4 libssh-4
    libstreamanalyzer0 libstreams0 libt1-5 libxcb-shape0 libxine1 libxine1-bin
    libxine1-console libxine1-misc-plugins libxine1-x lilypond lilypond-data
    lilypond-doc netpbm oxygen-icon-theme packagekit packagekit-backend-apt
    perl-doc pgf phonon phonon-backend-xine plasma-scriptengine-javascript
    polkit-kde-1 preview-latex-style prosper ps2eps psutils python-imaging-tk
    python-kde4 python-packagekit python-qt4 python-sip python-tk ruby ruby1.8
    shared-desktop-ontologies software-properties-kde soprano-daemon tcl8.5
    tex-gyre tex4ht tex4ht-common texinfo texlive texlive-bibtex-extra
    texlive-extra-utils texlive-font-utils texlive-fonts-recommended
    texlive-fonts-recommended-doc texlive-generic-recommended
    texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended
    texlive-latex-recommended-doc texlive-math-extra texlive-metapost
    texlive-metapost-doc texlive-pictures texlive-pictures-doc texlive-pstricks
    texlive-pstricks-doc texlive-xetex tipa tk8.5 ttf-gfs-artemisia
    ttf-gfs-baskerville ttf-gfs-bodoni-classic ttf-gfs-didot
    ttf-gfs-didot-classic ttf-gfs-gazis ttf-gfs-neohellenic ttf-gfs-olga
    ttf-gfs-porson ttf-gfs-solomos ttf-gfs-theokritos ttf-sil-gentium
    update-manager-kde virtuoso-nepomuk

    Thanks!

  15. Hi Shujie,

    I’m now working with TeXworks, also included in TeX Live, which runs great, writing and viewing is very fast. Perhaps give it a try! Or try installing Kile from a .deb file with dpkg, or from the sources.

    Stefan

  16. Thank you, Stefan! I just got the TeXworks and am using it now.

    Shujie

  17. On Archlinux. How do you install only kile?

Leave a Reply

Required fields are marked *