交叉编译xorg-server

  • 一.编译xorg-macros(xorg-macros-util-macros-1.19.1.tar.gz)
  • 二.编译libfontenc(libfontenc_1.1.4.orig.tar.gz)
  • 三.编译freetype2(freetype2-VER-2-9-1.tar.gz)
  • 四.编译libXfont(libXfont-libXfont-1.5.2.tar.gz)
  • 五.编译xorg-libxshmfence(xorg-libxshmfence-libxshmfence-1.2.tar.gz)
  • 六.编译xorg-libxkbfile(xorg-libxkbfile-libxkbfile-1.0.9.tar.gz)
  • 七.编译xorg-libpciaccess(xorg-libpciaccess-libpciaccess-0.14)
  • 八.编译mesa-drm-libdrm(mesa-drm-libdrm-2.4.89.tar.gz)
  • 九.编译pixman(pixman-pixman-0.36.0.tar.gz )
  • 十.编译libXrender(libxrender_0.9.10.orig.tar.gz )
  • 十一.编译libICE(xorg-libICE-libICE-1.0.9.tar.gz )
  • 十二.编译e2fsprogs(e2fsprogs-1.46.2.tar.gz)
  • 十三.编译libSM(xorg-libSM-libSM-1.2.2.tar.gz)
  • 十四.编译libXt(xorg-libXt-libXt-1.2.0.tar.gz)
  • 十五.编译libXmu(xorg-libXmu-libXmu-1.1.2.tar.gz)
  • 十七.编译libXpm(xorg__lib__libXpm-libXpm-3.5.11.tar.gz)
  • 十八.编译libXaw(xorg-libXaw-libXaw-1.0.14.tar.gz)
  • 十九.编译libdmx(libdmx_1.1.4.orig.tar.gz)
  • 二十.编译libxres(libxres_1.2.0.orig.tar.gz)
  • 二十一.编译xinit(xinit_1.4.1.orig.tar.gz )
  • 二十二.编译xorg-bh-100dpi(font-bh-100dpi-1.0.3.tar.gz)
  • 二十三.编译xorg-bh-75dpi(font-bh-75dpi-1.0.3.tar.gz)
  • 二十四.编译xorg-misc(font-misc-misc-1.1.2.tar.gz)
  • 二十五.编译xorg-type1(font-xfree86-type1-1.0.4.tar.gz)
  • 二十六.编译xorg-server(xorg-server-1.15.1)
  • 二十七.xkeyboard(xkeyboard-config-2.25.tar.gz)
  • 二十七.xkbcomp(xkbcomp-1.3.1.tar.gz)
  • 二十八.xorg-ttf(xorg-font-bh-ttf-font-bh-ttf-1.0.3)


一.编译xorg-macros(xorg-macros-util-macros-1.19.1.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

二.编译libfontenc(libfontenc_1.1.4.orig.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

执行脚本myconfigure.sh,然后make,然后makeinstall

三.编译freetype2(freetype2-VER-2-9-1.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

四.编译libXfont(libXfont-libXfont-1.5.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

五.编译xorg-libxshmfence(xorg-libxshmfence-libxshmfence-1.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

六.编译xorg-libxkbfile(xorg-libxkbfile-libxkbfile-1.0.9.tar.gz)

解决XKM.h: No such file or directory
解决XKMformat.h: No such file or directory
脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

七.编译xorg-libpciaccess(xorg-libpciaccess-libpciaccess-0.14)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

八.编译mesa-drm-libdrm(mesa-drm-libdrm-2.4.89.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

九.编译pixman(pixman-pixman-0.36.0.tar.gz )

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十.编译libXrender(libxrender_0.9.10.orig.tar.gz )

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
echo "xorg_cv_malloc0_returns_null=yes" > arm-linux.cache
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux \
        --cache-file=arm-linux.cache

执行脚本myconfigure.sh,然后make,然后makeinstall

十一.编译libICE(xorg-libICE-libICE-1.0.9.tar.gz )

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十二.编译e2fsprogs(e2fsprogs-1.46.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

执行脚本myconfigure.sh,然后make,然后makeinstall

十三.编译libSM(xorg-libSM-libSM-1.2.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十四.编译libXt(xorg-libXt-libXt-1.2.0.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
echo "xorg_cv_malloc0_returns_null=yes" > arm-linux.cache
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux \
        --cache-file=arm-linux.cache

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十五.编译libXmu(xorg-libXmu-libXmu-1.1.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十七.编译libXpm(xorg__lib__libXpm-libXpm-3.5.11.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十八.编译libXaw(xorg-libXaw-libXaw-1.0.14.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

十九.编译libdmx(libdmx_1.1.4.orig.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
echo "xorg_cv_malloc0_returns_null=yes" > arm-linux.cache
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux \
        --cache-file=arm-linux.cache

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

二十.编译libxres(libxres_1.2.0.orig.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
echo "xorg_cv_malloc0_returns_null=yes" > arm-linux.cache
./configure \
        --prefix=/opt/libX11target \
        --host=arm-linux \
        --cache-file=arm-linux.cache

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

二十一.编译xinit(xinit_1.4.1.orig.tar.gz )

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

执行脚本myconfigure.sh,然后make,然后makeinstall
出现错误

/opt/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/5.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libxcb.so.1, needed by /opt/libX11target/lib/libX11.so, not found (try using -rpath or -rpath-link)
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_get_file_descriptor'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_connect'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_generate_id'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_connect_to_display_with_auth_info'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_writev'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_poll_for_reply64'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_poll_for_queued_event'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_wait_for_reply64'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_poll_for_event'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_get_maximum_request_length'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_take_socket'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_wait_for_event'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_disconnect'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_connection_has_error'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_get_setup'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_parse_display'

打开Makefile库路劲是有指定的,库也存在

go语言交叉编译 xgo交叉编译_go语言交叉编译


把Makefile改成

go语言交叉编译 xgo交叉编译_ci_02

二十二.编译xorg-bh-100dpi(font-bh-100dpi-1.0.3.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后make DESTDIR=/opt/libX11target install,configure指定安转路劲没用,所以安装的时候手动指定

二十三.编译xorg-bh-75dpi(font-bh-75dpi-1.0.3.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后make DESTDIR=/opt/libX11target install,configure指定安转路劲没用,所以安装的时候手动指定

二十四.编译xorg-misc(font-misc-misc-1.1.2.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后make DESTDIR=/opt/libX11target install,configure指定安转路劲没用,所以安装的时候手动指定

二十五.编译xorg-type1(font-xfree86-type1-1.0.4.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
./configure \
        --host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后make DESTDIR=/opt/libX11target install,configure指定安转路劲没用,所以安装的时候手动指定

二十六.编译xorg-server(xorg-server-1.15.1)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux \
	--disable-glx

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

========================================
下面的是补充

二十七.xkeyboard(xkeyboard-config-2.25.tar.gz)

需要安装intltool;apt-get install intltool
脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

二十七.xkbcomp(xkbcomp-1.3.1.tar.gz)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

make 出现错误

/opt/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/5.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libxcb.so.1, needed by /opt/libX11target/lib/libX11.so, not found (try using -rpath or -rpath-link)
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_get_file_descriptor'
/opt/libX11target/lib/libX11.so: undefined reference to `xcb_connect'

打开Makefile修改LDFLAGS
原来

LDFLAGS = -L/opt/libX11target/lib

改为

LDFLAGS = -L/opt/libX11target/lib -lxcb -lXau

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,然后makeinstall

二十八.xorg-ttf(xorg-font-bh-ttf-font-bh-ttf-1.0.3)

脚本myconfigure.sh

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/libX11target/lib/pkgconfig
export CFLAGS="-I/opt/libX11target/include"
export LDFLAGS="-L/opt/libX11target/lib"
./configure \
	--prefix=/opt/libX11target \
	--host=arm-linux

先执行autogen.sh生成configure和Makefile,这个Makefile是GCC的,所以要make distcelan清除,然后再执行脚本myconfigure.sh,然后make,
make DESTDIR=/opt/libX11target install