app-text/texlive-core-2014-r2 fail to build on ABI=x32 with the following error: native/buildvm -m bcdef -o lj_bcdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c Error: pointer size mismatch in cross-build. Try: make HOST_CC="gcc -m32" CROSS=... Makefile:1649: recipe for target 'lj_bcdef.h' failed make[5]: *** [lj_bcdef.h] Error 1 make[5]: Leaving directory '/var/tmp/portage/app-text/texlive-core-2014-r2/work/texlive-core-2014_build/libs/luajit' Makefile:1052: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory '/var/tmp/portage/app-text/texlive-core-2014-r2/work/texlive-core-2014_build/libs/luajit' Makefile:698: recipe for target 'all' failed make[3]: *** [all] Error 2 make[3]: Leaving directory '/var/tmp/portage/app-text/texlive-core-2014-r2/work/texlive-core-2014_build/libs/luajit' Makefile:875: recipe for target 'recurse' failed make[2]: *** [recurse] Error 1 make[2]: Leaving directory '/var/tmp/portage/app-text/texlive-core-2014-r2/work/texlive-core-2014_build/libs' Makefile:455: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/app-text/texlive-core-2014-r2/work/texlive-core-2014_build/libs' Makefile:544: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 * ERROR: app-text/texlive-core-2014-r2::gentoo failed (compile phase): * emake failed Full log and emerge --info attached Reproducible: Always
Created attachment 398450 [details] build.log
Created attachment 398452 [details] emerge --info
I also have this problem. The embedded luajit assumes that pointers on amd64 are 64bit. Here is the debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752041 Solution is to pass --disable-luajittex to configure on x32 builds.
Created attachment 407366 [details, diff] make luajittex controlled by a useflag This patch adds a luajittex useflag to texlive-core, which controls whether luajittex is built. Should be usemasked on x32 profiles.
texlive-module.class also needs changes so that other texlive modules don't try to use luajittex
disabling luajittex wont work since tl-basic & tl-latex both hard depend on it...
Created attachment 407372 [details, diff] modify texlive-module.eclass to not use non-existent engines With this in conjunction with my previous patch, I can now build a complete texlive on x32.
(In reply to Alexis Ballier from comment #6) > disabling luajittex wont work since tl-basic & tl-latex both hard depend on > it... Thanks, I noticed that shortly after posting the patch... my patch to texlive-module.eclass fixes that.
(In reply to Josh Parsons from comment #7) > Created attachment 407372 [details, diff] [details, diff] > modify texlive-module.eclass to not use non-existent engines This isnt good since this introduces some sort of automagic: Imagine I install tl-core with USE=-luajittex, then how can I know what I need to rebuild in order to get luajittex working? Let's see if we can get something good, scalable and maintainable: What I was thinking is adding a new 'input' variable in texlive-module.eclass, say 'TEXLIVE_MODULE_OPTIONAL_ENGINE', which would add these to IUSE (default enabled), add the usedep on tl-core and disable said engines when the useflag is disabled. A bit like what you're proposing, except controlled by an useflag instead of guessing what's in PATH or not.
(In reply to Alexis Ballier from comment #9) > (In reply to Josh Parsons from comment #7) > > Created attachment 407372 [details, diff] [details, diff] [details, diff] > > modify texlive-module.eclass to not use non-existent engines > > This isnt good since this introduces some sort of automagic: > Imagine I install tl-core with USE=-luajittex, then how can I know what I > need to rebuild in order to get luajittex working? > > > Let's see if we can get something good, scalable and maintainable: > What I was thinking is adding a new 'input' variable in > texlive-module.eclass, say 'TEXLIVE_MODULE_OPTIONAL_ENGINE', which would add > these to IUSE (default enabled), add the usedep on tl-core and disable said > engines when the useflag is disabled. A bit like what you're proposing, > except controlled by an useflag instead of guessing what's in PATH or not. did that; it was simpler than what i thought; now there's luajittex useflag that can be masked on relevant profiles (please fill a bug for the x32 team for that)