![](https://secure.gravatar.com/avatar/386a116d129cdc597f2bb6210bbaff7a.jpg?s=120&d=mm&r=g)
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error) In file included from ../../../source/texk/web2c/luatexdir/luafontloader/fontforge/Unicode/char.c:29:0: /media/LaCie/opt/mingw-w64-bin_x86_64-linux_20121031/x86_64-w64-mingw32/include/ctype.h:102:23: error: expected ‘)’ before ‘_C’ _CRTIMP int __cdecl isalpha(int _C); ^ ../../../source/texk/web2c/luatexdir/luafontloader/fontforge/inc/utype.h:63:39: error: expected ‘)’ before ‘&’ token #define isalpha(ch) (____utype[(ch)+1]&(____L|____U|____TITLE|____AL)) ^ /media/LaCie/opt/mingw-w64-bin_x86_64-linux_20121031/x86_64-w64-mingw32/include/ctype.h:104:23: error: expected ‘)’ before ‘_C’ _CRTIMP int __cdecl isupper(int _C); ^ cross compilation with --host=i586-mingw32msvc is ok. Any suggestion ? -- luigi
![](https://secure.gravatar.com/avatar/565476157eb3895a9c928ffce26d988d.jpg?s=120&d=mm&r=g)
On 01/02/2013 05:31 PM, luigi scarso wrote:
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error)
In file included from ../../../source/texk/web2c/luatexdir/luafontloader/fontforge/Unicode/char.c:29:0: /media/LaCie/opt/mingw-w64-bin_x86_64-linux_20121031/x86_64-w64-mingw32/include/ctype.h:102:23: error: expected ‘)’ before ‘_C’ _CRTIMP int __cdecl isalpha(int _C);
It looks like 'isalpha' is defined as a macro at this point already, making the declaration fail. Does that help? Best wishes, Taco
![](https://secure.gravatar.com/avatar/386a116d129cdc597f2bb6210bbaff7a.jpg?s=120&d=mm&r=g)
On Wed, Jan 2, 2013 at 5:40 PM, Taco Hoekwater
On 01/02/2013 05:31 PM, luigi scarso wrote:
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error)
In file included from ../../../source/texk/web2c/**luatexdir/luafontloader/** fontforge/Unicode/char.c:29:0: /media/LaCie/opt/mingw-w64-**bin_x86_64-linux_20121031/x86_** 64-w64-mingw32/include/ctype.**h:102:23: error: expected ‘)’ before ‘_C’ _CRTIMP int __cdecl isalpha(int _C);
It looks like 'isalpha' is defined as a macro at this point already, making the declaration fail. Does that help?
yes, because source/texk/web2c/luatexdir/luafontloader/fontforge/inc/utype.h has #define isalpha(ch) (____utype[(ch)+1]&(____L|____U|____TITLE|____AL)) but why I have this error only with x86_64-w64-mingw32? -- luigi
![](https://secure.gravatar.com/avatar/565476157eb3895a9c928ffce26d988d.jpg?s=120&d=mm&r=g)
On 01/02/2013 05:44 PM, luigi scarso wrote:
On Wed, Jan 2, 2013 at 5:40 PM, Taco Hoekwater
mailto:taco@elvenkind.com> wrote: On 01/02/2013 05:31 PM, luigi scarso wrote:
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error)
In file included from ../../../source/texk/web2c/__luatexdir/luafontloader/__fontforge/Unicode/char.c:29:0: /media/LaCie/opt/mingw-w64-__bin_x86_64-linux_20121031/x86___64-w64-mingw32/include/ctype.__h:102:23: error: expected ‘)’ before ‘_C’ _CRTIMP int __cdecl isalpha(int _C);
It looks like 'isalpha' is defined as a macro at this point already, making the declaration fail. Does that help?
yes, because source/texk/web2c/luatexdir/luafontloader/fontforge/inc/utype.h has #define isalpha(ch) (____utype[(ch)+1]&(____L|____U|____TITLE|____AL))
but why I have this error only with x86_64-w64-mingw32?
Either the 32bit version probably defines the CRT version differently,
e.g., you would probably not get the error with:
_CRTIMP int __cdecl isalpha(int)
Or the win32 headers do not load
![](https://secure.gravatar.com/avatar/6114858d84b0f40cf715f12237ab67a1.jpg?s=120&d=mm&r=g)
On Wed, Jan 2, 2013 at 5:31 PM, luigi scarso wrote:
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error)
cross compilation with --host=i586-mingw32msvc is ok. Any suggestion ?
I'm trying to compile luajittex on Mac OS X, but it fails with Your make is a GNU-make; I will use that building for MacOs not supported Any suggestions? ;) Actually, I think that there was a misunderstanding of what these flags are supposed to do. They are used on Mac OS X, not on linux. Can you please remove the following two lines? if [ "$MACCROSS" = "TRUE" ] then # make sure that architecture parameter is valid case $ARCH in i386 | x86_64 | ppc | ppc64 ) ;; * ) echo "ERROR: architecture $ARCH is not supported"; exit 1;; esac - echo " building for MacOs not supported" - exit 1 B=build-$ARCH CFLAGS="-arch $ARCH -g -O2 $CFLAGS" I now committed the scripts that are supposed to build luajittex, but I cannot guarantee anything since they haven't gone through any testing yet. So if you notice any problems, please report. Mojca
![](https://secure.gravatar.com/avatar/386a116d129cdc597f2bb6210bbaff7a.jpg?s=120&d=mm&r=g)
On Thu, Jan 3, 2013 at 2:30 PM, Mojca Miklavec < mojca.miklavec.lists@gmail.com> wrote:
On Wed, Jan 2, 2013 at 5:31 PM, luigi scarso wrote:
I'm trying to compile luatex with --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu (use a fixed font to see the error)
cross compilation with --host=i586-mingw32msvc is ok. Any suggestion ?
I'm trying to compile luajittex on Mac OS X, but it fails with
Your make is a GNU-make; I will use that building for MacOs not supported
Any suggestions? ;)
how do you run build.sh ?
Actually, I think that there was a misunderstanding of what these flags are supposed to do. They are used on Mac OS X, not on linux. Can you please remove the following two lines?
if [ "$MACCROSS" = "TRUE" ] then # make sure that architecture parameter is valid case $ARCH in i386 | x86_64 | ppc | ppc64 ) ;; * ) echo "ERROR: architecture $ARCH is not supported"; exit 1;; esac - echo " building for MacOs not supported" - exit 1 B=build-$ARCH CFLAGS="-arch $ARCH -g -O2 $CFLAGS"
MACCROSS sounds to me like cross-compiling from linux to mac, which is not
supported
I now committed the scripts that are supposed to build luajittex, but I cannot guarantee anything since they haven't gone through any testing yet. So if you notice any problems, please report.
Patrick said that it compiles under
Darwin vienna.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64 -- luigi
![](https://secure.gravatar.com/avatar/6114858d84b0f40cf715f12237ab67a1.jpg?s=120&d=mm&r=g)
On Thu, Jan 3, 2013 at 2:41 PM, luigi scarso wrote:
On Thu, Jan 3, 2013 at 2:30 PM, Mojca Miklavec wrote:
I'm trying to compile luajittex on Mac OS X, but it fails with
Your make is a GNU-make; I will use that building for MacOs not supported
Any suggestions? ;)
how do you run build.sh ?
For example to get Darwin PowerPC binaries on x86_64 or i386 processor (running Mac OS X): ./build[jit].sh --arch=ppc Of course it is also possible to export the zillions of flags outside of the building script, but ...
MACCROSS sounds to me like cross-compiling from linux to mac, which is not supported
Where do you see any mention of linux??? It's just cross-compiling from one Mac OS X architecture to the other. Also, the flag "--arch=i386" on linux doesn't even remotely imply that the script should be compiling for Mac OS X ;) ;) ;)
Patrick said that it compiles under
Darwin vienna.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
It compiles on x86_64 FreeBSD and Mac OS X for me as well (on Lion), but I cannot "magically compile" for another architecture without deleting those two lines. (But I could still supply a dozen of flags. Maybe that is what I should do at the end anyway ...) On Hans' machine (an old SuSE Linux) it fails with the following error though: make[2]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea/man' make[1]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea' make: *** No rule to make target `/home/me/build-binaries/src/luajittex/buildjit/libs/luajit/luajit-build/src/libluajit.a', needed by `libluasocket_a-auxiliar.o'. Stop. strip: buildjit/texk/web2c/luatex: No such file or directory mv: cannot stat `buildjit/texk/web2c/luatex': No such file or directory ls: buildjit/texk/web2c/luajittex: No such file or directory Exactly the same happens on Sparc Solaris. I also experienced an error with ./bin_commit.sh: line 47: return: do_cmd: numeric argument required ./bin_commit.sh: line 47: return: do_cmd: numeric argument required but that is my own syntax(?) error and I didn't yet figure out what exactly is wrong. The easiest solution is to comment out adding the symlinks, but it will be better to find the proper solution, so if anyone has a clue, please feel free to suggest the cure :) create_symlink() { binary="$1" link="$2" if [ ! -f "$link" ]; then return do_cmd "create symlink" ln -s "$binary" "$link" # problematic line fi return 0 } Apart from that you are all welcome to try out building the binaries. Mojca
![](https://secure.gravatar.com/avatar/565476157eb3895a9c928ffce26d988d.jpg?s=120&d=mm&r=g)
On 01/03/2013 03:11 PM, Mojca Miklavec wrote:
but that is my own syntax(?) error and I didn't yet figure out what exactly is wrong. The easiest solution is to comment out adding the symlinks, but it will be better to find the proper solution, so if anyone has a clue, please feel free to suggest the cure :)
create_symlink() { binary="$1" link="$2" if [ ! -f "$link" ]; then return do_cmd "create symlink" ln -s "$binary" "$link" # problematic line fi return 0 }
At a guess, the shell is complaining about do_cmd not returning anything. Perhaps this works? create_symlink() { binary="$1" link="$2" if [ ! -f "$link" ]; then do_cmd "create symlink" ln -s "$binary" "$link" return $? fi return 0 }
![](https://secure.gravatar.com/avatar/386a116d129cdc597f2bb6210bbaff7a.jpg?s=120&d=mm&r=g)
On Thu, Jan 3, 2013 at 3:11 PM, Mojca Miklavec < mojca.miklavec.lists@gmail.com> wrote:
On Thu, Jan 3, 2013 at 2:41 PM, luigi scarso wrote:
On Thu, Jan 3, 2013 at 2:30 PM, Mojca Miklavec wrote:
I'm trying to compile luajittex on Mac OS X, but it fails with
Your make is a GNU-make; I will use that building for MacOs not supported
Any suggestions? ;)
how do you run build.sh ?
For example to get Darwin PowerPC binaries on x86_64 or i386 processor (running Mac OS X): ./build[jit].sh --arch=ppc
ah ok, cross compiling from mac to mac.
MACCROSS sounds to me like cross-compiling from linux to mac, which is not supported
Where do you see any mention of linux??? It's just cross-compiling from one Mac OS X architecture to the other. Also, the flag "--arch=i386" on linux doesn't even remotely imply that the script should be compiling for Mac OS X ;) ;) ;)
lilypond.org/gub has a i686-apple-darwin8-gcc cross-compiler from linux intel to mac intel and the --arch switch works. I've already used it to cross compile luatex from linux to mac i386 (it was more that an year ago, maybe I've also sent to you a binary iirc).
Patrick said that it compiles under
Darwin vienna.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
It compiles on x86_64 FreeBSD and Mac OS X for me as well (on Lion), but I cannot "magically compile" for another architecture without deleting those two lines. (But I could still supply a dozen of flags. Maybe that is what I should do at the end anyway ...)
ok, both deleted.
On Hans' machine (an old SuSE Linux) it fails with the following error
though:
make[2]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea/man' make[1]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea' make: *** No rule to make target
`/home/me/build-binaries/src/luajittex/buildjit/libs/luajit/luajit-build/src/libluajit.a', needed by `libluasocket_a-auxiliar.o'. Stop. strip: buildjit/texk/web2c/luatex: No such file or directory mv: cannot stat `buildjit/texk/web2c/luatex': No such file or directory ls: buildjit/texk/web2c/luajittex: No such file or directory
hm strange, on my vm suse 32bit it was ok (latest distro). I will check again. Can you check with what happen with $>cd buildjit/libs/luajit $>make ?
Exactly the same happens on Sparc Solaris.
see before.
I don't know if it's the case, but LuaJIT has vm written in assembly. I don't expect that it will work on every platform as Luatex. -- luigi
![](https://secure.gravatar.com/avatar/386a116d129cdc597f2bb6210bbaff7a.jpg?s=120&d=mm&r=g)
On Thu, Jan 3, 2013 at 3:11 PM, Mojca Miklavec < mojca.miklavec.lists@gmail.com> wrote:
On Hans' machine (an old SuSE Linux) it fails with the following error though:
make[2]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea/man' make[1]: Leaving directory `/home/me/build-binaries/src/luajittex/buildjit/texk/kpathsea' make: *** No rule to make target
`/home/me/build-binaries/src/luajittex/buildjit/libs/luajit/luajit-build/src/libluajit.a', needed by `libluasocket_a-auxiliar.o'. Stop. strip: buildjit/texk/web2c/luatex: No such file or directory mv: cannot stat `buildjit/texk/web2c/luatex': No such file or directory ls: buildjit/texk/web2c/luajittex: No such file or directory
compilation is ok on suse 12.2 i586 on virtual box
-- luigi
participants (3)
-
luigi scarso
-
Mojca Miklavec
-
Taco Hoekwater