[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesa3d-users
Subject:    [Mesa-users] Help wanted for cross building 32 bit intel drivers on 64 bit fedora with meson
From:       sheepdestroyer <sheepdestroyer () gmail ! com>
Date:       2018-08-24 1:38:32
Message-ID: CAPU6dhBzraZWDdoF3gbjhNV9MvvSvQS5hhj3FyAc8Hk67mXcTQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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@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

[Attachment #5 (text/html)]

<div dir="ltr"><div>Hi,</div><div><br></div><div>I can successfully build mesa&#39;s \
intel drivers on my fedora 28 x64 machine with the following steps \
:</div><div><br></div><div>Code:</div><div>mkdir build</div><div>meson \
build</div><div>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</div><div>ninja -C \
build</div><div><br></div><div><br></div><div>However, I can not understant how to \
make meson cross building behave</div><div>I tried with the following cross-file \
:</div><div><br></div><div><br></div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px"><div>[binaries]</div><div>ar = &#39;ar&#39;</div><div>c \
= &#39;gcc&#39;</div><div>cpp = &#39;g++&#39;</div><div>pkgconfig = \
&#39;pkg-config&#39;</div><div>strip = \
&#39;strip&#39;</div><div><br></div><div>[target_machine]</div><div>system = \
&#39;linux&#39;</div><div>cpu_family = &#39;x86&#39;</div><div>cpu = \
&#39;i686&#39;</div><div>endian = \
&#39;little&#39;</div></blockquote><div><br></div><div><br></div><div>But that fails \
with :</div><div><br></div><div>[sheepdestroyer@sheepora-X230 mesa]$ meson build-i686 \
--cross-file cross_file</div><div>The Meson build system</div><div>Version: \
0.47.1</div><div>Source dir: /home/sheepdestroyer/temp/mesa</div><div>Build dir: \
/home/sheepdestroyer/temp/mesa/build-i686</div><div>Build type: cross \
build</div><div>Program python found: YES (/usr/bin/python)</div><div>Project name: \
mesa</div><div>Project version: 18.2.0-rc3</div><div>Native C compiler: ccache cc \
(gcc 8.1.1 &quot;cc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)&quot;)</div><div>Native \
C++ compiler: ccache c++ (gcc 8.1.1 &quot;c++ (GCC) 8.1.1 20180712 (Red Hat \
8.1.1-5)&quot;)</div><div>Host machine cpu family: x86_64</div><div>Host machine cpu: \
x86_64</div><div>Target machine cpu family: x86</div><div>Target machine cpu: \
i686</div><div>Build machine cpu family: x86_64</div><div>Build machine cpu: \
x86_64</div><div>Program pkg-config found: YES (/usr/bin/pkg-config)</div><div>Cross \
dependency vdpau found: YES 1.1.1</div><div>Cross dependency xvmc found: YES \
1.0.10</div><div>Cross dependency libomxil-bellagio found: YES \
0.9.3</div><div>Dependency libtizonia found: NO</div><div>Dependency libtizplatform \
found: NO</div><div>Dependency tizilheaders found: NO</div><div>Cross dependency \
libva found: YES 1.1.0</div><div>Program python2 found: YES \
(/usr/bin/python2)</div><div>Checking for function &quot;bswap32&quot; : \
YES</div><div>Checking for function &quot;bswap64&quot; : YES</div><div>Checking for \
function &quot;clz&quot; : YES</div><div>Checking for function &quot;clzll&quot; : \
YES</div><div>Checking for function &quot;ctz&quot; : YES</div><div>Checking for \
function &quot;expect&quot; : YES</div><div>Checking for function &quot;ffs&quot; : \
YES</div><div>Checking for function &quot;ffsll&quot; : YES</div><div>Checking for \
function &quot;popcount&quot; : YES</div><div>Checking for function \
&quot;popcountll&quot; : YES</div><div>Checking for function &quot;unreachable&quot; \
: YES</div><div>Checking if &quot;__attribute__((const))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((flatten))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((malloc))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((pure))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((unused))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((warn_unused_result))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((weak))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((format(...)))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((packed))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((returns_nonnull))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((visibility(...)))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((alias(...)))&quot; compiles: \
YES</div><div>Checking if &quot;__attribute__((__noreturn__))&quot; compiles: \
YES</div><div>Compiler for C supports arguments -Wall: YES</div><div>Compiler for C \
supports arguments -Werror=implicit-function-declaration: YES</div><div>Compiler for \
C supports arguments -Werror=missing-prototypes: YES</div><div>Compiler for C \
supports arguments -fno-math-errno: YES</div><div>Compiler for C supports arguments \
-fno-trapping-math: YES</div><div>Compiler for C supports arguments \
-Qunused-arguments: NO</div><div>Compiler for C supports arguments \
-Wmissing-field-initializers: YES</div><div>Compiler for C supports arguments \
-fvisibility=hidden: YES</div><div>Compiler for C++ supports arguments -Wall: \
YES</div><div>Compiler for C++ supports arguments -fno-math-errno: \
YES</div><div>Compiler for C++ supports arguments -fno-trapping-math: \
YES</div><div>Compiler for C++ supports arguments -Qunused-arguments: \
NO</div><div>Compiler for C++ supports arguments -Wnon-virtual-dtor: \
YES</div><div>Compiler for C++ supports arguments -Wmissing-field-initializers: \
YES</div><div>Compiler for C supports arguments -Woverride-init: \
YES</div><div>Compiler for C supports arguments -Winitializer-overrides: \
NO</div><div>Compiler for C++ supports arguments -fvisibility=hidden: \
YES</div><div>Compiler for C supports arguments -Werror=pointer-arith: \
YES</div><div>Compiler for C++ supports arguments -Werror=pointer-arith: \
YES</div><div>Compiler for C supports arguments -Werror=vla: YES</div><div>Compiler \
for C++ supports arguments -Werror=vla: YES</div><div>Checking if &quot;GCC atomic \
builtins&quot; compiles: YES</div><div>Checking if &quot;GCC atomic builtins required \
-latomic&quot; links: YES</div><div>Checking if &quot;GCC 64bit atomics&quot; links: \
YES</div><div>Message:  </div><div>         Cross compiling to different \
architectures, and the host cannot run</div><div>         the build machine&#39;s \
binaries. Disabling assembly.</div><div>       </div><div>Header \
&lt;sys/sysmacros.h&gt; has symbol &quot;major&quot;: YES</div><div>Checking if \
&quot;xlocale.h&quot; compiles: NO</div><div>Checking if &quot;sys/sysctl.h&quot; \
compiles: YES</div><div>Checking if &quot;linux/futex.h&quot; compiles: \
YES</div><div>Checking if &quot;endian.h&quot; compiles: YES</div><div>Checking if \
&quot;dlfcn.h&quot; compiles: YES</div><div>Checking for function &quot;strtof&quot; \
: YES</div><div>Checking for function &quot;mkostemp&quot; : YES</div><div>Checking \
for function &quot;posix_memalign&quot; : YES</div><div>Checking for function \
&quot;timespec_get&quot; : YES</div><div>Checking for function \
&quot;memfd_create&quot; : YES</div><div>Checking if &quot;strtod has locale \
support&quot; links: YES</div><div>Checking if &quot;Bsymbolic&quot; links: \
YES</div><div>Checking if &quot;gc-sections&quot; links: YES</div><div>Checking if \
&quot;version-script&quot; links: YES</div><div>Checking if &quot;dynamic-list&quot; \
links: YES</div><div>Checking for function &quot;dlopen&quot; : \
NO</div><div><br></div><div>meson.build:1030:2: ERROR:   External requires a C \
compiler, but C is not in the list of project languages</div><div><br></div><div>Any \
help appreciated</div></div>


[Attachment #6 (text/plain)]

_______________________________________________
mesa-users mailing list
mesa-users@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic