Ubuntu 9.10 编译 Xephyr

本文详细介绍了在Ubuntu 9.10 X64系统下,如何编译Fenghaitao的带有硬件加速功能的Xephyr。由于Xephyr基于1.6.4版本,且此版本与Ubuntu 9.10兼容,因此选择该版本进行编译。编译过程包括下载源码和解决依赖库问题。

 本文描述的是在Ubuntu 9.10 X64编译 Fenghaitao 带硬件加速版本的Xephyr的过程。

首先为什么会选择Ubuntu9.10,因为该版本Xephyr是基于1.6.4版本修改出来的,而1.6.4版本的Xephyr有对应的Ubuntu9.10版本,考虑到依赖库的问题,就选择了Ubuntu9.10。

关于Xephyr,请上wiki百科了解,http://en.wikipedia.org/wiki/Xephyr

源码下载地址,http://gitorious.org/xephyr-with-gl-acceleration/xephyr-with-gl-acceleration


好,编译过程开始:

./autogen.sh: 9: autoreconf: not found
sudo apt-get install autoconf


configure.ac:58: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:59: error: possibly undefined macro: AC_DISABLE_STATIC
configure.ac:60: error: possibly undefined macro: AC_PROG_LIBTOOL
sudo apt-get install libtool

No package 'x11' found
sudo apt-get install libx11-dev

No package 'glproto' found
sudo apt-get install x11proto-gl-dev

No package 'gl' found
sudo apt-get install libgl1-mesa-dev

Package 'xext', required by 'gl', not found
sudo apt-get install x11proto-xext-dev
sudo apt-get install libxext-dev

No package 'xf86driproto' found
sudo apt-get  install  x11proto-xf86dri-dev

No package 'libdrm' found
sudo apt-get install libdrm-dev

No package 'randrproto' found
No package 'renderproto' found
No package 'fixesproto' found
No package 'damageproto' found
No package 'xcmiscproto' found
No package 'bigreqsproto' found
No package 'resourceproto' found
No package 'fontsproto' found
No package 'videoproto' found
No package 'compositeproto' found
No package 'scrnsaverproto' found
No package 'resourceproto' found
No package 'xineramaproto' found
No package 'xkbfile' found
No package 'xfont' found
No package 'fontenc' found
No package 'pixman-1' found
No package 'openssl' found

sudo apt-get install x11proto-randr-dev
sudo apt-get install x11proto-render-dev
sudo apt-get install x11proto-fixes-dev
sudo apt-get install x11proto-damage-dev
sudo apt-get install x11proto-xcmisc-dev
sudo apt-get install x11proto-bigreqs-dev
sudo apt-get install x11proto-resource-dev
sudo apt-get install x11proto-fonts-dev
sudo apt-get install x11proto-video-dev
sudo apt-get install x11proto-composite-dev
sudo apt-get install x11proto-scrnsaver-dev
sudo apt-get install x11proto-xinerama-dev
sudo apt-get install libxkbfile-dev
sudo apt-get install libxfont-dev
sudo apt-get install libpixman-1-dev
sudo apt-get install libcurl4-openssl-dev

No package 'pciaccess' found
sudo apt-get install libpciaccess-dev
sudo apt-get install x11proto-dri2-dev

hostx.c:60:39: error: X11/extensions/Xcomposite.h: No such file or directory
hostx.c: In function ‘hostx_calculate_color_shift’:
hostx.c:587: warning: suggest parentheses around assignment used as truth value
hostx.c: At top level:
hostx.c:1180: warning: no previous prototype for ‘hostx_copy_region’
hostx.c: In function ‘hostx_copy_region’:
hostx.c:1196: warning: implicit declaration of function ‘ephyrPaintPairedLocalWindow’
hostx.c:1196: warning: nested extern declaration of ‘ephyrPaintPairedLocalWindow’
hostx.c: In function ‘hostx_create_window’:
hostx.c:1252: warning: implicit declaration of function ‘XCompositeRedirectWindow’
hostx.c:1252: warning: nested extern declaration of ‘XCompositeRedirectWindow’
hostx.c:1252: error: ‘CompositeRedirectManual’ undeclared (first use in this function)
hostx.c:1252: error: (Each undeclared identifier is reported only once
hostx.c:1252: error: for each function it appears in.)
hostx.c: In function ‘hostx_has_dri2’:
hostx.c:1491: warning: implicit declaration of function ‘DRI2QueryExtension’
hostx.c:1491: warning: nested extern declaration of ‘DRI2QueryExtension’
sudo apt-get install libxcomposite-dev

ephyrhostvideo.c:43:34: error: X11/extensions/Xvlib.h: No such file or directory
ephyrhostvideo.c:63: error: ‘XvName’ undeclared here (not in a function)
ephyrhostvideo.c: In function ‘xv_find_display’:
ephyrhostvideo.c:108: error: ‘XvNumEvents’ undeclared (first use in this function)
ephyrhostvideo.c:108: error: (Each undeclared identifier is reported only once
ephyrhostvideo.c:108: error: for each function it appears in.)
ephyrhostvideo.c: In function ‘xv_error_string’:
ephyrhostvideo.c:113: error: ‘XvNumErrors’ undeclared (first use in this function)
ephyrhostvideo.c: At top level:
ephyrhostvideo.c:117: error: expected specifier-qualifier-list before ‘XvAdaptorInfo’
ephyrhostvideo.c: In function ‘ephyrHostXVQueryAdaptors’:
ephyrhostvideo.c:269: warning: implicit declaration of function ‘XvQueryAdaptors’
ephyrhostvideo.c:269: warning: nested extern declaration of ‘XvQueryAdaptors’
ephyrhostvideo.c:271: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘nb_adaptors’
ephyrhostvideo.c:272: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘adaptors’
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorArrayDelete’:
ephyrhostvideo.c:290: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘adaptors’
ephyrhostvideo.c:291: warning: implicit declaration of function ‘XvFreeAdaptorInfo’
ephyrhostvideo.c:291: warning: nested extern declaration of ‘XvFreeAdaptorInfo’
ephyrhostvideo.c:291: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘adaptors’
ephyrhostvideo.c:292: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘adaptors’
ephyrhostvideo.c:293: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘nb_adaptors’
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorArrayGetSize’:
ephyrhostvideo.c:302: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘nb_adaptors’
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorArrayAt’:
ephyrhostvideo.c:311: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘nb_adaptors’
ephyrhostvideo.c:313: error: ‘EphyrHostXVAdaptorArray’ has no member named ‘adaptors’
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorGetType’:
ephyrhostvideo.c:320: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:320: error: expected expression before ‘)’ token
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorGetName’:
ephyrhostvideo.c:328: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:328: error: expected expression before ‘)’ token
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorGetVideoFormats’:
ephyrhostvideo.c:342: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:342: error: expected expression before ‘)’ token
ephyrhostvideo.c:347: error: expected expression before ‘)’ token
ephyrhostvideo.c:352: error: expected expression before ‘)’ token
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorGetNbPorts’:
ephyrhostvideo.c:366: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:366: error: expected expression before ‘)’ token
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorGetFirstPortID’:
ephyrhostvideo.c:374: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:374: error: expected expression before ‘)’ token
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorHasPutVideo’:
ephyrhostvideo.c:383: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:383: error: expected expression before ‘)’ token
ephyrhostvideo.c:383: error: ‘XvVideoMask’ undeclared (first use in this function)
ephyrhostvideo.c:383: error: ‘XvInputMask’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorHasGetVideo’:
ephyrhostvideo.c:394: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:394: error: expected expression before ‘)’ token
ephyrhostvideo.c:394: error: ‘XvVideoMask’ undeclared (first use in this function)
ephyrhostvideo.c:394: error: ‘XvOutputMask’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorHasPutStill’:
ephyrhostvideo.c:407: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:407: error: expected expression before ‘)’ token
ephyrhostvideo.c:407: error: ‘XvStillMask’ undeclared (first use in this function)
ephyrhostvideo.c:407: error: ‘XvInputMask’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorHasGetStill’:
ephyrhostvideo.c:420: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:420: error: expected expression before ‘)’ token
ephyrhostvideo.c:420: error: ‘XvStillMask’ undeclared (first use in this function)
ephyrhostvideo.c:420: error: ‘XvOutputMask’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVAdaptorHasPutImage’:
ephyrhostvideo.c:433: error: ‘XvAdaptorInfo’ undeclared (first use in this function)
ephyrhostvideo.c:433: error: expected expression before ‘)’ token
ephyrhostvideo.c:433: error: ‘XvImageMask’ undeclared (first use in this function)
ephyrhostvideo.c:433: error: ‘XvInputMask’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVQueryEncodings’:
ephyrhostvideo.c:446: error: ‘XvEncodingInfo’ undeclared (first use in this function)
ephyrhostvideo.c:446: error: ‘encoding_info’ undeclared (first use in this function)
ephyrhostvideo.c:452: warning: implicit declaration of function ‘XvQueryEncodings’
ephyrhostvideo.c:452: warning: nested extern declaration of ‘XvQueryEncodings’
ephyrhostvideo.c:468: warning: implicit declaration of function ‘XvFreeEncodingInfo’
ephyrhostvideo.c:468: warning: nested extern declaration of ‘XvFreeEncodingInfo’
ephyrhostvideo.c: In function ‘ephyrHostXVQueryPortAttributes’:
ephyrhostvideo.c:512: warning: implicit declaration of function ‘XvQueryPortAttributes’
ephyrhostvideo.c:512: warning: nested extern declaration of ‘XvQueryPortAttributes’
ephyrhostvideo.c:514: warning: cast to pointer from integer of different size
ephyrhostvideo.c: In function ‘ephyrHostXVQueryImageFormats’:
ephyrhostvideo.c:524: error: ‘XvImageFormatValues’ undeclared (first use in this function)
ephyrhostvideo.c:524: error: ‘result’ undeclared (first use in this function)
ephyrhostvideo.c:528: warning: implicit declaration of function ‘XvListImageFormats’
ephyrhostvideo.c:528: warning: nested extern declaration of ‘XvListImageFormats’
ephyrhostvideo.c: In function ‘ephyrHostXVSetPortAttribute’:
ephyrhostvideo.c:548: warning: implicit declaration of function ‘XvSetPortAttribute’
ephyrhostvideo.c:548: warning: nested extern declaration of ‘XvSetPortAttribute’
ephyrhostvideo.c: In function ‘ephyrHostXVGetPortAttribute’:
ephyrhostvideo.c:575: warning: implicit declaration of function ‘XvGetPortAttribute’
ephyrhostvideo.c:575: warning: nested extern declaration of ‘XvGetPortAttribute’
ephyrhostvideo.c: In function ‘ephyrHostXVQueryBestSize’:
ephyrhostvideo.c:611: warning: implicit declaration of function ‘XvQueryBestSize’
ephyrhostvideo.c:611: warning: nested extern declaration of ‘XvQueryBestSize’
ephyrhostvideo.c: In function ‘xv_wire_to_event’:
ephyrhostvideo.c:635: error: ‘XvEvent’ undeclared (first use in this function)
ephyrhostvideo.c:635: error: ‘re’ undeclared (first use in this function)
ephyrhostvideo.c:635: error: expected expression before ‘)’ token
ephyrhostvideo.c:641: error: ‘XvVideoNotify’ undeclared (first use in this function)
ephyrhostvideo.c:652: error: ‘XvPortNotify’ undeclared (first use in this function)
ephyrhostvideo.c: In function ‘ephyrHostXVPutImage’:
ephyrhostvideo.c:776: error: ‘XvImage’ undeclared (first use in this function)
ephyrhostvideo.c:776: error: ‘xv_image’ undeclared (first use in this function)
ephyrhostvideo.c:793: error: expected expression before ‘)’ token
ephyrhostvideo.c:816: warning: implicit declaration of function ‘XvPutImage’
ephyrhostvideo.c:816: warning: nested extern declaration of ‘XvPutImage’
ephyrhostvideo.c: In function ‘ephyrHostXVPutVideo’:
ephyrhostvideo.c:862: warning: implicit declaration of function ‘XvPutVideo’
ephyrhostvideo.c:862: warning: nested extern declaration of ‘XvPutVideo’
ephyrhostvideo.c: In function ‘ephyrHostXVGetVideo’:
ephyrhostvideo.c:899: warning: implicit declaration of function ‘XvGetVideo’
ephyrhostvideo.c:899: warning: nested extern declaration of ‘XvGetVideo’
ephyrhostvideo.c: In function ‘ephyrHostXVPutStill’:
ephyrhostvideo.c:936: warning: implicit declaration of function ‘XvPutStill’
ephyrhostvideo.c:936: warning: nested extern declaration of ‘XvPutStill’
ephyrhostvideo.c: In function ‘ephyrHostXVGetStill’:
ephyrhostvideo.c:973: warning: implicit declaration of function ‘XvGetStill’
ephyrhostvideo.c:973: warning: nested extern declaration of ‘XvGetStill’
ephyrhostvideo.c: In function ‘ephyrHostXVStopVideo’:
ephyrhostvideo.c:1003: warning: implicit declaration of function ‘XvStopVideo’
ephyrhostvideo.c:1003: warning: nested extern declaration of ‘XvStopVideo’
make[3]: *** [ephyrhostvideo.o] Error 1
make[3]: Leaving directory `/home/x910/Downloads/xephyr-with-gl-acceleration-xephyr-with-gl-acceleration/xserver/hw/kdrive/ephyr'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/x910/Downloads/xephyr-with-gl-acceleration-xephyr-with-gl-acceleration/xserver/hw/kdrive' 
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/x910/Downloads/xephyr-with-gl-acceleration-xephyr-with-gl-acceleration/xserver/hw'
make: *** [all-recursive] Error 1
sudo apt-get install libxv-dev


undefined reference to `XOpenDisplay'
./configure --enable-debug --enable-kdrive --enable-dri2 --enable-xephyr --with-dri-driver-path=/usr/lib/dri/ --disable-xorg CFLAGS="-DDEBUG -g -lX11"


好,最后开始make,成功。





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值