termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.2k stars 3.03k forks source link

Building xorg-xserver gives error "invalid input constraint 'a' in asm" #6663

Closed mjuned47 closed 3 years ago

mjuned47 commented 3 years ago

Environment : Android 7 Termux (using clang)

Building xorg-xserver(1.12.2) with following configuration :

./configure --enable-xorg --disable-libdrm --disable-dri --disable-xquartz --disable-xwin --disable-screensaver --disable-xvfb --disable-xf86vidmode --prefix=/data/data/com.termux/files/usr --disable-kdrive

Error : ./compiler.h:1395:41: error: invalid input constraint 'a' in asm asm volatile("out%B0 (%1)"::"a"(val), "d"(port));

./compiler.h:1423:39: error: invalid output constraint '=a' in asm asm volatile("in%W0 (%1)":"=a"(ret):"d"(port));

Is there any fix available ?

landfillbaby commented 3 years ago

use a newer version that supports aarch64

ghost commented 3 years ago

See which options are used by headless Xorg (xvfb) in x11-packages:

--enable-composite
--enable-mitshm
--enable-xres
--enable-record
--enable-xv
--enable-xvmc
--enable-dga
--enable-screensaver
--enable-xdmcp
--disable-glx
--disable-dri
--disable-dri2
--disable-dri3
--enable-present
--enable-xinerama
--enable-xf86vidmode
--enable-xace
--enable-xcsecurity
--enable-dbe
--enable-xf86bigfont
--disable-xfree86-utils
--disable-vgahw
--disable-vbe
--disable-int10-module
--enable-libdrm
--disable-pciaccess
--disable-linux-acpi
--disable-linux-apm
--disable-xorg
--disable-dmx
--enable-xvfb
--disable-xnest
--disable-xwayland
--disable-xwin
--disable-kdrive
--disable-xephyr
--disable-libunwind
--enable-xshmfence
--enable-ipv6
--with-sha1=libcrypto
--with-fontrootdir=${TERMUX_PREFIX}/share/fonts
--with-xkb-path=${TERMUX_PREFIX}/share/X11/xkb

Maybe one or more will work for you. You may also look into https://github.com/termux/x11-packages/tree/master/packages/xorg-server-xvfb for patches.

However full-featured Xorg is not supported, so I can't guarantee any success with its compilation & usage under Termux.