当前位置: 首页 > 工具软件 > Xephyr > 使用案例 >

Ubuntu 9.10 编译 Xephyr

樊宏义
2023-12-01

 本文描述的是在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,成功。





 类似资料: