[Mesa-users] Help wanted for cross building 32 bit intel drivers on 64 bit fedora with meson

sheepdestroyer sheepdestroyer at gmail.com
Fri Aug 24 01:38:32 UTC 2018


Hi,

I can successfully build mesa's intel drivers on my fedora 28 x64 machine
with the following steps :

Code:
mkdir build
meson build
meson configure build -Dvulkan-drivers=intel -Ddri-drivers=i965
-Dgallium-drivers= -Dgles1=false -Dgles2=false -Dbuildtype=release
-Dstrip=true -Dtexture-float=true -Db_ndebug=true -Dllvm=false
-Dvalgrind=false -Db_lto=false -Db_pgo=off -Dprefix=/usr
ninja -C build


However, I can not understant how to make meson cross building behave
I tried with the following cross-file :


[binaries]
ar = 'ar'
c = 'gcc'
cpp = 'g++'
pkgconfig = 'pkg-config'
strip = 'strip'

[target_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'



But that fails with :

[sheepdestroyer at sheepora-X230 mesa]$ meson build-i686 --cross-file
cross_file
The Meson build system
Version: 0.47.1
Source dir: /home/sheepdestroyer/temp/mesa
Build dir: /home/sheepdestroyer/temp/mesa/build-i686
Build type: cross build
Program python found: YES (/usr/bin/python)
Project name: mesa
Project version: 18.2.0-rc3
Native C compiler: ccache cc (gcc 8.1.1 "cc (GCC) 8.1.1 20180712 (Red Hat
8.1.1-5)")
Native C++ compiler: ccache c++ (gcc 8.1.1 "c++ (GCC) 8.1.1 20180712 (Red
Hat 8.1.1-5)")
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: i686
Build machine cpu family: x86_64
Build machine cpu: x86_64
Program pkg-config found: YES (/usr/bin/pkg-config)
Cross dependency vdpau found: YES 1.1.1
Cross dependency xvmc found: YES 1.0.10
Cross dependency libomxil-bellagio found: YES 0.9.3
Dependency libtizonia found: NO
Dependency libtizplatform found: NO
Dependency tizilheaders found: NO
Cross dependency libva found: YES 1.1.0
Program python2 found: YES (/usr/bin/python2)
Checking for function "bswap32" : YES
Checking for function "bswap64" : YES
Checking for function "clz" : YES
Checking for function "clzll" : YES
Checking for function "ctz" : YES
Checking for function "expect" : YES
Checking for function "ffs" : YES
Checking for function "ffsll" : YES
Checking for function "popcount" : YES
Checking for function "popcountll" : YES
Checking for function "unreachable" : YES
Checking if "__attribute__((const))" compiles: YES
Checking if "__attribute__((flatten))" compiles: YES
Checking if "__attribute__((malloc))" compiles: YES
Checking if "__attribute__((pure))" compiles: YES
Checking if "__attribute__((unused))" compiles: YES
Checking if "__attribute__((warn_unused_result))" compiles: YES
Checking if "__attribute__((weak))" compiles: YES
Checking if "__attribute__((format(...)))" compiles: YES
Checking if "__attribute__((packed))" compiles: YES
Checking if "__attribute__((returns_nonnull))" compiles: YES
Checking if "__attribute__((visibility(...)))" compiles: YES
Checking if "__attribute__((alias(...)))" compiles: YES
Checking if "__attribute__((__noreturn__))" compiles: YES
Compiler for C supports arguments -Wall: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Werror=missing-prototypes: YES
Compiler for C supports arguments -fno-math-errno: YES
Compiler for C supports arguments -fno-trapping-math: YES
Compiler for C supports arguments -Qunused-arguments: NO
Compiler for C supports arguments -Wmissing-field-initializers: YES
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C++ supports arguments -Wall: YES
Compiler for C++ supports arguments -fno-math-errno: YES
Compiler for C++ supports arguments -fno-trapping-math: YES
Compiler for C++ supports arguments -Qunused-arguments: NO
Compiler for C++ supports arguments -Wnon-virtual-dtor: YES
Compiler for C++ supports arguments -Wmissing-field-initializers: YES
Compiler for C supports arguments -Woverride-init: YES
Compiler for C supports arguments -Winitializer-overrides: NO
Compiler for C++ supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -Werror=pointer-arith: YES
Compiler for C++ supports arguments -Werror=pointer-arith: YES
Compiler for C supports arguments -Werror=vla: YES
Compiler for C++ supports arguments -Werror=vla: YES
Checking if "GCC atomic builtins" compiles: YES
Checking if "GCC atomic builtins required -latomic" links: YES
Checking if "GCC 64bit atomics" links: YES
Message:
      Cross compiling to different architectures, and the host cannot run
      the build machine's binaries. Disabling assembly.

Header <sys/sysmacros.h> has symbol "major": YES
Checking if "xlocale.h" compiles: NO
Checking if "sys/sysctl.h" compiles: YES
Checking if "linux/futex.h" compiles: YES
Checking if "endian.h" compiles: YES
Checking if "dlfcn.h" compiles: YES
Checking for function "strtof" : YES
Checking for function "mkostemp" : YES
Checking for function "posix_memalign" : YES
Checking for function "timespec_get" : YES
Checking for function "memfd_create" : YES
Checking if "strtod has locale support" links: YES
Checking if "Bsymbolic" links: YES
Checking if "gc-sections" links: YES
Checking if "version-script" links: YES
Checking if "dynamic-list" links: YES
Checking for function "dlopen" : NO

meson.build:1030:2: ERROR:  External requires a C compiler, but C is not in
the list of project languages

Any help appreciated
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-users/attachments/20180824/8aff7220/attachment.html>


More information about the mesa-users mailing list