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.
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
update:
after inserting ALL tex related dependencies to the control file, I was able to install kile alone (only imagemagick was added).
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.
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
Output:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra 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 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
Suggested packages:
kdebase kile-doc nas libqt4-dev gxine xine-ui libxine1-doc libxine-doc
libxine1-ffmpeg
Recommended packages:
khelpcenter4 ttf-dejavu asymptote context dblatex dvipdfmx dvipng
imagemagick kbibtex pybliographer gbib jabref konqueror iceweasel latex2html
lilypond okular gv psutils tex4ht exiv2 libqt4-sql-mysql libqt4-sql-odbc
libqt4-sql-psql libqt4-sql-sqlite libqt4-sql-sqlite2 qt4-qtconfig
raptor-utils redland-utils
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 in the “New packages” section there would be no texlive packages installed. Also imagemagick won’t be necessary.
Stefan
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:
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
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
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.
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?
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.
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
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.
Hi Christoph,
thank you for sharing this information!
Stefan
Hi Stefan,
unfortunately further problems occured. I filed a bug report: https://bugs.launchpad.net/ubuntu/+source/lyx/+bug/521932
Christoph
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.
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!
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
Thank you, Stefan! I just got the TeXworks and am using it now.
Shujie
On Archlinux. How do you install only kile?
Pingback: LaTeX, Unicode, Kile, TeXmaker, Ubuntu Gnome, and SCIM /SKIM | DomPress