I'm considering porting LuaTεχ to a new, vaguely Uɴɪx-like, operating system. (Plan 9 from Bell Labs, if anyone cares.) What libraries/compilers/interpreters does the system have to have for this to work? E.g., I know that texexec is currently written in Ruby (which Plan 9 lacks), but Lua is straight C (which Plan 9 is built around). (If you tell me to wait a few months until things stabilize, that's fine too.) --Joel
Joel C. Salomon wrote:
I'm considering porting LuaTεχ to a new, vaguely Uɴɪx-like, operating system. (Plan 9 from Bell Labs, if anyone cares.) What libraries/compilers/interpreters does the system have to have for this to work? E.g., I know that texexec is currently written in Ruby (which Plan 9 lacks), but Lua is straight C (which Plan 9 is built around).
(If you tell me to wait a few months until things stabilize, that's fine too.)
texexec is just a runner for context (taking care of process management and index sortign and a few more things) and in that sense not related to luatex i think that the biggest hurdle is the somewhat complex tex source code tree but luatex needs only bits and pieces and the source tree in the repository is already a subset if lua compiles then you're halfway i guess maybe ask on the tex live list for plan 9 experiences; i cc to karl, who knows all those things Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hello, Karl :-)
texexec is just a runner for context (taking care of process management and index sortign and a few more things) and in that sense not related to luatex
By the way, how stable is mtxrun nowadays? Can it be used to completely replace texexec yet? Back to Joel's question, I don't know if my experience in compiling LuaTeX on Solaris can be of any help, but I wish to say it was amazingly straightforward ... of course there were minor issues, but all of them could be set aside with enough patience. Actually the worst problems were caused by the build system (autoconf ...), not the C code itself (I wrote down every change I had to make in my notebooks, but I doubt the exact list be of any interest); many other programs don't build as nicely on Solaris 9, so to me this is a hint that LuaTeX is programmed in a remarkably portable way :-) Probably the most serious problem was caused by Solaris' annoying /bin/sh, and---oh, yes!---/usr/bin/grep doesn't know about a '-q' switch (which is called by the pdfTeX-inherited build.sh at the top of the build tree), so instead of not being quiet it protested loudly, and the script exited. But really, nothing serious, it's only a matter of time to adapt the scripts. Of course I don't claim this is of any interest for Plan 9; I don't know how "far" it is from other Unices. But LuaTeX on Plan 9! The future's TeX running on the future's Unix :-) Next we have to port it to Hurd ;-) Arthur
Arthur Reutenauer wrote:
Hello, Karl :-)
texexec is just a runner for context (taking care of process management and index sortign and a few more things) and in that sense not related to luatex
By the way, how stable is mtxrun nowadays? Can it be used to completely replace texexec yet?
mtxrun --script context should be able to replace texexec but it has some untested bits and pieces (mtx-context is just one of the scripts ... eventually i will replace most ruby scripts, although texexec will be needed for pdftex/xetex) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Probably the most serious problem was caused by Solaris' annoying /bin/sh, and---oh, yes!---/usr/bin/grep doesn't know about a '-q' switch (which is called by the pdfTeX-inherited build.sh at the top of the build tree), Maybe this has already been fixed and I didn't see the mail, but FWIW, looking at metapost's build.sh (which I'm guessing is similar :), I see: if make -v 2>&1| grep -q "GNU Make" Taco, grep -q just isn't portable. Instead, just use redirection: if make -v 2>&1| grep "GNU Make" >/dev/null (Arthur or anyone, if there are such portability problems anywhere in the TeX Live build, please tell me.) karl
Karl Berry wrote:
Probably the most serious problem was caused by Solaris' annoying /bin/sh, and---oh, yes!---/usr/bin/grep doesn't know about a '-q' switch (which is called by the pdfTeX-inherited build.sh at the top of the build tree),
Maybe this has already been fixed and I didn't see the mail, but FWIW, looking at metapost's build.sh (which I'm guessing is similar :), I see: if make -v 2>&1| grep -q "GNU Make"
Taco, grep -q just isn't portable. Instead, just use redirection: if make -v 2>&1| grep "GNU Make" >/dev/null
(Arthur or anyone, if there are such portability problems anywhere in the TeX Live build, please tell me.)
I will fix that (it started out as a copy of pdftex's build.sh). In texlive, I only import the metapost makefile fragment, so there should not be a problem. Best wishes, Taco
Joel, all, maybe ask on the tex live list for plan 9 experiences; I'm unaware of any attempts to compile TeX Live on Plan 9, but I imagine it should be doable. If you have any interest in giving it a try (we'd surely be happy to distribute them), see the file Build/README (http://tug.org/svn/texlive/trunk/Build/README) in the repository for starting points. http://tug.org/texlive/svn explains various ways to retrieve the repo. Best, Karl
2007/12/6, Joel C. Salomon
I'm considering porting LuaTεχ to a new, vaguely Uɴɪx-like, operating system. (Plan 9 from Bell Labs, if anyone cares.) What libraries/compilers/interpreters does the system have to have for this to work? E.g., I know that texexec is currently written in Ruby
Compilers: c and c++. Do the configure scripts work on Plan 9? Best Martin
On Dec 7, 2007 4:32 AM, Martin Schröder
2007/12/6, Joel C. Salomon
: I'm considering porting LuaTεχ to Plan 9. What libraries/compilers/ interpreters does the system have to have for this to work?
Compilers: c and c++.
There's C++ code? I looked through the source tree and was glad not to see any. Plan 9 uses a C compiler written by Ken Thompson and doesn't have a C++ compiler. (Well, someone just revived some ancient cfront, but that doesn't count for much.) Oh, I just found C++ code in lib/xpdf. That's gonna be a problem.
Do the configure scripts work on Plan 9?
Sort of, but they're really not considered useful for porting. When I get my Plan 9 system up & running, I'll start trying to compile the library components individually and will report on troubles here. (And to the relevant library people, if applicable.) Till then, --Joel
participants (6)
-
Arthur Reutenauer
-
Hans Hagen
-
Joel C. Salomon
-
karl@freefriends.org
-
Martin Schröder
-
Taco Hoekwater