Bug 555448 - LaTeX does not know any hyphenation except English
Summary: LaTeX does not know any hyphenation except English
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 11.2
Classification: openSUSE
Component: Other (show other bugs)
Version: Final
Hardware: All openSUSE 11.2
: P5 - None : Normal with 6 votes (vote)
Target Milestone: ---
Assignee: Dr. Werner Fink
QA Contact: E-mail List
URL:
Whiteboard: .
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-13 20:11 UTC by Thunder Kidd
Modified: 2010-03-01 14:43 UTC (History)
4 users (show)

See Also:
Found By: Community User
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
/etc/texmf/tex/generic/config/language.dat (4.76 KB, text/plain)
2009-11-17 10:19 UTC, Dr. Werner Fink
Details
/sbin/conf.d/SuSEconfig.texlive (14.48 KB, text/plain)
2009-11-17 12:21 UTC, Dr. Werner Fink
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thunder Kidd 2009-11-13 20:11:43 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.5) Gecko/20091103 SUSE/3.5.5-2.1 Firefox/3.5.5

When using \usepackage[ngerman]{babel} in a tex-file LaTeX says that no hyphenation patterns were loaded for ngerman and as a result many bad boxes are created. The reason for this bug is probably that /etc/texmf/tex/generic/config/language.dat does not contain any languages besides English. Adding a "ngerman dehyphn.tex" line to the file and runing "sudo fmtutil-sys --all" fixes the problem for me.

Reproducible: Always

Steps to Reproduce:
1. compile .tex-file with \usepackage[ngerman]{babel}
Actual Results:  
No hyphenatinon patterns are loaded and finished document has many overfull boxes and locks bad defeating the purpose of using LaTeX.

Expected Results:  
Hyphenation patterns should be loaded.

I fixed the problem on my machine thanks to dhaumann.
http://forums.opensuse.org/applications/425403-latex-hyphenation-not-working-german-other-languages.html
Comment 1 Forgotten User k1N4TgUH7O 2009-11-14 11:52:43 UTC
Several comments:
1. I don't know whether my workaround is the right fix.
2. Gentoo has a similar report: http://bugs.gentoo.org/212515
   Maybe it helps fixing this report as well (see last comment there).


Just for reference, the error message in tex is:

  Package babel Warning: No hyphenation patterns were loaded for
  (babel)                the language `German'
  (babel)                I will use the patterns loaded for \language=0 instead
Comment 2 Forgotten User k1N4TgUH7O 2009-11-14 11:55:53 UTC
Maybe indeed important: in the gentoo report the link to the gentoo texlive-update process says at the very end:

  Code Listing 4.6: find language.dat
  $ kpsewhich language.dat
  /usr/share/texmf/tex/generic/config/language.dat

This file is automatically generated by texmf-update and is the result of concatenating language.*.dat files present in the directory with language.us (for TeX Live 2008, the language.*.dat files are taken from /etc/texmf/language.dat.d/). This directory should be /usr/share/texmf/tex/generic/config/. So you should check that there are no other language.*.dat files in that directory other than the ones installed by the various dev-texlive/texlive-lang* ebuilds. A file present in that directory means that you want to enable hyphenation support for a specific language; if you don't have the hyphenation support files the formats that use this extra hyphenation support will fail to build.

I have not tried this.
Comment 3 Forgotten User k1N4TgUH7O 2009-11-14 11:59:14 UTC
More on adding new langauges to the babel package:
  http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlang
Comment 4 Dr. Werner Fink 2009-11-16 09:08:09 UTC
Something is wrong with your system

 /suse/werner> rpm -qf /etc/texmf/tex/generic/config/language.dat
 texlive-2008-12.14.noarch
 /suse/werner> grep  -c -v '^%' /etc/texmf/tex/generic/config/language.dat 
 70
 /suse/werner> grep ngerman /etc/texmf/tex/generic/config/language.dat
 ngerman-x-2008-06-18 dehyphn-x-2008-06-18.tex
 =ngerman-x-latest
 ngerman loadhyph-de-1996.tex

could it be that you have overwritten language.dat by installing a foreign
TeX(Live) package?

Please run

  rpm -V texlive texlive-bin texlive-latex texlive-bin-latex

and report the result.
Comment 5 Forgotten User k1N4TgUH7O 2009-11-16 13:42:04 UTC
$ rpm -V texlive texlive-bin texlive-latex texlive-bin-latex
No output.

$ rpm -v -V texlive texlive-bin texlive-latex texlive-bin-latex
[...]
.........    /etc/texmf/ls-R
.........    /etc/texmf/tex
.........    /etc/texmf/tex/amstex
.........    /etc/texmf/tex/amstex/base
.........  c /etc/texmf/tex/amstex/base/amsppt.sti
.........    /etc/texmf/tex/generic
.........    /etc/texmf/tex/generic/config
.........  c /etc/texmf/tex/generic/config/language.dat
.........  c /etc/texmf/tex/generic/config/language.def
.........  c /etc/texmf/tex/generic/config/pdftexconfig.tex
.........    /etc/texmf/tex/mex
.........    /etc/texmf/tex/mex/base
.........  c /etc/texmf/tex/mex/base/mexconf.tex
.........    /etc/texmf/tex/plain
.........    /etc/texmf/tex/plain/cyrplain
.........  c /etc/texmf/tex/plain/cyrplain/cyrtex.cfg
.........    /etc/texmf/web2c
.........  c /etc/texmf/web2c/fmtutil.cnf
.........  c /etc/texmf/web2c/mktex.cnf
.........  c /etc/texmf/web2c/texmf.cnf
.........  c /etc/texmf/web2c/updmap.cfg
.........    /etc/texmf/xdvi
.........  c /etc/texmf/xdvi/XDvi
[...]
lots of ... ... without any c or d
[...]
/usr/lib/texmf/doc/info/dir
.........  d /usr/lib/texmf/doc/info/dvipng.info.gz
.........  d /usr/lib/texmf/doc/info/dvips.info.gz
.........  d /usr/lib/texmf/doc/info/eplain.info.gz
.........  d /usr/lib/texmf/doc/info/fontname.info.gz
.........  d /usr/lib/texmf/doc/info/kpathsea.info.gz
.........  d /usr/lib/texmf/doc/info/localdir
.........  d /usr/lib/texmf/doc/info/tds.info.gz
.........  d /usr/lib/texmf/doc/info/texdraw.info.gz
.........  d /usr/lib/texmf/doc/info/web2c.info.gz
[...]

This is a fresh openSUSE 11.2 installation.

If you need further info, just let me know.
Comment 6 Dr. Werner Fink 2009-11-16 13:49:40 UTC
run as root

       /sbin/conf.d/SuSEconfig.texlive

*or*

       SuSEconfig --module texlive

... this should generate the appropiate language setup. Be
aware that ENABLE_SUSECONFIG="yes" should beset in /etc/sysconfig/suseconfig
for this.
Comment 7 Forgotten User k1N4TgUH7O 2009-11-16 16:58:03 UTC
ENABLE_SUSECONFIG="yes" is set. Running one of the above does not fix it.


Maybe I should try the following?

# rm -rf /etc/texmf/tex # or rather rename.
# texmf-update
Comment 8 Dr. Werner Fink 2009-11-17 10:16:45 UTC
Don't do this.  There is *no* texmf-update *nor* tlmgr as this destroys
the RPM data base on the installed files and directories.

About the bug you're right.  There was a change between TeX Live 2007 and
TeX Live 2008.  In the first version the

 /etc/texmf/tex/generic/config/language.dat

had to been autogenerated from round about 36 other language.*.dat files
for any supported language.  This is done by /sbin/conf.d/SuSEconfig.texlive
... now the part of the autogeneration is already there but beside the us
case no one of the other language.*.dat files.

I'll attach the correct /etc/texmf/tex/generic/config/language.dat to this
bug which you may copy into the same place
Comment 9 Dr. Werner Fink 2009-11-17 10:19:50 UTC
Created attachment 327862 [details]
/etc/texmf/tex/generic/config/language.dat

The initial /etc/texmf/tex/generic/config/language.dat as it should
be installed.  The SuSEconfig should not override this anymore as
the md5 check sum does not belong anymore to this file.  But nevertheless
the part of /sbin/conf.d/SuSEconfig.texlive looks like this

 #
 # Create new language.dat if needed
 #
 if test $omd5lang = 0 -o \
         \( $md5lang = $omd5lang -a "$md5_nt_lang" = "yes" \)
 then
     if test -n "$cnf_base" -a -e ${cnf_base}; then
         trap 'rm -f $tmp' 1 2 3 5 7 10 13 15
         tmp=$(mktemp ${TMPDIR:-/tmp}/language.dat.XXXXXX) || exit 0
         cat ${cnf_base} > $tmp
         for lang in ${cnf_base%/*}/language.*.dat ; do
             test -e $lang || break
             cat $lang
         done >> $tmp
         if ! cmp -s $tmp ${cnf_lang} ; then
             cat $tmp > ${cnf_lang}
             set -- $(md5sum < ${cnf_lang})
             echo $1 > ${md5_lang}
             fmtutil-sys --byhyphen ${cnf_lang} 
         fi
         rm -f $tmp
         trap - 1 2 3 5 7 10 13 15
     fi
 fi

you may simply remove this part.
Comment 10 Dr. Werner Fink 2009-11-17 12:21:50 UTC
Created attachment 327892 [details]
/sbin/conf.d/SuSEconfig.texlive

A changed /sbin/conf.d/SuSEconfig.texlive which should avoid the problem its
self.
Comment 11 Forgotten User k1N4TgUH7O 2009-11-18 10:50:59 UTC
language.dat is still not generated correclty here.
What I tried now is this:
1. remove langauge.dat
2. touch language.dat (0 byte file)
3. call new SuSEconfig.texlive

language.dat remains a 0 byte file. Nothing is generated.

If I call the old SuSEconfig.texlive script, language.dat is regenerated at least with the old (buggy) content.

Any further ideas?
Comment 12 Dr. Werner Fink 2009-11-19 08:37:42 UTC
the language.dat will *not* generated anymore even in the original TeX Live
2008 tar ball ... please use the attachment #327862 [details] as replacment for
/etc/texmf/tex/generic/config/language.dat then install attachment #327892 [details]
as replacment for /sbin/conf.d/SuSEconfig.texlive
Comment 13 Dr. Werner Fink 2009-11-25 08:45:58 UTC
Ping! Any news about?
Comment 14 Thunder Kidd 2009-11-25 11:47:40 UTC
@Dr. Werner Fink

After installing openSUSE 11.2 and TeXlive on my netbook I faced the same problem I had on my desktop computer, no languages besides Enlish, dumylang and nohyphenation.  After replacing /etc/texmf/tex/generic/config/language.dat with your attached version and doing "sudo fmtutil-sys --all" the problem is fixed.
Comment 15 Thunder Kidd 2009-12-09 12:53:23 UTC
Are any more infos needed?
Comment 16 João Paulo Carvalho 2009-12-23 19:52:20 UTC
I want to add that in my Windows (MikTex) installation I have similar problem (with portuguese hyphenation). But even if I have included the similiar lines, the PDFLatex still doesn't recognizing the hyphenation.

portuguese loadhyph-pt.tex
=portuges


uncommented in my language.dat file
Comment 17 Klaus Singvogel 2010-01-02 16:36:30 UTC
Werner, I faced the very same issue on my openSUSE-11.2 machines.

I replaced language.dat and SuSEconfig.texlive with the versions from this bugzilla entry. Doing that the issue was gone.

Hopefully this is provides the NEEDINFO.
Comment 18 Dr. Werner Fink 2010-01-15 17:20:28 UTC
all users having this problem may try out the version found at

   http://download.opensuse.org/repositories/Publishing/
Comment 19 Forgotten User SL5n_emOhh 2010-01-21 21:40:12 UTC
I did the same steps as Thunder Kidd at Comment #14 and my hyphenation problem from portuguese has been fixed also.

Werner, what's the procedure to take this fix to the openSUSE-11.2-Update repository?
Comment 20 Dr. Werner Fink 2010-01-22 11:40:45 UTC
A SWAMPID is required (IMHO)
Comment 21 Marcus Meissner 2010-01-22 13:13:58 UTC
regression fix, so i would do it: +1

(once finally approved, submit fixed package + patchinfo, see Miantenance packages on opensuse.org wiki)
Comment 22 Swamp Workflow Management 2010-01-28 14:36:35 UTC
The SWAMPID for this issue is 30557.
Please submit the patch and patchinfo file using this ID.
(https://swamp.suse.de/webswamp/wf/30557)
Comment 23 Marcus Meissner 2010-01-28 14:37:08 UTC
please submit.
Comment 25 Dr. Werner Fink 2010-02-12 14:15:12 UTC
Request id 32394 for openSUSE:11.2
Comment 26 Marcus Meissner 2010-02-18 15:14:25 UTC
you missed submitting the patchinfo.

i just submitted one with texlive,texlive-bin  as PACKAGE (will be completed to all generated binary packages).
Comment 27 Swamp Workflow Management 2010-03-01 14:43:03 UTC
Update released for: texlive, texlive-arab, texlive-bin, texlive-bin-cjk, texlive-bin-cjk-debuginfo, texlive-bin-debuginfo, texlive-bin-debugsource, texlive-bin-devel, texlive-bin-devel-debuginfo, texlive-bin-dvilj, texlive-bin-dvilj-debuginfo, texlive-bin-jadetex, texlive-bin-latex, texlive-bin-latex-debuginfo, texlive-bin-metapost, texlive-bin-metapost-debuginfo, texlive-bin-musictex, texlive-bin-musictex-debuginfo, texlive-bin-omega, texlive-bin-omega-debuginfo, texlive-bin-tex4ht, texlive-bin-tex4ht-debuginfo, texlive-bin-tools, texlive-bin-tools-debuginfo, texlive-bin-xetex, texlive-bin-xetex-debuginfo, texlive-bin-xmltex, texlive-cjk, texlive-context, texlive-devel, texlive-doc, texlive-dvilj, texlive-jadetex, texlive-latex, texlive-latex-doc, texlive-metapost, texlive-musictex, texlive-nfs, texlive-omega, texlive-ppower4, texlive-tex4ht, texlive-tools, texlive-xetex, texlive-xmltex
Products:
openSUSE 11.2 (debug, i586, x86_64)