[Mesa-users] Meson build error: bad register name

YuGiOhJCJ yugiohjcj-mailinglist at laposte.net
Wed Sep 4 06:49:22 UTC 2019


On 03/09/2019 15:57, Pekka Paalanen wrote:
> On Tue, 3 Sep 2019 14:30:23 +0200
> YuGiOhJCJ <yugiohjcj-mailinglist at laposte.net> wrote:
> 
>> Hello,
>>
>> I have a 64-bit machine, on a 64-bit operating system, able to run 64-bit and 32-bit programs.
>> I would like to build on this machine mesa 19.1.4 32-bit.
> 
> Hi,
> 
> have you tried the instructions from https://www.mesa3d.org/meson.html
> instead, particularly "Cross-compilation and 32-bit builds"?
> 
> 
> Thanks,
> pq
> 

Indeed, following these instructions has solved my problem.
The trick is to use a file and the --cross-file meson parameter:
---
set -e
ARCHCFLAGS="-O2 -m32"
NUMJOBS="-j $(grep -c ^processor /proc/cpuinfo)"
NAME="32-mesa"
VERSION="19.1.4"
DIR="mesa-${VERSION}"
DESTDIR="/tmp/${NAME}-${VERSION}"
tar xvf ${DIR}.tar.xz
mkdir -pv ${DIR}/build
cd ${DIR}/build
export PATH="/usr/bin32:${PATH}"
export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/local/lib/pkgconfig"
export CFLAGS="${ARCHCFLAGS}"
export CXXFLAGS="${ARCHCFLAGS}"
export LDFLAGS="${ARCHCFLAGS}"
cat > cross_file.txt << EOF
[binaries]
c = 'gcc'
cpp = 'g++'
ar = 'gcc-ar'
strip = 'strip'
pkgconfig = 'pkg-config'
llvm-config = '/usr/bin32/llvm-config'

[properties]
c_args = ['-m32']
c_link_args = ['-m32']
cpp_args = ['-m32']
cpp_link_args = ['-m32']

[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
EOF
meson setup \
	--libdir=/usr/lib \
	--prefix=/usr \
	--sysconfdir=/etc \
	-Dgallium-xvmc=false \
	-Degl=true \
	-Dgles1=true \
	-Dgles2=true \
	-Dllvm=true \
	-Dshared-llvm=true \
	-Dshared-glapi=true \
	-Dgallium-vdpau=true \
	-Ddri-drivers-path=/usr/lib/xorg/modules/dri \
	-Ddri-drivers= \
	-Dgallium-drivers=radeonsi \
	-Dplatforms=x11,drm \
	--cross-file cross_file.txt\
	..
DESTDIR=${DESTDIR} ninja install
rm -rfv ${DESTDIR}/etc
rm -rfv ${DESTDIR}/usr/include
rm -rfv ${DESTDIR}/usr/share
cd -
tree --charset=ascii /tmp/32-mesa-19.1.4
/tmp/32-mesa-19.1.4
`-- usr
     `-- lib
         |-- dri
         |   `-- radeonsi_drv_video.so
         |-- libEGL.so -> libEGL.so.1
         |-- libEGL.so.1 -> libEGL.so.1.0.0
         |-- libEGL.so.1.0.0
         |-- libgbm.so -> libgbm.so.1
         |-- libgbm.so.1 -> libgbm.so.1.0.0
         |-- libgbm.so.1.0.0
         |-- libglapi.so -> libglapi.so.0
         |-- libglapi.so.0 -> libglapi.so.0.0.0
         |-- libglapi.so.0.0.0
         |-- libGLESv1_CM.so -> libGLESv1_CM.so.1
         |-- libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
         |-- libGLESv1_CM.so.1.1.0
         |-- libGLESv2.so -> libGLESv2.so.2
         |-- libGLESv2.so.2 -> libGLESv2.so.2.0.0
         |-- libGLESv2.so.2.0.0
         |-- libGL.so -> libGL.so.1
         |-- libGL.so.1 -> libGL.so.1.2.0
         |-- libGL.so.1.2.0
         |-- libvulkan_intel.so
         |-- libvulkan_radeon.so
         |-- pkgconfig
         |   |-- dri.pc
         |   |-- egl.pc
         |   |-- gbm.pc
         |   |-- glesv1_cm.pc
         |   |-- glesv2.pc
         |   `-- gl.pc
         |-- vdpau
         |   |-- libvdpau_radeonsi.so -> libvdpau_radeonsi.so.1.0.0
         |   |-- libvdpau_radeonsi.so.1 -> libvdpau_radeonsi.so.1.0.0
         |   |-- libvdpau_radeonsi.so.1.0 -> libvdpau_radeonsi.so.1.0.0
         |   `-- libvdpau_radeonsi.so.1.0.0
         `-- xorg
             `-- modules
                 `-- dri
                     `-- radeonsi_dri.so

8 directories, 32 files
---

Thanks.
Best regards.


More information about the mesa-users mailing list