You are not logged in.

#1 2008-12-21 13:05:52

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

[SOLVED] texlive2k8 -- how to install omega into $HOME?

Hi folks!

Because the omega-collection is declared obsolete and therefor no more provided in texlive2008. That's bad, because I used it with tl2k7, and though I appreciate xelatex and cjklatex, I still need lambda very badly. So I want to have it installed it now in $HOME for several reasons:
* I could probably install it systemwide as root somehow, but I'd like to avoid conflicts with pacman...
* ...as omega shouldn't be overidden by systemwide tl-package-updates
* I want to have one specific user make use of it
* I can 'take it with me' (like the whole $HOME-dir) then so that I mustn't isntall it again, just to copy and rehash it (somehow) after setting up a new linux- or tl-system.
-- And yes, I haven't any experience yet on how to install external latex-packages, so hence omega is a "collection" makes it even more difficult for me~

The destination dirs should be ~/.mytexmf (bec. I'd like to have it hidden) and ~/.texlive/*. Therefore I edited /usr/share/texmf/web2c/texmf.cnf like this:

% TEXMFHOME = ~/texmf % default
TEXMFHOME = ~/.mytexmf
...
TEXMFVAR = ~/.texlive/texmf-var
...
TEXMFCONFIG = ~/.texlive/texmf-config
...
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,!!$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
...
TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST,!!$TEXMFDOC,$TEXMFHOME}
...

(I don't know really the meaning of adding !! and if it's necessary here; I read somewhere, that !! makes a directory 'ls-R'-able, but then users tend to forget to update it also and that's why that should be avoided.)
The first problems arise here, because a $ texhash still returns

texhash: /usr/share/texmf: directory not writable. Skipping...
texhash: /usr/share/texmf-config: directory not writable. Skipping...
texhash: /usr/share/texmf-dist: directory not writable. Skipping...
texhash: /usr/share/texmf-doc: directory not writable. Skipping...
texhash: /usr/share/texmf-var: directory not writable. Skipping...
texhash: Done.

though the my paths are correct and even the exports included into ~/.bash_profile:

$ kpsewhich --var-value=TEXMFCONFIG   ((aka kpsexpand '$TEXMFCONFIG'...))
home/myuser/.texlive/texmf-config
 $ kpsewhich --var-value=TEXMFVAR
/home/myuser/.texlive/texmf-var
 $ kpsewhich --var-value=TEXMFHOME
home/myuser/.mytexmf

Next point: The easiest way would be to run tlmgr for instaling the omega-collection, but either it is (still) not existing within the Arch-TL-installation (couldn't figure out that here or find it in AUR) -- or I'm just to stupid to find and to launch it; I also couldn't run it from a mounted texlive2008.iso yet -- but if, how would the iso's-tlmgr know about my installed texlive-system? Nevertheless tlmgr probably wouldn't find the necessary files (though there's some data with 'omega') on the tl2k8-iso, it could install it properly from an external place.

Then I mounted my old tl2k7.iso and went to the mountpoint for executing $ sh install-pkg.sh --collection=omega, with similar errors:

...
/bin/tar: texmf-dist/fonts/afm/public/omega/omseco.afm: cannot execute open: file or directory not found
/bin/tar: texmf-dist/fonts/afm/public/omega/omsecob.afm: cannot execute open: file or directory not found
/bin/tar: texmf-dist/fonts/afm/public/omega/omsecobi.afm: cannot execute open: file or directory not found
...
/bin/tar: texmf/lists/omega: cannot execute open: file or directory not found
/bin/tar: texmf/tpm/bin-omega.tpm: cannot execute open: file or directory not found
/bin/tar: texmf/web2c/omega.pool: cannot execute open: not authorized
/bin/tar: exited because of preceeding errors.
install-pkg.sh: line 213: /usr/share/texmf-config/tex/generic/config/language.dat: not authorized
mktexlsr: /usr/share/texmf: directory not writable. Skipping...
mktexlsr: /usr/share/texmf-dist: directory not writable. Skipping...
mktexlsr: Done.
updmap: config file `updmap.cfg' not found.
PLEASE RUN texconfig or texconfig-sys to make new formats.

(texconfig --rehash/texhash [as user or root] didnt't make any difference.)

I also tar-ed omega

 $ sh install-pkg.sh --package=omega --archive=/home/myuser/.mytexmf/_tl-omega_rc/omega-sty.tar

and extracted it into the appropriate directories within ~/.texlive and ~/.mytexmf and made symbolic links into /usr/bin for lambda and omega. But again 'of course' texhash (as user or root) didn't show any effect~

I hope everthing is understandable.
So how can I install omega/lambda in $HOME via install-scipt or tlmgr (if it exists and I can get it to run)?
Any hints? -- Thanks very much in advance! smile smile

Last edited by nexus7 (2009-01-11 19:35:58)


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#2 2008-12-30 21:40:33

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: [SOLVED] texlive2k8 -- how to install omega into $HOME?

nexus7 wrote:

Next point: The easiest way would probably be to run tlmgr for instaling the omega-collection, but either it is (still) not existing within the Arch-TL-installation (couldn't figure out that here or find it in AUR)

Well, tlmgr is of course on the mounted iso TL2k8 (just mixed s.th. up~), but it does not start:

# /mnt/bin/i386-linux/tlmgr
Can't locate TeXLive/TLPOBJ.pm in @INC (@INC contains: //tlpkg /usr/lib/perl5/site_perl/5.10.0 /usr/share/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /usr/lib/perl5/current /usr/lib/perl5/site_perl/current .) at /mnt/bin/i386-linux/tlmgr line 33.
BEGIN failed--compilation aborted at /mnt/bin/i386-linux/tlmgr line 33.

where line 33 is this:

...
use TeXLive::TLPOBJ;
...

and I don't know what to do here~

And neither works installing from the mounted TL2k7-iso, even when I try to install omega/lambda into my main texmf:

 # sh install-pkg.sh --collection=omega
(ignoring dependency on collection collection-basic)
cat: language.*.dat: file or directory not found.
mktexlsr: Updating /usr/share/texmf/ls-R... 
mktexlsr: Updating /usr/share/texmf-dist/ls-R... 
mktexlsr: Done.
updmap: config file `updmap.cfg' not found.
PLEASE RUN texconfig or texconfig-sys to make new formats.

texconfig-sys makes no change. But this is funny because there are several 'updmap.cfg's:

# locate updmap.cfg
/home/myuser/.mytexmf/home/myuser/.texlive/texmf-config/web2c/updmap.cfg
/usr/share/man/man5/updmap.cfg.5
/usr/share/texmf/web2c/updmap.cfg
/usr/share/texmf-config/web2c/updmap.cfg

(and I wonder why this directories and files indeed exist~:

/home/myuser/.mytexmf/home/myuser/.texlive/texmf-config/web2c/updmap.cfg

)

I ran mktexlsr in my specific directories in HOME again though i don't know if this is really necessary, with the same result: these directories are not recognized, only those in /usr/share...

Tried then

# fmtutil --byfmt lambda
# fmtutil --byfmt omega

but with no output.

Edits from my /usr/share/texmf/web2c/texmf.cnf:

TEXMFMAIN = /usr/share/texmf
TEXMFDIST = /usr/share/texmf-dist
TEXMFLOCAL = /usr/local/share/texmf
TEXMFSYSVAR = /usr/share/texmf-var
TEXMFSYSCONFIG = /usr/share/texmf-config
% TEXMFHOME = ~/texmf % default 
TEXMFHOME = ~/.mytexmf
TEXMFVAR = ~/.texlive/texmf-var
%TEXMFCONFIG = ~/.texlive/texmf-config
TEXMFCONFIG = /usr/share/texmf-config
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
VARTEXFONTS = $TEXMFVAR/fonts
TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST,!!$TEXMFDOC,$TEXMFHOME}

WEB2C = $TEXMF/web2c
TEXINPUTS.tex           = .;$TEXMF/tex/{plain,generic,}//
...
% These defunct engines are not provided for Arch Linux:
% -- deleted %% at these lines for enabling omega/lambda-functionality:
    TEXINPUTS.lamed          = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
    TEXINPUTS.lambda         = .;$TEXMF/tex/{lambda,latex,generic,}//
    TEXINPUTS.omega          = .;$TEXMF/tex/{plain,generic,}//
    TEXINPUTS.aleph         = .;$TEXMF/tex/{plain,generic,}//
...

Excerpt of ~/.bash_profile:

...
export TEXMFHOME='home/myuser/.mytexmf'
export TEXMFVAR='/home/myuser/.texlive/texmf-var'
export TEXMFCONFIG='/home/myuser/.texlive/texmf-config'

Ugh, this is strenuous~


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#3 2008-12-30 22:51:11

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: [SOLVED] texlive2k8 -- how to install omega into $HOME?

sry, just an addition wink

For I especially need to use hlatex that works only properly with lambda on utf8 because it's euc-kr-based, I've been thinking about alternatives how to get it run -- probably the creating of a new user would be the best solution, like this:

a) the new user's locale would be set to "ko_KR.EUC-KR EUC-KR".
The advantage would then be that I can use the actual TL2k8 and hlatex. The problems that would occur then is at first the usage of the keyboard because it isn't korean -- especially the switching of English/Hangul/Hanja; second, I don't at all know what console font to use that displays hangul/hanja but is not utf8~

or

b) the new user's system remains utf8 and includes a complete installation of TL2k7 (which includes lambda/omega) within the user's $HOME.
First of all, that installation must be done by that user himself from the iso's shell script (and not via root/pacman). The problem to solve would be then how to configure all the paths so that the user uses only TL2k7 and won't mess up with the system's TL2k8 -- if this is possible at all~!

Has anybody got some experiences with s.th. like that? Or any other ideas?

Cheers!

Last edited by nexus7 (2008-12-31 09:15:18)


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#4 2009-01-11 19:35:08

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: [SOLVED] texlive2k8 -- how to install omega into $HOME?

OK, solved it my way.
That was 1 week ago, and because I'd like to close that thread successfully and keep it for the (hypothetical) posterity, I wrote it down here how I did it.

Well, I simply uninstalled all official texlive-packages and installed TL directly from the dvd-isos. And similar to this, I installed that dummy-PKGBUILD :

pkgname=texlive-dummy
pkgver=1.0
pkgrel=1
pkgdesc="TeX typesetting program"
arch=(i686 x86_64)
license=
provides=('tetex' 'texlive-bin' 'texlive-core' 'texinfo')
conflicts=('tetex' 'texlive-bin' 'texlive-core')
build() {
/bin/true
}

Probably both 'texlive-core' and 'texlive-core' must not be set at the same time, because texlive-core depends on texlive-bin, but I wanted to be on the safe side. And 'tetex' is needed because there are applications that still depend on it.

I planned to first install TL2007 and TL2008 afterwards for switching to TL2k7 whenever I'd need the omega/lambda-stuff and switching back to TL2k8 (or later) otherwise. (-- After installing both I later realised, that TL2k8 does contain omega/lambda as well, though I thought it had been excluded from the official TL2k8-release! So now there's no need to keep 2k7; therefore on a second system I installed 2k8 only.)
Hence, both distros came (mainly) into different directories. And so would the symlinks, for which I created extra directories in /usr/share, for two reasons: a) switching to the desired TL-distro and b) that I later mustn't figure out where they belong to, e.g. if I want to delete a distro or maybe want to use the Arch-pkgs some day. For switching the distro I put one of the /usr/bin/TLxxx into my $PATH which must be edited then, if necessary. -- Since installing TL the Arch way all stuff comes into /usr/share/texlive, one must tell the TL-installer about the specific directories when installing from dvd/iso, so here are mine:

* TEXDIR=/usr/share/texlive/2008   (and /usr/share/texlive/2007 respectively)
* TEXMFLOCAL=/usr/share/texlive/texmf-local
* TEXMFHOME=~/.mytexmf
* symlinks to: /usr/bin/TL2k8   (and /usr/bin/TL2k7 respectively)
* manpages to: /usr/share/man
* infopages to: /usr/share/info

And finally, just as another double-safe precaution I added texlive into /etc/pacman.conf:

IgnorePkg   = texlive-bin texlive-core
IgnoreGroup = texlive-most

End of  the story. cool

About the above mentioned hlatex, which I couldn't get to work (though I edited the pkgbuild to my needs): I just uninstalled the pkg and it's dependency hlatex-fonts, download the stuff from a CTAN-mirror and installed it manually accordingly to the hlguide. Because I'd like any of my TL-distros to work with it, the installation-directory is $TEXMFLOCAL (so e.g. texmf-hlatex/tex/lambda/hlatex becomes /usr/share/texlive/texmf-local/tex/lambda/hlatex). And my tex user should be able to install hlatex by himself, what means he would read, write and texhash that directory, so I added him to the user group tex:

#  gpasswd -a myuser tex

Then I made $TEXMFLOCAL group-writable

#  cd $TEXMFLOCAL
#  chgrp -R tex *
#  chmod -R g+rw *

During installation some directories had to be created, very important is the new $TEXMFLOCAL/fonts/map/hlatex for those base- and extra.maps. Btw an extra texhash at any time wouldn't harm. wink

Last edited by nexus7 (2009-01-18 21:13:00)


we are Arch.
you will be assimilated!
resistance is futile!

Offline

Board footer

Powered by FluxBB