gregorio-project / gregorio

The Gregorio Project
http://gregorio-project.github.io
Other
162 stars 43 forks source link

\gre@ifnotlatex raises error in gregoriotex-symbols.tex (l. 239) #1241

Closed jperon closed 7 years ago

jperon commented 7 years ago

You may have an example of this error by visiting this page ; commenting out lines 239 to end makes it disappear.

henryso commented 7 years ago

I downloaded exemples.zip and tried to process Magnificat.tex. I couldn't get lyluatex to work, so I commented out \usepackage{lyluatex} and \includely{ly/Magnificat.ly} and was able to process Magnificat.tex successfully.

Is there some other example I should look at?

jperon commented 7 years ago

You'll find a document that shows the error in this archive.

henryso commented 7 years ago

I'm unable to reproduce the problem with that archive, either. Perhaps someone else can try.

jperon commented 7 years ago

Here is a MWE which, on my system, raises the error :

\documentclass{minimal}
\usepackage{gregoriosyms}
\begin{document}
\end{document}

Ater investigating a little, it seems the problem would be Debian/Ubuntu specific : I've installed gregorio and gregoriotex 4.2 (from ppa), but gregorio(tex) 4.1 comes with standard TexLive as packaged for Debian/Ubuntu : so I've got gregoriotex 4.1 in /usr/share/texlive/texmf-dist/tex/lualatex/gregoriotex and 4.2 in /usr/share/texmf/tex/luatex/gregoriotex. When I move the first one to a backup location and replace it with a link to the second (or even leave it empty), I've no error.

What I don't understand is that, when I type kpsewhich gregoriotex.sty or kpsewhich gregoriosyms.sty, I get the correct location (/usr/share/texmf/…) ; it seems that lualatex doesn't follow that so strictly.

henryso commented 7 years ago

Does your log file show that the wrong gregoriosyms.sty or gregoriotex.sty is being picked up? Perhaps you can attach the log file?

It might be helpful if you (after restoring the files to the non-working state) run the contrib/system-setup.command and attach the output of that script as well.

This is sounding less like a Gregorio bug than a TeX Live bug or (perhaps) a Debian/Ubuntu packaging bug.

jperon commented 7 years ago

Here is the log. You'll effectively see that gregoriosyms 2016/05/29 v4.1.4 gets loaded (l. 10), but Lua module: gregoriotex 2016/09/23 4.2.0 is loaded after that (l. 99), which throws the error as in the title, then ! Package GregorioTeX Error: uncoherent file versions: gregoriosyms.sty is in version 4.1.4 while gregoriotex.lua is in version .

henryso commented 7 years ago

What do kpsewhich --var-value TEXMF and kpsewhich --var-value LUAINPUTS produce?

jperon commented 7 years ago
% kpsewhich --var-value TEXMF
{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}

% kpsewhich --var-value LUAINPUTS
.:{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}/scripts/{kpsewhich,unsetengine,}/{lua,}//:{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}/tex/{luatex,plain,generic,}//
henryso commented 7 years ago

I'll try to set up a VM so I can try to reproduce what you are seeing, but perhaps @rpspringuel or @eroux will have some ideas, since this looks like a kpse issue.

rpspringuel commented 7 years ago

Please run system-setup.command (found in the contrib folder) and post the results.

jperon commented 7 years ago

@henryso If you use docker, you could use this docker image to reproduce the error : https://hub.docker.com/r/musite/gregorio/

@rpspringuel Here is the content of system-setup.log :

### Gregorio Unix Setup Results
####    Created: mercredi 5 octobre 2016, 07:58:50 (UTC+0200)
-----------------------------------------------------------------------------

### OS Version
#57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016

-----------------------------------------------------------------------------

### LuaTeX Setup
####    Version

This is LuaTeX, Version 0.98.3 (TeX Live 2017/dev)

Execute  'luatex --credits'  for credits and version details.

There is NO warranty. Redistribution of this software is covered by
the terms of the GNU General Public License, version 2 or (at your option)
any later version. For more information about these matters, see the file
named COPYING and the LuaTeX source.

LuaTeX is Copyright 2016 Taco Hoekwater and the LuaTeX Team.

####    Location

/usr/local/bin/luatex
/usr/bin/luatex

####    TEXMFLOCAL

/usr/local/share/texmf

#### TEXINPUTS.lualatex
.:{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}/tex/{lualatex,latex,luatex,generic,}//

#### LUAINPUTS.lualatex
.:{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}/scripts/{kpsewhich,unsetengine,}/{lua,}//:{/home/jacques/.texlive2016/texmf-config,/home/jacques/.texlive2016/texmf-var,/home/jacques/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}/tex/{lualatex,latex,luatex,generic,}//

#### shell_escape
p

#### Shell Escape Commands
bibtex,bibtex8,extractbb,gregorio,gregorio-4_2_0,kpsewhich,makeindex,mpost,repstopdf,%%% End of file: /etc/texmf/texmf.d/99gregorio-recent.cnf

#### openout_any
p

#### openin_any
a

-----------------------------------------------------------------------------

### Gregorio Setup
####    Locations and Versions

/usr/bin/gregorio
Gregorio 4.1.1 (kpathsea version 6.2.2).
Copyright (C) 2006-2016 Gregorio project authors (see CONTRIBUTORS.md)
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

/usr/bin/gregorio-4_2_0
Gregorio 4.2.0 (kpathsea version 6.2.2).
Copyright (C) 2006-2016 Gregorio project authors (see CONTRIBUTORS.md)
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

####    GregorioTeX Locations

##### gregoriosyms.sty
/usr/share/texmf/tex/luatex/gregoriotex/gregoriosyms.sty
4.2.0
/usr/share/texlive/texmf-dist/tex/lualatex/gregoriotex/gregoriosyms.sty
4.1.4
##### gregoriotex-chars.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-chars.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-chars.tex
4.1.4
##### gregoriotex-main.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-main.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-main.tex
4.1.4
##### gregoriotex-nabc.lua
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-nabc.lua
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.lua
4.1.4
##### gregoriotex-nabc.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-nabc.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.tex
4.1.4
##### gregoriotex-signs.lua
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-signs.lua
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.lua
4.1.4
##### gregoriotex-signs.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-signs.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.tex
4.1.4
##### gregoriotex-spaces.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-spaces.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-spaces.tex
4.1.4
##### gregoriotex-syllable.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-syllable.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-syllable.tex
4.1.4
##### gregoriotex-symbols.lua
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-symbols.lua
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.lua
4.1.4
##### gregoriotex-symbols.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex-symbols.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex
4.1.4
##### gregoriotex.lua
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.lua
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex.lua
4.1.4
##### gregoriotex.sty
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.sty
4.2.0
/usr/share/texlive/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty
4.1.4
##### gregoriotex.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.tex
4.2.0
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex
4.1.4
##### greciliae.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/greciliae.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/greciliae.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### greciliae-op.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/greciliae-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### greextra.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/greextra.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/greextra.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### gregorio.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/gregorio.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/gregorio.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### gregorio-op.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/gregorio-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/gregorio-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### granapadano.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/granapadano.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/granapadano.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### granapadano-op.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/granapadano-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/granapadano-op.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### gregall.ttf
/usr/share/texmf/fonts/truetype/public/gregoriotex/gregall.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
/usr/share/texlive/texmf-dist/fonts/truetype/public/gregoriotex/gregall.ttf
./system-setup.command: ligne 175: otfinfo : commande introuvable
##### gregorio-vowels.dat
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregorio-vowels.dat
##### gsp-default.tex
/usr/share/texmf/tex/luatex/gregoriotex/gsp-default.tex
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gsp-default.tex
##### gregoriotex-ictus.tex
##### gresym.ttf
##### parmesan.ttf
##### parmesan-op.ttf
##### gregsmodern.ttf

### LuaTeX Double Checks
#### kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.sty
/usr/share/texlive/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty

#### kpsewhich --all -engine luatex gregoriotex.tex
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.tex
/usr/share/texlive/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex

-----------------------------------------------------------------------------
henryso commented 7 years ago

@jperon Please supply the output of kpsewhich --all -engine lualatex -progname lualatex gregoriotex.sty

If this does not return /usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.sty as the first line, try moving that file and gregoriosyms.sty to /usr/share/texmf/tex/lualatex/gregoriotex/ (create the directory if necessary), and run the above command again supply the new output as well.

If, after moving the files, the kpsewhich command returns /usr/share/texmf/tex/lualatex/gregoriotex/gregoriotex.sty as the first line, then try generating the document again to see if it works any better.

jperon commented 7 years ago

Here you are :

% kpsewhich --all -engine lualatex -progname lualatex gregoriotex.sty
/usr/share/texmf/tex/luatex/gregoriotex/gregoriotex.sty
/usr/share/texlive/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty

Though the firs line is good, I've tested copying /usr/share/texmf/tex/luatex/gregoriotex/ to /usr/share/texmf/tex/lualatex/gregoriotex/, then running texhash… and it works ! Don't ask me how…

henryso commented 7 years ago

OK, thank you. This is a bug in the Debian scripts. The *.sty files are being put in the wrong place.

henryso commented 7 years ago

Which version should we target for this fix?

henryso commented 7 years ago

Since this is a packaging bug, if we are going to re-release 4.2.0 as in #1233, I think we can make the fix in master. @eroux, @rpspringuel, what do you think?

rpspringuel commented 7 years ago

I agree that a packaging bug is ripe for inclusion in some subsequent 4.2 release.

I do not, however, favor a rerelease as this involves moving the v4.2.0 tag and that is generally a hassel (it's doable, but annoying). I would prefer to make a v4.2.1 release which collects this fix and the one in #1233 (and possibly others that might come up between now and whenever we make the release).

Also, I should point out that I will not have time to make a released (be it a re-release or a bugfix) before October 16th and probably not until the following weekend (October 21st and 22nd). My solemn profession is on October 16th and I have a whole lot to do between now and then to get ready while also keeping up with my school work.

henryso commented 7 years ago

Looking at the debian/ directory, I think I see why the files are installed in the wrong place, but I really don't know enough about .deb packages to actually fix it.