[oe] [PATCH][meta-oe] luajit: depend on luajit-native to provide host lua

Martin Jansa martin.jansa at gmail.com
Thu Mar 10 12:35:51 UTC 2016


* otherwise minilua for host is built during build of target lua, see
  comment in Makefile:
  # If left blank, minilua is built and used. You can supply an installed
  # copy of (plain) Lua 5.1 or 5.2, plus Lua BitOp. E.g. with: HOST_LUA=lua
* be aware that there is still native buildvm which needs the same headers
  if it fails for you, then you probably need to install libc6-dev:i386
  which installs these headers to hosts /usr/include, some architectures
  are passing HOST_CC="${BUILD_CC} -m32" in EXTRA_OEMAKE, that's why
  you need 32bit headers on 64bit host.
* building native minilua fails on some hosts like this:
  ERROR: luajit-2.0.4-r0 do_compile: oe_runmake failed
  ERROR: luajit-2.0.4-r0 do_compile: Function failed: do_compile (log file is located at /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/luajit/2.0.4-r0/temp/log.do_compile.3067)
  ERROR: Logfile of failure stored in: /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/luajit/2.0.4-r0/temp/log.do_compile.3067
  Log data follows:
  | DEBUG: Executing shell function do_compile
  | NOTE: make -j 8 CROSS=arm-oe-linux-gnueabi- TARGET_CFLAGS= --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm  -march=armv5te -mthumb TARGET_LDFLAGS= --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm TARGET_SHLDFLAGS= --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm HOST_CC=gcc  -m32
  | ==== Building LuaJIT 2.0.4 ====
  | make -C src
  | make[1]: Entering directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/luajit/2.0.4-r0/LuaJIT-2.0.4/src'
  | HOSTCC    host/buildvm_asm.o
  | HOSTCC    host/minilua.o
  | HOSTCC    host/buildvm_peobj.o
  | HOSTCC    host/buildvm_lib.o
  | HOSTCC    host/buildvm_fold.o
  | CC        lj_gc.o
  | CC        lj_obj.o
  | CC        lj_char.o
  | In file included from host/buildvm_peobj.c:9:0:
  | host/buildvm.h:9:23: fatal error: sys/types.h: No such file or directory
  |  #include <sys/types.h>
  |                        ^
  | compilation terminated.
  | In file included from host/buildvm_fold.c:6:0:
  | host/buildvm.h:9:23: fatal error: sys/types.h: No such file or directory
  |  #include <sys/types.h>
  |                        ^
  | compilation terminated.
  | In file included from host/buildvm_asm.c:6:0:
  | host/buildvm.h:9:23: fatal error: sys/types.h: No such file or directory
  |  #include <sys/types.h>
  |                        ^
  | compilation terminated.
  | In file included from host/buildvm_lib.c:6:0:
  | host/buildvm.h:9:23: fatal error: sys/types.h: No such file or directory
  |  #include <sys/types.h>
  |                        ^
  | compilation terminated.
  | In file included from /usr/include/limits.h:25:0,
  |                  from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:168,
  |                  from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:7,
  |                  from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:34,
  |                  from host/minilua.c:33:
  | /usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
  |  #  include <sys/cdefs.h>
  |                          ^
  | compilation terminated.
  | make[1]: *** [host/buildvm_lib.o] Error 1
  | make[1]: *** Waiting for unfinished jobs....
  | make[1]: *** [host/buildvm_fold.o] Error 1
  | make[1]: *** [host/buildvm_asm.o] Error 1
  | make[1]: *** [host/buildvm_peobj.o] Error 1
  | make[1]: *** [host/minilua.o] Error 1
  | make[1]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/luajit/2.0.4-r0/LuaJIT-2.0.4/src'
  | make: *** [default] Error 2
  | ERROR: oe_runmake failed
  | ERROR: Function failed: do_compile (log file is located at /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/luajit/2.0.4-r0/temp/log.do_compile.3067)
  NOTE: recipe luajit-2.0.4-r0: task do_compile: Failed
  ERROR: Task 6 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb, do_compile) failed with exit code '1'

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
index 4a15a4e..9609469 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
@@ -31,6 +31,9 @@ EXTRA_OEMAKE_append_powerpc64 = ' HOST_CC="${BUILD_CC}"'
 EXTRA_OEMAKE_append_arm = ' HOST_CC="${BUILD_CC} -m32"'
 EXTRA_OEMAKE_append_mips64 = ' HOST_CC="${BUILD_CC} -m32"'
 
+DEPENDS_append_class_target = " luajit-native"
+EXTRA_OEMAKE_append_class_target = " HOST_LUA=luajit"
+
 do_compile () {
     oe_runmake
 }
-- 
2.7.2




More information about the Openembedded-devel mailing list