Open facorreia opened 5 years ago
Your host machine is incorrect. It specifies an x86_64 machine when it should define an ARM machine. In Meson "host machine" is the machine the output will run on. The machine you are using for compilation is the "build machine".
ok, you are right. I changed the host_machine properties as you recommended as you can see below. However, It is still failing. I have a question too. Should "needs_exe_wrapper" properties set to true to force meson to not exec test executable? if yes, the value of host_machine properties should not matter, right?
[host_machine] system = 'linux' cpu_family = 'arm' cpu = 'arm32' endian = 'little'
we hit this issue, too.
affected version: 0.51.1 & 0.51.2 on Ubuntu 16.04
[binaries]
c = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/bin/armv7ve-libreelec-linux-gnueabi-gcc'
cpp = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/bin/armv7ve-libreelec-linux-gnueabi-g++'
ar = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/bin/armv7ve-libreelec-linux-gnueabi-ar'
strip = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/bin/armv7ve-libreelec-linux-gnueabi-strip'
pkgconfig = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/bin/pkg-config'
llvm-config = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/bin/llvm-config-host'
libgcrypt-config = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/bin/libgcrypt-config'
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv7ve'
endian = 'little'
[properties]
root = '/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-RPi2.arm-9.80-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr'
needs_exe_wrapper = true
c_args = ['-march=armv7ve', '-mtune=cortex-a7', '-mabi=aapcs-linux', '-Wno-psabi', '-Wa,-mno-warn-deprecated', '-mfloat-abi=hard', '-mfpu=neon-vfpv4', '-fomit-frame-pointer', '-Wall', '-pipe', '-O2']
c_link_args = ['-march=armv7ve', '-mtune=cortex-a7', '-Wl,--as-needed', '-fuse-ld=gold']
cpp_args = ['-march=armv7ve', '-mtune=cortex-a7', '-mabi=aapcs-linux', '-Wno-psabi', '-Wa,-mno-warn-deprecated', '-mfloat-abi=hard', '-mfpu=neon-vfpv4', '-fomit-frame-pointer', '-Wall', '-pipe', '-O2']
cpp_link_args = ['-march=armv7ve', '-mtune=cortex-a7', '-Wl,--as-needed', '-fuse-ld=gold']
have_c99_vsnprintf=false
have_c99_snprintf=false
growing_stack=false
va_val_copy=false
results in an exception:
Traceback (most recent call last):
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/mesonmain.py", line 127, in run
return options.run_func(options)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/msetup.py", line 241, in run
app.generate()
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/msetup.py", line 159, in generate
self._generate(env)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/msetup.py", line 188, in _generate
intr.run()
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreter.py", line 3924, in run
super().run()
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 412, in run
self.evaluate_codeblock(self.ast, start=1)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 436, in evaluate_codeblock
raise e
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 430, in evaluate_codeblock
self.evaluate_statement(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 451, in evaluate_statement
return self.evaluate_if(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 519, in evaluate_if
self.evaluate_codeblock(node.elseblock)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 436, in evaluate_codeblock
raise e
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 430, in evaluate_codeblock
self.evaluate_statement(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 451, in evaluate_statement
return self.evaluate_if(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 516, in evaluate_if
self.evaluate_codeblock(i.block)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 436, in evaluate_codeblock
raise e
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 430, in evaluate_codeblock
self.evaluate_statement(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 443, in evaluate_statement
return self.assignment(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 1053, in assignment
value = self.evaluate_statement(node.value)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 445, in evaluate_statement
return self.method_call(cur)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 815, in method_call
return obj.method_call(method_name, args, kwargs)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 325, in method_call
return method(args, kwargs)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreterbase.py", line 174, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/interpreter.py", line 1110, in run_method
dependencies=deps)
File "/home/inu/LibreELEC/mesonbuild2/build.LibreELEC-Generic.x86_64-9.80-devel/toolchain/lib/python3.7/site-packages/meson-0.51.2-py3.7.egg/mesonbuild/compilers/clike.py", line 451, in run
raise mesonlib.CrossNoRunException('Can not run test applications in this cross environment.')
AttributeError: module 'mesonbuild.mesonlib' has no attribute 'CrossNoRunException'
Any updates? I am hitting this as well. Is there a working version?
I am using meson version 0.51.1 trying to cross-compiling glib version 2.61.2 in a linux Ubuntu 16.04.4 LTS environment to a linux arm x86_64 but it fail with the error message bellow:
meson.build:1:0: ERROR: Could not invoke sanity test executable: [Errno 8] Exec format error.
it should not to run the sanity executable because needs_exe_wrapper is true in cross config file post bellow for your reference:
My cross_file.txt #################################################### [binaries] c = 'linux-gnueabi-gcc' cpp = 'linux-gnueabi-g++' ar = 'linux-gnueabi-ar' nm = 'linux-gnueabi-nm' ld = 'linux-gnueabi-ld' strip = 'linux-gnueabi-strip'
[host_machine] system = 'linux' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little'
[properties] sizeof_int = 4 sizeof_wchar_t = 4 sizeof_void* = 4
alignment_char = 1 alignment_void* = 4 alignment_double = 4
has_function_printf = true
needs_exe_wrapper = true
c_args = ['-Dlibmount=false','-Dselinux=false'] c_link_args = []