Wayland:修订间差异
来自Ubuntu中文
跳到导航跳到搜索
清空页面 |
无编辑摘要 |
||
第1行: | 第1行: | ||
== wayland的编译 == | |||
==== 基础知识 ==== | |||
#具有LFS编译经验 | |||
#一个可用的LFS系统(仅在LFS 7.0 64位版本编译通过,其他系统或者LFS版本没有测试验证) | |||
#本篇wayland编译笔记以Xorg7.7为基础,相应版本的软件包请参考Xorg7.7发布版本 | |||
==== 设置环境变量 ==== | |||
<pre>WLD=/usr/ | |||
LD_LIBRARY_PATH=$WLD/lib64 | |||
PKG_CONFIG_PATH=$WLD/lib64/pkgconfig/:$WLD/share/pkgconfig/ | |||
ACLOCAL="aclocal -I $WLD/share/aclocal" | |||
XORG_CONFIG="--prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --localstatedir=/var" | |||
export WLD LD_LIBRARY_PATH PKG_CONFIG_PATH ACLOCAL XORG_CONFIG | |||
</pre> | |||
=== 安装一些基本工具 === | |||
==== openssl ==== | |||
<pre>wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz | |||
tar -xvpf openssl-1.0.1c.tar.gz | |||
cd openssl-1.0.1c | |||
./config --prefix=/usr zlib-dynamic --openssldir=/etc/ssl shared | |||
make | |||
make install | |||
</pre> | |||
==== 安装 wget ==== | |||
<pre>wget http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz | |||
tar -xvpf wget-1.14.tar.xz | |||
cd wget-1.14 | |||
./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 git ==== | |||
最新版本为 1.8.0 | |||
<pre>wget http://git-core.googlecode.com/files/git-1.8.0.tar.gz | |||
tar -xvpf git-1.8.0.tar.gz | |||
cd git-1.8.0 | |||
./configure --without-python | |||
make && make install | |||
</pre> | |||
==== 安装 pkg-config ==== | |||
<pre>wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.1.tar.gz | |||
tar -xvpf pkg-config-0.27.1.tar.gz | |||
cd pkg-config-0.27.1 | |||
./configure --prefix=/usr --with-internal-glib && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libffi ==== | |||
<pre>wget ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz | |||
tar -xvpf libffi-3.0.11.tar.gz | |||
cd libffi-3.0.11 | |||
./configure --prefix=/usr && | |||
make -j10 | |||
make install | |||
</pre> | |||
==== 安装 expat ==== | |||
<pre>wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz | |||
tar -xvpf expat-2.1.0.tar.gz | |||
cd expat-2.1.0 | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== 安装doxygen ==== | |||
<pre>wget http://ftp.stack.nl/pub/doxygen/doxygen-1.8.2.src.tar.gz | |||
tar -xvpf doxygen-1.8.2.src.tar.gz | |||
cd doxygen-1.8.2.src | |||
./configure --prefix /usr | |||
make && make install | |||
</pre> | |||
==== 安装 wayland ==== | |||
<pre>git clone git://anongit.freedesktop.org/wayland/wayland | |||
cd wayland | |||
./autogen.sh --prefix=$WLD --disable-documentation | |||
make -j10 | |||
make install | |||
</pre> | |||
==== 安装 libpthread-stubs ==== | |||
<pre>wget http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2 | |||
tar -xvpf libpthread-stubs-0.3.tar.bz2 | |||
cd libpthread-stubs-0.3 | |||
./configure --prefix=/usr && | |||
make -j8 | |||
make install | |||
</pre> | |||
==== libpciaccess ==== | |||
<pre>wget http://xorg.freedesktop.org/archive/individual/lib/libpciaccess-0.13.1.tar.gz | |||
tar -xvpf libpciaccess-0.13.1.tar.gz | |||
cd libpciaccess-0.13.1 | |||
./configure --prefix=/usr | |||
make | |||
make install | |||
</pre> | |||
==== 安装 drm ==== | |||
<pre>git clone git://anongit.freedesktop.org/git/mesa/drm | |||
cd drm | |||
./autogen.sh --prefix=/usr | |||
make -j8 && make install | |||
</pre> | |||
==== 安装 util-macros ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/util/util-macros-1.17.tar.bz2 | |||
tar -xvpf util-macros-1.17.tar.bz2 | |||
cd util-macros-1.17 | |||
./configure --prefix=$WLD | |||
make && make install | |||
</pre> | |||
==== 安装 proto-7.7 ==== | |||
<pre>cat > proto-7.7.md5 << "EOF" | |||
1a05fb01fa1d5198894c931cf925c025 bigreqsproto-1.1.2.tar.bz2 | |||
98482f65ba1e74a08bf5b056a4031ef0 compositeproto-0.4.2.tar.bz2 | |||
998e5904764b82642cc63d97b4ba9e95 damageproto-1.2.1.tar.bz2 | |||
4ee175bbd44d05c34d43bb129be5098a dmxproto-2.3.1.tar.bz2 | |||
2eb74959684f47c862081099059a11ab dri2proto-2.6.tar.bz2 | |||
e7431ab84d37b2678af71e29355e101d fixesproto-5.0.tar.bz2 | |||
c5f4f1fb4ba7766eedbc9489e81f3be2 fontsproto-2.1.2.tar.bz2 | |||
d1ff0c1acc605689919c1ee2fc9b5582 glproto-1.4.15.tar.bz2 | |||
13c8aedaf98a92e282b7e456c0a5bed9 inputproto-2.2.tar.bz2 | |||
677ea8523eec6caca86121ad2dca0b71 kbproto-1.0.6.tar.bz2 | |||
597491c0d8055e2a66f11350c4985775 randrproto-1.3.2.tar.bz2 | |||
1b4e5dede5ea51906f1530ca1e21d216 recordproto-1.14.2.tar.bz2 | |||
a914ccc1de66ddeb4b611c6b0686e274 renderproto-0.11.1.tar.bz2 | |||
cfdb57dae221b71b2703f8e2980eaaf4 resourceproto-1.2.0.tar.bz2 | |||
edd8a73775e8ece1d69515dd17767bfb scrnsaverproto-1.2.2.tar.bz2 | |||
c3b348c6e2031b72b11ae63fc7f805c2 videoproto-2.3.1.tar.bz2 | |||
5f4847c78e41b801982c8a5e06365b24 xcmiscproto-1.2.2.tar.bz2 | |||
eaac343af094e6b608cf15cfba0f77c5 xextproto-7.2.1.tar.bz2 | |||
120e226ede5a4687b25dd357cc9b8efe xf86bigfontproto-1.2.0.tar.bz2 | |||
a036dc2fcbf052ec10621fd48b68dbb1 xf86dgaproto-2.1.tar.bz2 | |||
1d716d0dac3b664e5ee20c69d34bc10e xf86driproto-2.1.1.tar.bz2 | |||
e793ecefeaecfeabd1aed6a01095174e xf86vidmodeproto-2.3.1.tar.bz2 | |||
9959fe0bfb22a0e7260433b8d199590a xineramaproto-1.2.1.tar.bz2 | |||
d4d241a4849167e4e694fe73371c328c xproto-7.0.23.tar.bz2 | |||
EOF | |||
mkdir proto && | |||
cd proto && | |||
grep -v '^#' ../proto-7.7.md5 | awk '{print $2}' | wget -i- -c \ | |||
-B http://xorg.freedesktop.org/releases/individual/proto/ && | |||
md5sum -c ../proto-7.7.md5 | |||
export XORG_PREFIX="/usr" | |||
export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \ | |||
--mandir=$XORG_PREFIX/share/man --localstatedir=/var" | |||
for package in $(grep -v '^#' ../proto-7.7.md5 | awk '{print $2}') | |||
do | |||
packagedir=${package%.tar.bz2} | |||
tar -xf $package | |||
pushd $packagedir | |||
./configure $XORG_CONFIG | |||
make install | |||
popd | |||
rm -r $packagedir | |||
done | |||
</pre> | |||
==== 安装 makedepend ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.4.tar.bz2 | |||
tar -xvpf makedepend-1.0.4.tar.bz2 | |||
cd makedepend-1.0.4 | |||
./configure $XORG_CONFIG && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libxml2-2.9.0 ==== | |||
<pre>wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz | |||
tar -xvpf libxml2-2.9.0.tar.gz | |||
cd libxml2-2.9.0 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libxslt ==== | |||
<pre>wget http://xmlsoft.org/sources/libxslt-1.1.27.tar.gz | |||
tar -xvpf libxslt-1.1.27.tar.gz | |||
cd libxslt-1.1.27 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 Python2.7.x ==== | |||
<pre>wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.xz | |||
tar -xvpf Python-2.7.3.tar.xz | |||
cd Python-2.7.3 | |||
sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" setup.py && | |||
./configure --prefix=/usr --enable-shared && | |||
make -j8 | |||
</pre> | |||
==== 安装 xcb-proto-1.7.1 ==== | |||
<pre>wget http://xcb.freedesktop.org/dist/xcb-proto-1.7.1.tar.bz2 | |||
tar -xvpf xcb-proto-1.7.1.tar.bz2 | |||
cd xcb-proto-1.7.1 | |||
./configure --prefix=/usr | |||
make && make install | |||
</pre> | |||
==== 安装libXau ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.7.tar.bz2 | |||
tar -xvpf libXau-1.0.7.tar.bz2 | |||
cd libXau-1.0.7 | |||
./configure --prefix=/usr | |||
make | |||
make install | |||
</pre> | |||
==== 安装libXdmcp ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.1.1.tar.bz2 | |||
tar -xvpf libXdmcp-1.1.1.tar.bz2 | |||
cd libXdmcp-1.1.1 | |||
./configure --prefix=/usr | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libxcb ==== | |||
<pre>wget http://xcb.freedesktop.org/dist/libxcb-1.8.1.tar.bz2 | |||
tar -xvpf libxcb-1.8.1.tar.bz2 | |||
cd libxcb-1.8.1 | |||
./configure $XORG_CONFIG | |||
make | |||
make install | |||
</pre> | |||
==== 安装 freetype-2.4.10 ==== | |||
<pre>wget http://downloads.sourceforge.net/freetype/freetype-2.4.10.tar.bz2 | |||
tar -xvpf freetype-2.4.10.tar.bz2 | |||
cd freetype-2.4.10 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== fontconfig-2.10. ==== | |||
<pre>wget http://fontconfig.org/release/fontconfig-2.10.1.tar.bz2 | |||
tar -xvpf fontconfig-2.10.1.tar.bz2 | |||
cd fontconfig-2.10.1 | |||
./configure --prefix=/usr \ | |||
--sysconfdir=/etc \ | |||
--localstatedir=/var \ | |||
--docdir=/usr/share/doc/fontconfig-2.10.1 \ | |||
--disable-docs \ | |||
--disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 Xorg lib ==== | |||
<pre>cat > lib-7.7.md5 << "EOF" | |||
84c66908cf003ad8c272b0eecbdbaee3 xtrans-1.2.7.tar.bz2 | |||
78b4b3bab4acbdf0abcfca30a8c70cc6 libX11-1.5.0.tar.bz2 | |||
71251a22bc47068d60a95f50ed2ec3cf libXext-1.3.1.tar.bz2 | |||
645f83160cf7b562734e2038045106d1 libFS-1.0.4.tar.bz2 | |||
471b5ca9f5562ac0d6eac7a0bf650738 libICE-1.0.8.tar.bz2 | |||
766de9d1e1ecf8bf74cebe2111d8e2bd libSM-1.2.1.tar.bz2 | |||
7a773b16165e39e938650bcc9027c1d5 libXScrnSaver-1.2.2.tar.bz2 | |||
a6f137ae100e74ebe3b71eb4a38c40b3 libXt-1.1.3.tar.bz2 | |||
a4efff8de85bd45dd3da124285d10c00 libXmu-1.1.1.tar.bz2 | |||
7ae7eff7a14d411e84a67bd166bcec1a libXpm-3.5.10.tar.bz2 | |||
f39942f2cab379fc9b4c3731bf191b84 libXaw-1.0.11.tar.bz2 | |||
678071bd7f9f7467e2fc712d81022318 libXfixes-5.0.tar.bz2 | |||
a60e0b5c276d0aa9e2d3b982c98f61c8 libXcomposite-0.4.3.tar.bz2 | |||
ee62f4c7f0f16ced4da63308963ccad2 libXrender-0.9.7.tar.bz2 | |||
52efa81b7f26c8eda13510a2fba98eea libXcursor-1.1.13.tar.bz2 | |||
44774e1a065158b52f1a0da5100cebec libXdamage-1.1.3.tar.bz2 | |||
a2a861f142c3b4367f14fc14239fc1f7 libfontenc-1.1.1.tar.bz2 | |||
6851da5dae0a6cf5f7c9b9e2b05dd3b4 libXfont-1.4.5.tar.bz2 | |||
78d64dece560c9e8699199f3faa521c0 libXft-2.3.1.tar.bz2 | |||
78ee882e1ff3b192cf54070bdb19938e libXi-1.6.1.tar.bz2 | |||
cb45d6672c93a608f003b6404f1dd462 libXinerama-1.1.2.tar.bz2 | |||
92473da2fccf5fac665be4fa4f2037fa libXrandr-1.3.2.tar.bz2 | |||
80d0c6d8522fa7a645e4f522e9a9cd20 libXres-1.0.6.tar.bz2 | |||
e8abc5c00c666f551cf26aa53819d592 libXtst-1.2.1.tar.bz2 | |||
5e1ac203ccd3ce3e89755ed1fbe75b0b libXv-1.0.7.tar.bz2 | |||
3340c99ff556ea2457b4be47f5cb96fa libXvMC-1.0.7.tar.bz2 | |||
b7f38465c46e7145782d37dbb9da8c09 libXxf86dga-1.1.3.tar.bz2 | |||
ffd93bcedd8b2b5aeabf184e7b91f326 libXxf86vm-1.1.2.tar.bz2 | |||
782ced3a9e754dfeb53a8a006a75eb1a libdmx-1.1.2.tar.bz2 | |||
399a419ac6a54f0fc07c69c9bdf452dc libpciaccess-0.13.1.tar.bz2 | |||
19e6533ae64abba0773816a23f2b9507 libxkbfile-1.0.8.tar.bz2 | |||
EOF | |||
mkdir lib && | |||
cd lib && | |||
grep -v '^#' ../lib-7.7.md5 | awk '{print $2}' | wget -i- -c \ | |||
-B http://xorg.freedesktop.org/releases/individual/lib/ && | |||
md5sum -c ../lib-7.7.md5 | |||
for package in $(grep -v '^#' ../lib-7.7.md5 | awk '{print $2}') | |||
do | |||
packagedir=${package%.tar.bz2} | |||
tar -xf $package | |||
pushd $packagedir | |||
case $packagedir in | |||
libXfont-[0-9]* ) | |||
./configure $XORG_CONFIG --disable-devel-docs | |||
;; | |||
libXt-[0-9]* ) | |||
./configure $XORG_CONFIG \ | |||
--with-appdefaultdir=/etc/X11/app-defaults | |||
;; | |||
* ) | |||
./configure $XORG_CONFIG | |||
;; | |||
esac | |||
make | |||
make install | |||
popd | |||
rm -r $packagedir | |||
/sbin/ldconfig | |||
done | |||
</pre> | |||
==== 安装 llvm ==== | |||
<pre>wget http://llvm.org/releases/3.1/llvm-3.1.src.tar.gz | |||
tar -xvpf llvm-3.1.src.tar.gz | |||
cd llvm-3.1.src | |||
wget http://llvm.org/releases/3.1/clang-3.1.src.tar.gz | |||
tar -xf clang-3.1.src.tar.gz -C tools && | |||
mv tools/clang-3.1.src tools/clang | |||
CC=gcc \ | |||
CXX=g++ \ | |||
./configure --prefix=/usr \ | |||
--libdir=/usr/lib/llvm \ | |||
--sysconfdir=/etc \ | |||
--enable-shared \ | |||
--enable-libffi \ | |||
--enable-targets=all \ | |||
--disable-expensive-checks \ | |||
--disable-debug-runtime \ | |||
--disable-assertions \ | |||
--enable-optimized && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 Mesa ==== | |||
如果Mesa编译失败,可以在源码目录中尝试执行命令 | |||
<pre> git clean -xfd </pre> | |||
,原文如下 | |||
Note on Mesa build failures: If you're not building in your Mesa git repo for the first time, the first thing to try is always "git clean -xfd", and possibly deleting your $WLD directory, as Mesa requires this often. | |||
<pre>git clone git://anongit.freedesktop.org/mesa/mesa | |||
cd mesa | |||
./autogen.sh --prefix=$WLD \ | |||
--enable-gles2 \ | |||
--disable-gallium-egl \ | |||
--with-egl-platforms=x11,wayland,drm \ | |||
--enable-gbm \ | |||
--enable-shared-glapi \ | |||
--with-gallium-drivers=r300,r600,swrast,nouveau | |||
make && make install | |||
</pre> | |||
==== 安装glu ==== | |||
<pre>wget ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.0.tar.bz2 | |||
tar -xvpf glu-9.0.0.tar.bz2 | |||
cd glu-9.0.0 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libxkbcommon ==== | |||
<pre>git clone git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon | |||
cd libxkbcommon/ | |||
./autogen.sh --prefix=$WLD --with-xkb-config-root=/usr/share/X11/xkb | |||
make && make install | |||
</pre> | |||
==== 安装 pixman ==== | |||
<pre>git clone git://anongit.freedesktop.org/pixman | |||
cd pixman | |||
./autogen.sh --prefix=$WLD | |||
make && make install | |||
</pre> | |||
==== 安装 libpng ==== | |||
<pre>wget http://downloads.sourceforge.net/libpng/libpng-1.5.13.tar.xz | |||
tar -xvpf libpng-1.5.13.tar.xz | |||
cd libpng-1.5.13 | |||
./configure --prefix=/usr --disable-static && | |||
make -j10 && make install | |||
</pre> | |||
==== 安装 cairo ==== | |||
<pre>git clone git://anongit.freedesktop.org/cairo | |||
cd cairo | |||
./autogen.sh --prefix=$WLD --enable-gl --enable-xcb --enable-tee | |||
make && make install | |||
</pre> | |||
==== 安装 mtdev-1.1.3 ==== | |||
<pre>wget http://bitmath.org/code/mtdev/mtdev-1.1.3.tar.bz2 | |||
tar -xvpf mtdev-1.1.3.tar.bz2 | |||
cd mtdev-1.1.3 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 libjpeg ==== | |||
<pre>wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz | |||
tar -xvpf jpegsrc.v8d.tar.gz | |||
cd jpeg-8d | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== 安装 Linux PAM ==== | |||
<pre>wget http://linux-pam.org/library/Linux-PAM-1.1.6.tar.bz2 | |||
tar -xvpf Linux-PAM-1.1.6.tar.bz2 | |||
cd Linux-PAM-1.1.6 | |||
./configure --prefix=/usr \ | |||
--sysconfdir=/etc \ | |||
--docdir=/usr/share/doc/Linux-PAM-1.1.6 \ | |||
--disable-nis && | |||
make -j10 | |||
make install | |||
</pre> | |||
==== 安装 xbitmaps ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/data/xbitmaps-1.1.1.tar.bz2 | |||
tar -xvpf xbitmaps-1.1.1.tar.bz2 | |||
cd xbitmaps-1.1.1 | |||
./configure $XORG_CONFIG | |||
</pre> | |||
==== 安装 gperf ==== | |||
<pre>wget http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz | |||
tar -xvpf gperf-3.0.4.tar.gz | |||
cd gperf-3.0.4 | |||
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.0.4 && | |||
make && | |||
make install | |||
</pre> | |||
==== 安装 xcb-util-0.3.9 ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/xcb/xcb-util-0.3.9.tar.bz2 | |||
tar -xvpf xcb-util-0.3.9.tar.bz2 | |||
cd xcb-util-0.3.9 | |||
./configure $XORG_CONFIG && | |||
make && | |||
make install | |||
</pre> | |||
==== 安装 xkbcomp-1.2.4 ==== | |||
<pre>wget http://www.x.org/releases/X11R7.7/src/app/xkbcomp-1.2.4.tar.gz | |||
tar -xvpf xkbcomp-1.2.4.tar.gz | |||
cd xkbcomp-1.2.4 | |||
./configure $XORG_CONFIG | |||
make && make install | |||
</pre> | |||
==== XML-Parser-2.41 ==== | |||
<pre>wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/perl-modules/XML-Parser-2.41.tar.gz | |||
tar -xvpf XML-Parser-2.41.tar.gz | |||
cd XML-Parser-2.41 | |||
perl Makefile.PL && | |||
make && | |||
make install | |||
</pre> | |||
==== intltool-0.50.2 ==== | |||
<pre>wget http://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz | |||
tar -xvpf intltool-0.50.2.tar.gz | |||
cd intltool-0.50.2 | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== xkeyboard-config-2.6 ==== | |||
<pre>wget http://xorg.freedesktop.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.6.tar.bz2 | |||
tar -xvpf xkeyboard-config-2.6.tar.bz2 | |||
cd xkeyboard-config-2.6 | |||
./configure $XORG_CONFIG --with-xkb-rules-symlink=xorg && | |||
make | |||
</pre> | |||
==== wayland demon ==== | |||
==== weston ==== | |||
<pre>git clone git://anongit.freedesktop.org/wayland/weston | |||
cd weston | |||
./autogen.sh --prefix=$WLD | |||
make | |||
make install | |||
</pre> | |||
配置 weston | |||
<pre>cp weston.ini $HOME/.config/weston.ini | |||
export XDG_RUNTIME_DIR=/tmp | |||
weston | |||
</pre> | |||
==== 启动weston-launch ==== | |||
<pre> $ sudo groupadd weston-launch | |||
$ sudo usermod -a -G weston-launch $USER | |||
$ # Log all the way out (of X, etc.) | |||
$ sudo chown root weston-launch | |||
$ sudo chmod +s weston-launch | |||
$ weston-launch | |||
</pre> | |||
== client for wayland == | |||
=== GTK+-3.6 for wayland === | |||
==== UnZip-6.0 ==== | |||
<pre>wget http://downloads.sourceforge.net/infozip/unzip60.tar.gz | |||
tar -xvpf unzip60.tar.gz | |||
cd unzip60 | |||
case `uname -m` in | |||
i?86) | |||
sed -i -e 's/DASM"/DASM -DNO_LCHMOD"/' unix/Makefile | |||
make -f unix/Makefile linux | |||
;; | |||
*) | |||
sed -i -e 's/CFLAGS="-O -Wall/& -DNO_LCHMOD/' unix/Makefile | |||
make -f unix/Makefile linux_noasm | |||
;; | |||
esac | |||
make prefix=/usr install | |||
</pre> | |||
==== docbook-xml-4.5.zip ==== | |||
<pre>wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip | |||
mkdir docbook-xml | |||
unzip -x docbook-xml-4.5.zip -d docbook-xml | |||
cd docbook-xml | |||
install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 && | |||
install -v -d -m755 /etc/xml && | |||
chown -R root:root . && | |||
cp -v -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.5 | |||
if [ ! -e /etc/xml/docbook ]; then | |||
xmlcatalog --noout --create /etc/xml/docbook | |||
fi && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//DTD DocBook XML V4.5//EN" \ | |||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "rewriteSystem" \ | |||
"http://www.oasis-open.org/docbook/xml/4.5" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5" \ | |||
/etc/xml/docbook && | |||
xmlcatalog --noout --add "rewriteURI" \ | |||
"http://www.oasis-open.org/docbook/xml/4.5" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5" \ | |||
/etc/xml/docbook | |||
if [ ! -e /etc/xml/catalog ]; then | |||
xmlcatalog --noout --create /etc/xml/catalog | |||
fi && | |||
xmlcatalog --noout --add "delegatePublic" \ | |||
"-//OASIS//ENTITIES DocBook XML" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "delegatePublic" \ | |||
"-//OASIS//DTD DocBook XML" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "delegateSystem" \ | |||
"http://www.oasis-open.org/docbook/" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "delegateURI" \ | |||
"http://www.oasis-open.org/docbook/" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog | |||
for DTDVERSION in 4.1.2 4.2 4.3 4.4 | |||
do | |||
xmlcatalog --noout --add "public" \ | |||
"-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ | |||
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ | |||
/etc/xml/docbook | |||
xmlcatalog --noout --add "rewriteSystem" \ | |||
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5" \ | |||
/etc/xml/docbook | |||
xmlcatalog --noout --add "rewriteURI" \ | |||
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ | |||
"file:///usr/share/xml/docbook/xml-dtd-4.5" \ | |||
/etc/xml/docbook | |||
xmlcatalog --noout --add "delegateSystem" \ | |||
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog | |||
xmlcatalog --noout --add "delegateURI" \ | |||
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ | |||
"file:///etc/xml/docbook" \ | |||
/etc/xml/catalog | |||
done | |||
</pre> | |||
==== docbook-xsl-1.77.1 ==== | |||
<pre>wget http://downloads.sourceforge.net/docbook/docbook-xsl-1.77.1.tar.bz2 | |||
tar -xvpf docbook-xsl-1.77.1.tar.bz2 | |||
cd docbook-xsl-1.77.1 | |||
install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.77.1 && | |||
cp -v -R VERSION common eclipse epub extensions fo highlighting html \ | |||
htmlhelp images javahelp lib manpages params profiling \ | |||
roundtrip slides template tests tools webhelp website \ | |||
xhtml xhtml-1_1 \ | |||
/usr/share/xml/docbook/xsl-stylesheets-1.77.1 && | |||
ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-1.77.1/VERSION.xsl && | |||
install -v -m644 -D README /usr/share/doc/docbook-xsl-1.77.1/README.txt && | |||
install -v -m755 RELEASE-NOTES* NEWS* /usr/share/doc/docbook-xsl-1.77.1 | |||
if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi && | |||
if [ ! -f /etc/xml/catalog ]; then | |||
xmlcatalog --noout --create /etc/xml/catalog | |||
fi && | |||
xmlcatalog --noout --add "rewriteSystem" \ | |||
"http://docbook.sourceforge.net/release/xsl/1.77.1" \ | |||
"/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "rewriteURI" \ | |||
"http://docbook.sourceforge.net/release/xsl/1.77.1" \ | |||
"/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "rewriteSystem" \ | |||
"http://docbook.sourceforge.net/release/xsl/current" \ | |||
"/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ | |||
/etc/xml/catalog && | |||
xmlcatalog --noout --add "rewriteURI" \ | |||
"http://docbook.sourceforge.net/release/xsl/current" \ | |||
"/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ | |||
/etc/xml/catalog | |||
</pre> | |||
==== gtk-doc-1.18 ==== | |||
<pre>wget http://ftp.gnome.org/pub/gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz | |||
tar -xvpf gtk-doc-1.18.tar.xz | |||
cd gtk-doc-1.18 | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== gobject-introspection ==== | |||
<pre>wget http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.34/gobject-introspection-1.34.2.tar.xz | |||
tar -xvpf gobject-introspection-1.34.2.tar.xz | |||
cd gobject-introspection-1.34.2 | |||
./configure --prefix=/usr --disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== glib-2.34.2 ==== | |||
<pre>http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.2.tar.xz | |||
tar -xvpf glib-2.34.2.tar.xz | |||
cd glib-2.34.2 | |||
./configure --prefix=/usr --with-pcre=system && | |||
make | |||
make install | |||
</pre> | |||
==== Atk-2.6.0 ==== | |||
<pre>wget http://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz | |||
tar -xvpf atk-2.6.0.tar.xz | |||
cd atk-2.6.0 | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== gdk-pixbuf-2.26.4 ==== | |||
<pre>wget http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.4.tar.xz | |||
tar -xvpf gdk-pixbuf-2.26.4.tar.xz | |||
cd gdk-pixbuf-2.26.4 | |||
./configure --prefix=/usr --without-libtiff | |||
make -j4 | |||
make install | |||
gdk-pixbuf-query-loaders --update-cache | |||
</pre> | |||
==== cairo-1.12.8 ==== | |||
<pre>wget http://cairographics.org/releases/cairo-1.12.8.tar.xz | |||
tar -xvpf cairo-1.12.8.tar.xz | |||
cd cairo-1.12.8 | |||
./configure --prefix=/usr \ | |||
--enable-tee \ | |||
--enable-xcb \ | |||
--disable-static && | |||
make | |||
make install | |||
</pre> | |||
==== harfbuzz-0.9.6 ==== | |||
<pre>wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.6.tar.bz2 | |||
tar -xvpf harfbuzz-0.9.6.tar.bz2 | |||
cd harfbuzz-0.9.6 | |||
./configure --prefix=/usr && | |||
make | |||
make install | |||
</pre> | |||
==== pango-1.32.2 ==== | |||
<pre>wget http://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.2.tar.xz | |||
tar -xvpf pango-1.32.2.tar.xz | |||
cd pango-1.32.2 | |||
./configure --prefix=/usr --sysconfdir=/etc && | |||
make | |||
make install | |||
pango-querymodules --update-cache | |||
</pre> | |||
==== gtk+ ==== | |||
<pre>git clone git://git.gnome.org/gtk+ | |||
pushd gtk+ | |||
./autogen.sh --prefix=$WLD --enable-wayland-backend | |||
make && make install | |||
popd | |||
</pre> |
2013年1月18日 (五) 10:26的最新版本
wayland的编译
基础知识
- 具有LFS编译经验
- 一个可用的LFS系统(仅在LFS 7.0 64位版本编译通过,其他系统或者LFS版本没有测试验证)
- 本篇wayland编译笔记以Xorg7.7为基础,相应版本的软件包请参考Xorg7.7发布版本
设置环境变量
WLD=/usr/ LD_LIBRARY_PATH=$WLD/lib64 PKG_CONFIG_PATH=$WLD/lib64/pkgconfig/:$WLD/share/pkgconfig/ ACLOCAL="aclocal -I $WLD/share/aclocal" XORG_CONFIG="--prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --localstatedir=/var" export WLD LD_LIBRARY_PATH PKG_CONFIG_PATH ACLOCAL XORG_CONFIG
安装一些基本工具
openssl
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz tar -xvpf openssl-1.0.1c.tar.gz cd openssl-1.0.1c ./config --prefix=/usr zlib-dynamic --openssldir=/etc/ssl shared make make install
安装 wget
wget http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz tar -xvpf wget-1.14.tar.xz cd wget-1.14 ./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl && make make install
安装 git
最新版本为 1.8.0
wget http://git-core.googlecode.com/files/git-1.8.0.tar.gz tar -xvpf git-1.8.0.tar.gz cd git-1.8.0 ./configure --without-python make && make install
安装 pkg-config
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.1.tar.gz tar -xvpf pkg-config-0.27.1.tar.gz cd pkg-config-0.27.1 ./configure --prefix=/usr --with-internal-glib && make make install
安装 libffi
wget ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz tar -xvpf libffi-3.0.11.tar.gz cd libffi-3.0.11 ./configure --prefix=/usr && make -j10 make install
安装 expat
wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz tar -xvpf expat-2.1.0.tar.gz cd expat-2.1.0 ./configure --prefix=/usr && make make install
安装doxygen
wget http://ftp.stack.nl/pub/doxygen/doxygen-1.8.2.src.tar.gz tar -xvpf doxygen-1.8.2.src.tar.gz cd doxygen-1.8.2.src ./configure --prefix /usr make && make install
安装 wayland
git clone git://anongit.freedesktop.org/wayland/wayland cd wayland ./autogen.sh --prefix=$WLD --disable-documentation make -j10 make install
安装 libpthread-stubs
wget http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2 tar -xvpf libpthread-stubs-0.3.tar.bz2 cd libpthread-stubs-0.3 ./configure --prefix=/usr && make -j8 make install
libpciaccess
wget http://xorg.freedesktop.org/archive/individual/lib/libpciaccess-0.13.1.tar.gz tar -xvpf libpciaccess-0.13.1.tar.gz cd libpciaccess-0.13.1 ./configure --prefix=/usr make make install
安装 drm
git clone git://anongit.freedesktop.org/git/mesa/drm cd drm ./autogen.sh --prefix=/usr make -j8 && make install
安装 util-macros
wget http://xorg.freedesktop.org/releases/individual/util/util-macros-1.17.tar.bz2 tar -xvpf util-macros-1.17.tar.bz2 cd util-macros-1.17 ./configure --prefix=$WLD make && make install
安装 proto-7.7
cat > proto-7.7.md5 << "EOF" 1a05fb01fa1d5198894c931cf925c025 bigreqsproto-1.1.2.tar.bz2 98482f65ba1e74a08bf5b056a4031ef0 compositeproto-0.4.2.tar.bz2 998e5904764b82642cc63d97b4ba9e95 damageproto-1.2.1.tar.bz2 4ee175bbd44d05c34d43bb129be5098a dmxproto-2.3.1.tar.bz2 2eb74959684f47c862081099059a11ab dri2proto-2.6.tar.bz2 e7431ab84d37b2678af71e29355e101d fixesproto-5.0.tar.bz2 c5f4f1fb4ba7766eedbc9489e81f3be2 fontsproto-2.1.2.tar.bz2 d1ff0c1acc605689919c1ee2fc9b5582 glproto-1.4.15.tar.bz2 13c8aedaf98a92e282b7e456c0a5bed9 inputproto-2.2.tar.bz2 677ea8523eec6caca86121ad2dca0b71 kbproto-1.0.6.tar.bz2 597491c0d8055e2a66f11350c4985775 randrproto-1.3.2.tar.bz2 1b4e5dede5ea51906f1530ca1e21d216 recordproto-1.14.2.tar.bz2 a914ccc1de66ddeb4b611c6b0686e274 renderproto-0.11.1.tar.bz2 cfdb57dae221b71b2703f8e2980eaaf4 resourceproto-1.2.0.tar.bz2 edd8a73775e8ece1d69515dd17767bfb scrnsaverproto-1.2.2.tar.bz2 c3b348c6e2031b72b11ae63fc7f805c2 videoproto-2.3.1.tar.bz2 5f4847c78e41b801982c8a5e06365b24 xcmiscproto-1.2.2.tar.bz2 eaac343af094e6b608cf15cfba0f77c5 xextproto-7.2.1.tar.bz2 120e226ede5a4687b25dd357cc9b8efe xf86bigfontproto-1.2.0.tar.bz2 a036dc2fcbf052ec10621fd48b68dbb1 xf86dgaproto-2.1.tar.bz2 1d716d0dac3b664e5ee20c69d34bc10e xf86driproto-2.1.1.tar.bz2 e793ecefeaecfeabd1aed6a01095174e xf86vidmodeproto-2.3.1.tar.bz2 9959fe0bfb22a0e7260433b8d199590a xineramaproto-1.2.1.tar.bz2 d4d241a4849167e4e694fe73371c328c xproto-7.0.23.tar.bz2 EOF mkdir proto && cd proto && grep -v '^#' ../proto-7.7.md5 | awk '{print $2}' | wget -i- -c \ -B http://xorg.freedesktop.org/releases/individual/proto/ && md5sum -c ../proto-7.7.md5 export XORG_PREFIX="/usr" export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \ --mandir=$XORG_PREFIX/share/man --localstatedir=/var" for package in $(grep -v '^#' ../proto-7.7.md5 | awk '{print $2}') do packagedir=${package%.tar.bz2} tar -xf $package pushd $packagedir ./configure $XORG_CONFIG make install popd rm -r $packagedir done
安装 makedepend
wget http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.4.tar.bz2 tar -xvpf makedepend-1.0.4.tar.bz2 cd makedepend-1.0.4 ./configure $XORG_CONFIG && make make install
安装 libxml2-2.9.0
wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz tar -xvpf libxml2-2.9.0.tar.gz cd libxml2-2.9.0 ./configure --prefix=/usr --disable-static && make make install
安装 libxslt
wget http://xmlsoft.org/sources/libxslt-1.1.27.tar.gz tar -xvpf libxslt-1.1.27.tar.gz cd libxslt-1.1.27 ./configure --prefix=/usr --disable-static && make make install
安装 Python2.7.x
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.xz tar -xvpf Python-2.7.3.tar.xz cd Python-2.7.3 sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" setup.py && ./configure --prefix=/usr --enable-shared && make -j8
安装 xcb-proto-1.7.1
wget http://xcb.freedesktop.org/dist/xcb-proto-1.7.1.tar.bz2 tar -xvpf xcb-proto-1.7.1.tar.bz2 cd xcb-proto-1.7.1 ./configure --prefix=/usr make && make install
安装libXau
wget http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.7.tar.bz2 tar -xvpf libXau-1.0.7.tar.bz2 cd libXau-1.0.7 ./configure --prefix=/usr make make install
安装libXdmcp
wget http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.1.1.tar.bz2 tar -xvpf libXdmcp-1.1.1.tar.bz2 cd libXdmcp-1.1.1 ./configure --prefix=/usr make make install
安装 libxcb
wget http://xcb.freedesktop.org/dist/libxcb-1.8.1.tar.bz2 tar -xvpf libxcb-1.8.1.tar.bz2 cd libxcb-1.8.1 ./configure $XORG_CONFIG make make install
安装 freetype-2.4.10
wget http://downloads.sourceforge.net/freetype/freetype-2.4.10.tar.bz2 tar -xvpf freetype-2.4.10.tar.bz2 cd freetype-2.4.10 ./configure --prefix=/usr --disable-static && make make install
fontconfig-2.10.
wget http://fontconfig.org/release/fontconfig-2.10.1.tar.bz2 tar -xvpf fontconfig-2.10.1.tar.bz2 cd fontconfig-2.10.1 ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --docdir=/usr/share/doc/fontconfig-2.10.1 \ --disable-docs \ --disable-static && make make install
安装 Xorg lib
cat > lib-7.7.md5 << "EOF" 84c66908cf003ad8c272b0eecbdbaee3 xtrans-1.2.7.tar.bz2 78b4b3bab4acbdf0abcfca30a8c70cc6 libX11-1.5.0.tar.bz2 71251a22bc47068d60a95f50ed2ec3cf libXext-1.3.1.tar.bz2 645f83160cf7b562734e2038045106d1 libFS-1.0.4.tar.bz2 471b5ca9f5562ac0d6eac7a0bf650738 libICE-1.0.8.tar.bz2 766de9d1e1ecf8bf74cebe2111d8e2bd libSM-1.2.1.tar.bz2 7a773b16165e39e938650bcc9027c1d5 libXScrnSaver-1.2.2.tar.bz2 a6f137ae100e74ebe3b71eb4a38c40b3 libXt-1.1.3.tar.bz2 a4efff8de85bd45dd3da124285d10c00 libXmu-1.1.1.tar.bz2 7ae7eff7a14d411e84a67bd166bcec1a libXpm-3.5.10.tar.bz2 f39942f2cab379fc9b4c3731bf191b84 libXaw-1.0.11.tar.bz2 678071bd7f9f7467e2fc712d81022318 libXfixes-5.0.tar.bz2 a60e0b5c276d0aa9e2d3b982c98f61c8 libXcomposite-0.4.3.tar.bz2 ee62f4c7f0f16ced4da63308963ccad2 libXrender-0.9.7.tar.bz2 52efa81b7f26c8eda13510a2fba98eea libXcursor-1.1.13.tar.bz2 44774e1a065158b52f1a0da5100cebec libXdamage-1.1.3.tar.bz2 a2a861f142c3b4367f14fc14239fc1f7 libfontenc-1.1.1.tar.bz2 6851da5dae0a6cf5f7c9b9e2b05dd3b4 libXfont-1.4.5.tar.bz2 78d64dece560c9e8699199f3faa521c0 libXft-2.3.1.tar.bz2 78ee882e1ff3b192cf54070bdb19938e libXi-1.6.1.tar.bz2 cb45d6672c93a608f003b6404f1dd462 libXinerama-1.1.2.tar.bz2 92473da2fccf5fac665be4fa4f2037fa libXrandr-1.3.2.tar.bz2 80d0c6d8522fa7a645e4f522e9a9cd20 libXres-1.0.6.tar.bz2 e8abc5c00c666f551cf26aa53819d592 libXtst-1.2.1.tar.bz2 5e1ac203ccd3ce3e89755ed1fbe75b0b libXv-1.0.7.tar.bz2 3340c99ff556ea2457b4be47f5cb96fa libXvMC-1.0.7.tar.bz2 b7f38465c46e7145782d37dbb9da8c09 libXxf86dga-1.1.3.tar.bz2 ffd93bcedd8b2b5aeabf184e7b91f326 libXxf86vm-1.1.2.tar.bz2 782ced3a9e754dfeb53a8a006a75eb1a libdmx-1.1.2.tar.bz2 399a419ac6a54f0fc07c69c9bdf452dc libpciaccess-0.13.1.tar.bz2 19e6533ae64abba0773816a23f2b9507 libxkbfile-1.0.8.tar.bz2 EOF mkdir lib && cd lib && grep -v '^#' ../lib-7.7.md5 | awk '{print $2}' | wget -i- -c \ -B http://xorg.freedesktop.org/releases/individual/lib/ && md5sum -c ../lib-7.7.md5 for package in $(grep -v '^#' ../lib-7.7.md5 | awk '{print $2}') do packagedir=${package%.tar.bz2} tar -xf $package pushd $packagedir case $packagedir in libXfont-[0-9]* ) ./configure $XORG_CONFIG --disable-devel-docs ;; libXt-[0-9]* ) ./configure $XORG_CONFIG \ --with-appdefaultdir=/etc/X11/app-defaults ;; * ) ./configure $XORG_CONFIG ;; esac make make install popd rm -r $packagedir /sbin/ldconfig done
安装 llvm
wget http://llvm.org/releases/3.1/llvm-3.1.src.tar.gz tar -xvpf llvm-3.1.src.tar.gz cd llvm-3.1.src wget http://llvm.org/releases/3.1/clang-3.1.src.tar.gz tar -xf clang-3.1.src.tar.gz -C tools && mv tools/clang-3.1.src tools/clang CC=gcc \ CXX=g++ \ ./configure --prefix=/usr \ --libdir=/usr/lib/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ --enable-targets=all \ --disable-expensive-checks \ --disable-debug-runtime \ --disable-assertions \ --enable-optimized && make make install
安装 Mesa
如果Mesa编译失败,可以在源码目录中尝试执行命令
git clean -xfd
,原文如下
Note on Mesa build failures: If you're not building in your Mesa git repo for the first time, the first thing to try is always "git clean -xfd", and possibly deleting your $WLD directory, as Mesa requires this often.
git clone git://anongit.freedesktop.org/mesa/mesa cd mesa ./autogen.sh --prefix=$WLD \ --enable-gles2 \ --disable-gallium-egl \ --with-egl-platforms=x11,wayland,drm \ --enable-gbm \ --enable-shared-glapi \ --with-gallium-drivers=r300,r600,swrast,nouveau make && make install
安装glu
wget ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.0.tar.bz2 tar -xvpf glu-9.0.0.tar.bz2 cd glu-9.0.0 ./configure --prefix=/usr --disable-static && make make install
安装 libxkbcommon
git clone git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon cd libxkbcommon/ ./autogen.sh --prefix=$WLD --with-xkb-config-root=/usr/share/X11/xkb make && make install
安装 pixman
git clone git://anongit.freedesktop.org/pixman cd pixman ./autogen.sh --prefix=$WLD make && make install
安装 libpng
wget http://downloads.sourceforge.net/libpng/libpng-1.5.13.tar.xz tar -xvpf libpng-1.5.13.tar.xz cd libpng-1.5.13 ./configure --prefix=/usr --disable-static && make -j10 && make install
安装 cairo
git clone git://anongit.freedesktop.org/cairo cd cairo ./autogen.sh --prefix=$WLD --enable-gl --enable-xcb --enable-tee make && make install
安装 mtdev-1.1.3
wget http://bitmath.org/code/mtdev/mtdev-1.1.3.tar.bz2 tar -xvpf mtdev-1.1.3.tar.bz2 cd mtdev-1.1.3 ./configure --prefix=/usr --disable-static && make make install
安装 libjpeg
wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz tar -xvpf jpegsrc.v8d.tar.gz cd jpeg-8d ./configure --prefix=/usr && make make install
安装 Linux PAM
wget http://linux-pam.org/library/Linux-PAM-1.1.6.tar.bz2 tar -xvpf Linux-PAM-1.1.6.tar.bz2 cd Linux-PAM-1.1.6 ./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/Linux-PAM-1.1.6 \ --disable-nis && make -j10 make install
安装 xbitmaps
wget http://xorg.freedesktop.org/releases/individual/data/xbitmaps-1.1.1.tar.bz2 tar -xvpf xbitmaps-1.1.1.tar.bz2 cd xbitmaps-1.1.1 ./configure $XORG_CONFIG
安装 gperf
wget http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz tar -xvpf gperf-3.0.4.tar.gz cd gperf-3.0.4 ./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.0.4 && make && make install
安装 xcb-util-0.3.9
wget http://xorg.freedesktop.org/releases/individual/xcb/xcb-util-0.3.9.tar.bz2 tar -xvpf xcb-util-0.3.9.tar.bz2 cd xcb-util-0.3.9 ./configure $XORG_CONFIG && make && make install
安装 xkbcomp-1.2.4
wget http://www.x.org/releases/X11R7.7/src/app/xkbcomp-1.2.4.tar.gz tar -xvpf xkbcomp-1.2.4.tar.gz cd xkbcomp-1.2.4 ./configure $XORG_CONFIG make && make install
XML-Parser-2.41
wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/perl-modules/XML-Parser-2.41.tar.gz tar -xvpf XML-Parser-2.41.tar.gz cd XML-Parser-2.41 perl Makefile.PL && make && make install
intltool-0.50.2
wget http://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz tar -xvpf intltool-0.50.2.tar.gz cd intltool-0.50.2 ./configure --prefix=/usr && make make install
xkeyboard-config-2.6
wget http://xorg.freedesktop.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.6.tar.bz2 tar -xvpf xkeyboard-config-2.6.tar.bz2 cd xkeyboard-config-2.6 ./configure $XORG_CONFIG --with-xkb-rules-symlink=xorg && make
wayland demon
weston
git clone git://anongit.freedesktop.org/wayland/weston cd weston ./autogen.sh --prefix=$WLD make make install
配置 weston
cp weston.ini $HOME/.config/weston.ini export XDG_RUNTIME_DIR=/tmp weston
启动weston-launch
$ sudo groupadd weston-launch $ sudo usermod -a -G weston-launch $USER $ # Log all the way out (of X, etc.) $ sudo chown root weston-launch $ sudo chmod +s weston-launch $ weston-launch
client for wayland
GTK+-3.6 for wayland
UnZip-6.0
wget http://downloads.sourceforge.net/infozip/unzip60.tar.gz tar -xvpf unzip60.tar.gz cd unzip60 case `uname -m` in i?86) sed -i -e 's/DASM"/DASM -DNO_LCHMOD"/' unix/Makefile make -f unix/Makefile linux ;; *) sed -i -e 's/CFLAGS="-O -Wall/& -DNO_LCHMOD/' unix/Makefile make -f unix/Makefile linux_noasm ;; esac make prefix=/usr install
docbook-xml-4.5.zip
wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip mkdir docbook-xml unzip -x docbook-xml-4.5.zip -d docbook-xml cd docbook-xml install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 && install -v -d -m755 /etc/xml && chown -R root:root . && cp -v -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.5 if [ ! -e /etc/xml/docbook ]; then xmlcatalog --noout --create /etc/xml/docbook fi && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V4.5//EN" \ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/4.5" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/4.5" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook if [ ! -e /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog for DTDVERSION in 4.1.2 4.2 4.3 4.4 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog done
docbook-xsl-1.77.1
wget http://downloads.sourceforge.net/docbook/docbook-xsl-1.77.1.tar.bz2 tar -xvpf docbook-xsl-1.77.1.tar.bz2 cd docbook-xsl-1.77.1 install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.77.1 && cp -v -R VERSION common eclipse epub extensions fo highlighting html \ htmlhelp images javahelp lib manpages params profiling \ roundtrip slides template tests tools webhelp website \ xhtml xhtml-1_1 \ /usr/share/xml/docbook/xsl-stylesheets-1.77.1 && ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-1.77.1/VERSION.xsl && install -v -m644 -D README /usr/share/doc/docbook-xsl-1.77.1/README.txt && install -v -m755 RELEASE-NOTES* NEWS* /usr/share/doc/docbook-xsl-1.77.1 if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi && if [ ! -f /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/1.77.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/1.77.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \ /etc/xml/catalog
gtk-doc-1.18
wget http://ftp.gnome.org/pub/gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz tar -xvpf gtk-doc-1.18.tar.xz cd gtk-doc-1.18 ./configure --prefix=/usr && make make install
gobject-introspection
wget http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.34/gobject-introspection-1.34.2.tar.xz tar -xvpf gobject-introspection-1.34.2.tar.xz cd gobject-introspection-1.34.2 ./configure --prefix=/usr --disable-static && make make install
glib-2.34.2
http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.2.tar.xz tar -xvpf glib-2.34.2.tar.xz cd glib-2.34.2 ./configure --prefix=/usr --with-pcre=system && make make install
Atk-2.6.0
wget http://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz tar -xvpf atk-2.6.0.tar.xz cd atk-2.6.0 ./configure --prefix=/usr && make make install
gdk-pixbuf-2.26.4
wget http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.4.tar.xz tar -xvpf gdk-pixbuf-2.26.4.tar.xz cd gdk-pixbuf-2.26.4 ./configure --prefix=/usr --without-libtiff make -j4 make install gdk-pixbuf-query-loaders --update-cache
cairo-1.12.8
wget http://cairographics.org/releases/cairo-1.12.8.tar.xz tar -xvpf cairo-1.12.8.tar.xz cd cairo-1.12.8 ./configure --prefix=/usr \ --enable-tee \ --enable-xcb \ --disable-static && make make install
harfbuzz-0.9.6
wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.6.tar.bz2 tar -xvpf harfbuzz-0.9.6.tar.bz2 cd harfbuzz-0.9.6 ./configure --prefix=/usr && make make install
pango-1.32.2
wget http://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.2.tar.xz tar -xvpf pango-1.32.2.tar.xz cd pango-1.32.2 ./configure --prefix=/usr --sysconfdir=/etc && make make install pango-querymodules --update-cache
gtk+
git clone git://git.gnome.org/gtk+ pushd gtk+ ./autogen.sh --prefix=$WLD --enable-wayland-backend make && make install popd