Hello, I am making TeX Live packages for OpenBSD and have hit problems with 64 bit architectures: ---8<---lcoco.c:334:22: ucontext.h: No such file or directory lcoco.c:372: error: syntax error before "ucontext_t" lcoco.c: In function `coco_main': lcoco.c:446: error: structure has no member named `ctx' lcoco.c:446: error: structure has no member named `back' lcoco.c: In function `lua_newcthread': lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c: In function `luaCOCO_resume': lcoco.c:479: error: structure has no member named `back' lcoco.c:479: error: structure has no member named `ctx' lcoco.c: In function `luaCOCO_yield': lcoco.c:493: error: structure has no member named `ctx' lcoco.c:493: error: structure has no member named `back' gmake[4]: *** [lcoco.o] Error 1 gmake[4]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/libs/lua51' gmake[3]: *** [posix] Error 2 gmake[3]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/libs/lua51' gmake[2]: *** [../../libs/lua51/liblua.a] Error 2 gmake[2]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/texk/web2c' gmake[1]: *** [all] Error 1 gmake[1]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/texk' gmake: *** [all] Error 1 *** Error code 2 ---8<--- OpenBSD does not use ucontext.h, but interestingly this error does not show on i386. For now I have disabled luatex in the build, due to luatex being in an experimental stage, but I thought it would be good to report this and get on top of it early rather than later. Also I was wondering if it will be possible to build luatex with an external lua (not the one in texlive), but I realise that may not be a question for this list. -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
Edd Barrett wrote:
Hello,
I am making TeX Live packages for OpenBSD and have hit problems with 64 bit architectures:
Can you try the patch below please?
OpenBSD does not use ucontext.h, but interestingly this error does not show on i386.
Likely because the code autodetects i386 and switches to assembler code,
For now I have disabled luatex in the build, due to luatex being in an experimental stage, but I thought it would be good to report this and get on top of it early rather than later.
yes, thanks for that.
Also I was wondering if it will be possible to build luatex with an external lua
no. luatex needs a patched lua. Best wishes, Taco Index: src/libs/lua51/Makefile =================================================================== --- src/libs/lua51/Makefile (revision 1519) +++ src/libs/lua51/Makefile (working copy) @@ -20,9 +20,9 @@ # ++ Coco ========= # Default: autodetect gccasm/setjmp/ucontext/fibers context switch method. -COCOCFLAGS= +#COCOCFLAGS= # Force use of setjmp (instead of gccasm). -#COCOCFLAGS= -DCOCO_USE_SETJMP +COCOCFLAGS= -DCOCO_USE_SETJMP # Force use of ucontext (instead of gccasm or setjmp). #COCOCFLAGS= -DCOCO_USE_UCONTEXT # Uncomment this if you want to disable support for Coco.
Hi,
On Tue, Sep 30, 2008 at 1:56 PM, Taco Hoekwater
Can you try the patch below please?
Patch applied, looks like the same error. lcoco.c:334:22: ucontext.h: No such file or directory lcoco.c:372: error: syntax error before "ucontext_t" lcoco.c: In function `coco_main': lcoco.c:446: error: structure has no member named `ctx' lcoco.c:446: error: structure has no member named `back' lcoco.c: In function `lua_newcthread': lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c:463: error: structure has no member named `ctx' lcoco.c: In function `luaCOCO_resume': lcoco.c:479: error: structure has no member named `back' lcoco.c:479: error: structure has no member named `ctx' lcoco.c: In function `luaCOCO_yield': lcoco.c:493: error: structure has no member named `ctx' lcoco.c:493: error: structure has no member named `back' gmake[4]: *** [lcoco.o] Error 1 gmake[4]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/libs/lua51' gmake[3]: *** [posix] Error 2 gmake[3]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/libs/lua51' gmake[2]: *** [../../libs/lua51/liblua.a] Error 2 gmake[2]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/texk/web2c' gmake[1]: *** [all] Error 1 gmake[1]: Leaving directory `/usr/ports/print/texlive/base/w-texlive_base-2008/t exlive-20080816-source/work/texk' gmake: *** [all] Error 1 *** Error code 2 -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
Edd Barrett wrote:
Hi,
On Tue, Sep 30, 2008 at 1:56 PM, Taco Hoekwater
wrote: Can you try the patch below please?
Patch applied, looks like the same error.
lcoco.c:334:22: ucontext.h: No such file or directory
It should have been compiling lua with an extra -DCOCO_USE_SETJMP on the gcc commandline, but it seems I have created a bugged Makefile. I'll try to fix this for the next release of luatex, then. Best wishes, Taco
Hi,
On Wed, Oct 1, 2008 at 7:59 AM, Taco Hoekwater
Edd Barrett wrote:
Hi,
On Tue, Sep 30, 2008 at 1:56 PM, Taco Hoekwater
wrote: Can you try the patch below please?
Patch applied, looks like the same error.
lcoco.c:334:22: ucontext.h: No such file or directory
It should have been compiling lua with an extra -DCOCO_USE_SETJMP on the gcc commandline, but it seems I have created a bugged Makefile. I'll try to fix this for the next release of luatex, then.
Best wishes, Taco
Is texlua something to do with luatex? It looks like someone has changed texdoc from shell to "texlua", which means my user base will not be able to use texdoc. I really need texdoc! Have you had time to look at this? Sorry to bug you. Thanks -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
On Sa, 11 Okt 2008, Edd Barrett wrote:
Is texlua something to do with luatex?
texlua = luatex used as interpreter.
It looks like someone has changed texdoc from shell to "texlua", which
That was discussed in thousands of emails on the list. Yes, texdoc is now a texlua script and much MUCH better.
means my user base will not be able to use texdoc. I really need texdoc!
Then get texlua working on your setup.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining
Is texlua something to do with luatex?
Yes, it's LuaTeX behaving as pure Lua interpreter (equivalent to "luatex --luaonly" or something like that). It gives you access to more functionalities than only Lua, since it has a lot of additional Lua libraries included (see the LuaTeX reference manual for these).
It looks like someone has changed texdoc from shell to "texlua"
If you mean in TeX Live, yes. This is very useful for Windows users, in particular, since in we can rely on the same LuaTeX executable being available there. Are you really unable to compile LuaTeX on OpenBSD? Arthur
Arthur Reutenauer writes:
Is texlua something to do with luatex?
Yes, it's LuaTeX behaving as pure Lua interpreter (equivalent to "luatex --luaonly" or something like that). It gives you access to more functionalities than only Lua, since it has a lot of additional Lua libraries included (see the LuaTeX reference manual for these).
It looks like someone has changed texdoc from shell to "texlua"
If you mean in TeX Live, yes. This is very useful for Windows users, in particular, since in we can rely on the same LuaTeX executable being available there. Are you really unable to compile LuaTeX on OpenBSD?
Maybe only the symlink texlua -> luatex is missing. Regards, Reinhard -- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ----------------------------------------------------------------------------
Edd Barrett wrote:
It looks like someone has changed texdoc from shell to "texlua", which means my user base will not be able to use texdoc. I really need texdoc!
Have you had time to look at this?
The Makefile in the new luatex should be OK, there was a simple typo in it that made my patch fail. Line 11 should read CFLAGS= -g -O2 -Wall $(XCFLAGS) $(MYCFLAGS) $(COCOCFLAGS) (COCOCFLAGS, not COCOFLAGS). I've attached the latest version of src/libs/lua51/Makefile for you, just in case. Please let me know wether it works with that change. Best wishes, Taco # makefile for building Lua # see ../INSTALL for installation instructions # see ../Makefile and luaconf.h for further customization # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= # Your platform. See PLATS for possible values. PLAT= none CC= gcc CFLAGS= -g -O2 -Wall $(XCFLAGS) $(MYCFLAGS) $(COCOCFLAGS) AR= ar rcu RANLIB= ranlib RM= rm -f LIBS= $(XLDFLAGS) -lm $(MYLIBS) MYCFLAGS= MYLDFLAGS= MYLIBS= # ++ Coco ========= # Default: autodetect gccasm/setjmp/ucontext/fibers context switch method. # COCOCFLAGS= # Force use of setjmp (instead of gccasm). COCOCFLAGS= -DCOCO_USE_SETJMP # Force use of ucontext (instead of gccasm or setjmp). #COCOCFLAGS= -DCOCO_USE_UCONTEXT # Uncomment this if you want to disable support for Coco. #COCOCFLAGS= -DCOCO_DISABLE # -- Coco ========= # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= PLATS= aix ansi bsd generic linux macosx mingw posix solaris # ++ Coco ========= COCO_O= lcoco.o # -- Coco ========= LUA_A= liblua.a CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ lundump.o lvm.o lzio.o $(COCO_O) LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ lstrlib.o loadlib.o linit.o LUA_T= lua LUA_O= lua.o LUAC_T= luac LUAC_O= luac.o print.o ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ALL_A= $(LUA_A) default: $(PLAT) all: $(ALL_T) o: $(ALL_O) a: $(ALL_A) $(LUA_A): $(CORE_O) $(LIB_O) $(AR) $@ $? $(RANLIB) $@ $(LUA_T): $(LUA_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) $(LUAC_T): $(LUAC_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) clean: $(RM) $(ALL_T) $(ALL_O) depend: @$(CC) $(CFLAGS) -MM l*.c print.c echo: @echo "PLAT = $(PLAT)" @echo "CC = $(CC)" @echo "CFLAGS = $(CFLAGS)" @echo "AR = $(AR)" @echo "RANLIB = $(RANLIB)" @echo "RM = $(RM)" @echo "MYCFLAGS = $(MYCFLAGS)" @echo "MYLDFLAGS = $(MYLDFLAGS)" @echo "MYLIBS = $(MYLIBS)" # convenience targets for popular platforms none: @echo "Please choose a platform: $(PLATS)" aix: $(MAKE) a CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall" ansi: $(MAKE) a MYCFLAGS=-DLUA_ANSI bsd: $(MAKE) a MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E" generic: $(MAKE) a MYCFLAGS= linux: $(MAKE) a MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" macosx: $(MAKE) a MYCFLAGS=-DLUA_USE_MACOSX # use this on Mac OS X 10.4 # $(MAKE) a MYCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" MYLIBS="-lreadline" mingw: $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \ "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe mingwcross: $(MAKE) "LUA_A=liblua.a" "LUA_T=lua.exe" \ MYCFLAGS= MYLIBS= lua.exe posix: $(MAKE) a MYCFLAGS=-DLUA_USE_POSIX solaris: $(MAKE) a MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" # list targets that do not create files (but not all makes understand .PHONY) .PHONY: all $(PLATS) default o a clean depend echo none # DO NOT DELETE lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ lstate.h ltm.h lzio.h lmem.h lcoco.h ldo.h lfunc.h lgc.h lstring.h \ ltable.h lundump.h lvm.h lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h lcoco.h lcoco.o: lcoco.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \ lzio.h lmem.h lcoco.h ldo.h lvm.h lgc.h lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h lcoco.h \ ldo.h lgc.h ltable.h ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h ldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h \ llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ lcoco.h ldo.h lfunc.h lstring.h lgc.h ltable.h lvm.h ldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ lzio.h lmem.h lcoco.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h \ lstring.h ltable.h lundump.h lvm.h ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \ lzio.h lmem.h lcoco.h lundump.h lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h lmem.h \ lstate.h ltm.h lzio.h lcoco.h lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ lzio.h lmem.h lcoco.h ldo.h lfunc.h lgc.h lstring.h ltable.h linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h llex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h ltm.h \ lzio.h lmem.h lcoco.h llex.h lparser.h lstring.h lgc.h ltable.h lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ ltm.h lzio.h lmem.h lcoco.h ldo.h loadlib.o: loadlib.c lauxlib.h lua.h luaconf.h lobject.h llimits.h \ lualib.h lobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h \ ltm.h lzio.h lmem.h lcoco.h lstring.h lgc.h lvm.h lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h lcoco.h \ ldo.h lfunc.h lstring.h lgc.h ltable.h lstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ ltm.h lzio.h lmem.h lcoco.h ldo.h lfunc.h lgc.h llex.h lstring.h \ ltable.h lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \ ltm.h lzio.h lcoco.h lstring.h lgc.h lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ ltm.h lzio.h lmem.h lcoco.h ldo.h lgc.h ltable.h ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \ lmem.h lcoco.h lstring.h lgc.h ltable.h lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h luac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \ lstate.h ltm.h lzio.h lmem.h lcoco.h lfunc.h lopcodes.h lstring.h lgc.h \ lundump.h lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \ llimits.h ltm.h lzio.h lmem.h lcoco.h ldo.h lfunc.h lstring.h lgc.h \ lundump.h lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ lzio.h lmem.h lcoco.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h \ lvm.h lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \ lzio.h lcoco.h print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \ ltm.h lzio.h lmem.h lcoco.h lopcodes.h lundump.h # (end of Makefile)
Hi,
I seem to have posted this to a list accidentally. It was supposed to
be a private mail to Taco :) Sorry about that. But to fill everyone
in, luatex was not building on 64 bit arches for me.
On Sun, Oct 12, 2008 at 8:30 AM, Taco Hoekwater
Edd Barrett wrote:
It looks like someone has changed texdoc from shell to "texlua", which means my user base will not be able to use texdoc. I really need texdoc!
Have you had time to look at this?
The Makefile in the new luatex should be OK, there was a simple typo in it that made my patch fail. Line 11 should read
CFLAGS= -g -O2 -Wall $(XCFLAGS) $(MYCFLAGS) $(COCOCFLAGS)
Great, will give that a try :) Thanks for the quick reply. -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
participants (5)
-
Arthur Reutenauer
-
Edd Barrett
-
Norbert Preining
-
Reinhard Kotucha
-
Taco Hoekwater