|
|
今天把前几天升级 XORG7 和安装 XGL 的过程整理了一下,算是温习吧,也希望能给正在做这的人们一点帮助。
1、首先升级 XORG7
我之前的 XORG 版本号是 6.8.2 ,那么就要这样:
然后
增加这二行
- INPUT_DEVICES="keyboard mouse"
- VIDEO_CARDS="nv nvidia"
复制代码
接着,先更新一下 portage。
然后
(因为 xorg-x11 现在已经进入 ~ ,所以就不用再做烦琐的 unmask 了:)
一切顺利地进行,但到了倒数第二个包的时候编译出错:
- Calculating dependencies... done!
- >>> Emerging (1 of 2) x11-apps/mesa-progs-6.4.2 to /
- >>> checking ebuild checksums ;-)
- >>> checking auxfile checksums ;-)
- >>> checking miscfile checksums ;-)
- >>> checking MesaLib-6.4.2.tar.bz2 ;-)
- >>> checking MesaDemos-6.4.2.tar.bz2 ;-)
- >>> Unpacking source...
- >>> Unpacking MesaLib-6.4.2.tar.bz2 to /var/tmp/portage/mesa-progs-6.4.2/work
- >>> Unpacking MesaDemos-6.4.2.tar.bz2 to /var/tmp/portage/mesa-progs-6.4.2/work
- >>> Source unpacked.
- >>> Compiling source in /var/tmp/portage/mesa-progs-6.4.2/work/Mesa-6.4.2 ...
- x86_64-pc-linux-gnu-gcc -I../../include -Wall -march=k8 -O3 -pipe -fomit-frame-pointer -m64 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DUSE_X86_64_ASM -std=c99 -ffast-math glxinfo.c -L../../lib64 -lglut -lGLU -lGL -lm -o glxinfo
- /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lGLU
- collect2: ld returned 1 exit status
- make: *** [glxinfo] 错误 1
- !!! ERROR: x11-apps/mesa-progs-6.4.2 failed.
- Call stack:
- ebuild.sh, line 1527: Called dyn_compile
- ebuild.sh, line 931: Called src_compile
- mesa-progs-6.4.2.ebuild, line 68: Called die
- !!! glxinfo failed
- !!! If you need support, post the topmost build error, and the call stack if relevant.
复制代码
开始以为是 glut 的问题,重装 glut 问题依旧,查相关信息,可能是 libX11 或 mesa,遂重装libX11 和 mesa 后问题解决。
2、安装 XGL
因为 XGL 目前只有CVS版本,所以需要安装有 webdav 支持的 Subversion,我这样做:
- echo "dev-util/subversion -nowebdav" >> /etc/portage/package.use
复制代码
现在可以使用 CVS 了。
现在指定 overlay 的目录:
- mkdir /usr/local/xgl-coffee
复制代码
使用 Subversion 下载 portage overlay tree 到 xgl-coffee 目录:
- svn co http://svn.xgl-coffee.org/xgl-coffee/trunk xgl-coffee
复制代码
把这个 /usr/local/xgl-coffee 路径添加到 /etc/make.conf 中 PORTDIR_OVERLAY 的後面:
- PORTDIR_OVERLAY="/usr/local/xgl-coffee"
复制代码
然后把下面的包添加到 /etc/portage/package.keywords :
- x11-proto/glproto ~amd64
- media-libs/mesa ~amd64
- media-libs/glitz ~amd64
- x11-base/xgl ~amd64
- x11-wm/compiz ~amd64
- x11-libs/cairo ~amd64
- sys-apps/man ~amd64
- x11-misc/util-macros ~amd64
- x11-libs/libdrm ~amd64
复制代码
再把下面的包添加到 /etc/portage/package.unmask :
- media-libs/mesa
- x11-libs/cairo
- media-libs/glitz
复制代码
把 USE 标志 glitz 和 cairo 添加到 /etc/make.conf 的 USE 中。
然后
但在 emerge mesa 的时候遇到了一些困难:
- # emerge mesa
- Calculating dependencies... done!
- >>> Emerging (1 of 1) media-libs/mesa-6.5.0_alpha20060320 to /
- >>> checksums files ;-) mesa-6.5.0_alpha20060310.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060317.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060308.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060319.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060314.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060320.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060311.ebuild
- >>> checksums files ;-) mesa-6.5.0_alpha20060307.ebuild
- >>> checksums files ;-) files/r200-copy-pixels-1.patch
- >>> checksums files ;-) files/i915-drm.patch
- >>> checksums files ;-) files/mesa-glproto-indirect-fbo.patch
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060307
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060308
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060310
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060311
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060314
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060317
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060319
- >>> checksums files ;-) files/digest-mesa-6.5.0_alpha20060320
- >>> checksums files ;-) files/6.4-dont-install-gles-headers.patch
- >>> checksums files ;-) files/change-default-dri-driver-dir.patch
- >>> checksums files ;-) files/mesa-dri-copy-sub-buffer-2.patch
- >>> checksums files ;-) files/6.4-multilib-fix.patch
- >>> checksums files ;-) files/i915_drm.h
- >>> checksums files ;-) files/mesa-glproto-indirect-fbo-header.patch
- >>> checksums files ;-) files/lib/libGLU.la
- >>> checksums files ;-) files/lib/libGL.la
- >>> Unpacking source...
- * Fetching CVS module Mesa into /usr/portage/distfiles/cvs-src ...
- * Running cvs -q -f -z4 -d ":pserver:anonymous:@anoncvs.freedesktop.org:/cvs/mesa" login
- Logging in to :pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa
- * Running cvs -q -f -z4 -d ":pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa" update -D 20060320 -dP Mesa
- * Copying Mesa from /usr/portage/distfiles/cvs-src ...
- * CVS module Mesa is now in /var/tmp/portage/mesa-6.5.0_alpha20060320/work
- * Applying r200-copy-pixels-1.patch ... [ ok ] * Applying 6.4-dont-install-gles-headers.patch ... [ ok ] * Applying change-default-dri-driver-dir.patch ... [ ok ] * Applying 6.4-multilib-fix.patch ... [ ok ] * Applying mesa-dri-copy-sub-buffer-2.patch ... [ ok ]>>> Source unpacked.
- >>> Compiling source in /var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa ...
- (cd configs && rm -f current && ln -s linux-dri-x86 current)
- make default
- make[1]: Entering directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa'
- make[2]: Entering directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src'
- Making sources for linux-dri-x86
- mkdir ../lib
- make[3]: Entering directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src/glx/x11'
- Makefile:92: depend: No such file or directory
- ln -s ../../../src/mesa/drivers/dri/common/glcontextmodes.c .
- touch depend
- makedepend -fdepend -I. -I../../../include -I../../../include/GL/internal -I../../../src/mesa/main -I../../../src/mesa/glapi -I../../../src/mesa/drivers/dri/common `pkg-config --cflags libdrm` -I/usr/X11R6/include glcontextmodes.c clientattrib.c compsize.c eval.c glxcmds.c glxext.c glxextensions.c indirect.c indirect_init.c indirect_size.c indirect_window_pos.c indirect_transpose_matrix.c indirect_vertex_array.c indirect_vertex_program.c pixel.c pixelstore.c render2.c renderpix.c single2.c singlepix.c vertarr.c xfont.c glx_pbuffer.c glx_query.c glx_texture_compression.c dri_glx.c XF86dri.c \
- ../../../src/mesa/main/dispatch.c ../../../src/mesa/glapi/glapi.c ../../../src/mesa/glapi/glthread.c ../../../src/mesa/x86/glapi_x86.S
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/bits/types.h, line 31): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/sys/types.h, line 147): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/X11/Xlib.h, line 75): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading ../../../include/GL/glext.h, line 3044): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/string.h, line 33): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/stdlib.h, line 33): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/alloca.h, line 25): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glcontextmodes.c (reading /usr/X11R6/include/X11/Xlibint.h, line 346): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: clientattrib.c (reading /usr/X11R6/include/stdio.h, line 34): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: clientattrib.c (reading /usr/X11R6/include/_G_config.h, line 14): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: clientattrib.c (reading /usr/X11R6/include/wchar.h, line 48): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: clientattrib.c (reading /usr/X11R6/include/gconv.h, line 31): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: clientattrib.c (reading /usr/X11R6/include/libio.h, line 53): cannot find include file "stdarg.h"
- not in ./stdarg.h
- not in ../../../include/stdarg.h
- not in ../../../include/GL/internal/stdarg.h
- not in ../../../src/mesa/main/stdarg.h
- not in ../../../src/mesa/glapi/stdarg.h
- not in ../../../src/mesa/drivers/dri/common/stdarg.h
- not in /usr/include/drm/stdarg.h
- not in /usr/X11R6/include/stdarg.h
- not in /usr/include/stdarg.h
- makedepend: warning: clientattrib.c (reading glxclient.h, line 59): cannot find include file "GL/glxproto.h"
- not in GL/glxproto.h
- not in GL/glxproto.h
- not in ./GL/glxproto.h
- not in ../../../include/GL/glxproto.h
- not in ../../../include/GL/internal/GL/glxproto.h
- not in ../../../src/mesa/main/GL/glxproto.h
- not in ../../../src/mesa/glapi/GL/glxproto.h
- not in ../../../src/mesa/drivers/dri/common/GL/glxproto.h
- not in /usr/include/drm/GL/glxproto.h
- not in /usr/X11R6/include/GL/glxproto.h
- not in /usr/include/GL/glxproto.h
- makedepend: warning: glxcmds.c (reading /usr/X11R6/include/inttypes.h, line 38): cannot find include file "stddef.h"
- not in ./stddef.h
- not in ../../../include/stddef.h
- not in ../../../include/GL/internal/stddef.h
- not in ../../../src/mesa/main/stddef.h
- not in ../../../src/mesa/glapi/stddef.h
- not in ../../../src/mesa/drivers/dri/common/stddef.h
- not in /usr/include/drm/stddef.h
- not in /usr/X11R6/include/stddef.h
- not in /usr/include/stddef.h
- makedepend: warning: glxcmds.c (reading /usr/include/limits.h, line 124): cannot find include file "limits.h"
- makedepend: warning: glxcmds.c (reading ../../../src/mesa/main/glheader.h, line 72): cannot find include file "float.h"
- not in ./float.h
- not in ../../../include/float.h
- not in ../../../include/GL/internal/float.h
- not in ../../../src/mesa/main/float.h
- not in ../../../src/mesa/glapi/float.h
- not in ../../../src/mesa/drivers/dri/common/float.h
- not in /usr/include/drm/float.h
- not in /usr/X11R6/include/float.h
- not in /usr/include/float.h
- makedepend: warning: glxcmds.c (reading ../../../src/mesa/main/glheader.h, line 73): cannot find include file "stdarg.h"
- not in ./stdarg.h
- not in ../../../include/stdarg.h
- not in ../../../include/GL/internal/stdarg.h
- not in ../../../src/mesa/main/stdarg.h
- not in ../../../src/mesa/glapi/stdarg.h
- not in ../../../src/mesa/drivers/dri/common/stdarg.h
- not in /usr/include/drm/stdarg.h
- not in /usr/X11R6/include/stdarg.h
- not in /usr/include/stdarg.h
- makedepend: warning: indirect.c, line 33: cannot find include file "GL/glxproto.h"
- not in ./GL/glxproto.h
- not in ../../../include/GL/glxproto.h
- not in ../../../include/GL/internal/GL/glxproto.h
- not in ../../../src/mesa/main/GL/glxproto.h
- not in ../../../src/mesa/glapi/GL/glxproto.h
- not in ../../../src/mesa/drivers/dri/common/GL/glxproto.h
- not in /usr/include/drm/GL/glxproto.h
- not in /usr/X11R6/include/GL/glxproto.h
- not in /usr/include/GL/glxproto.h
- makedepend: warning: indirect_vertex_array.c, line 32: cannot find include file "GL/glxproto.h"
- not in ./GL/glxproto.h
- not in ../../../include/GL/glxproto.h
- not in ../../../include/GL/internal/GL/glxproto.h
- not in ../../../src/mesa/main/GL/glxproto.h
- not in ../../../src/mesa/glapi/GL/glxproto.h
- not in ../../../src/mesa/drivers/dri/common/GL/glxproto.h
- not in /usr/include/drm/GL/glxproto.h
- not in /usr/X11R6/include/GL/glxproto.h
- not in /usr/include/GL/glxproto.h
- makedepend: warning: indirect_vertex_array.c (reading indirect_va_private.h, line 39): cannot find include file "GL/glxproto.h"
- not in ./GL/glxproto.h
- not in ../../../include/GL/glxproto.h
- not in ../../../include/GL/internal/GL/glxproto.h
- not in ../../../src/mesa/main/GL/glxproto.h
- not in ../../../src/mesa/glapi/GL/glxproto.h
- not in ../../../src/mesa/drivers/dri/common/GL/glxproto.h
- not in /usr/include/drm/GL/glxproto.h
- not in /usr/X11R6/include/GL/glxproto.h
- not in /usr/include/GL/glxproto.h
- makedepend: warning: indirect_vertex_program.c, line 31: cannot find include file "GL/glxproto.h"
- not in ./GL/glxproto.h
- not in ../../../include/GL/glxproto.h
- not in ../../../include/GL/internal/GL/glxproto.h
- not in ../../../src/mesa/main/GL/glxproto.h
- not in ../../../src/mesa/glapi/GL/glxproto.h
- not in ../../../src/mesa/drivers/dri/common/GL/glxproto.h
- not in /usr/include/drm/GL/glxproto.h
- not in /usr/X11R6/include/GL/glxproto.h
- not in /usr/include/GL/glxproto.h
- makedepend: warning: XF86dri.c (reading /usr/include/drm/drm.h), line 196: # warning "__SIZE_TYPE__ not defined. Assuming sizeof(size_t) == sizeof(unsigned long)!"
- make[3]: Leaving directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src/glx/x11'
- make[3]: Entering directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src/glx/x11'
- i686-pc-linux-gnu-gcc -c -I. -I../../../include -I../../../include/GL/internal -I../../../src/mesa/main -I../../../src/mesa/glapi -I../../../src/mesa/drivers/dri/common `pkg-config --cflags libdrm` -I/usr/X11R6/include -Wall -Wmissing-prototypes -march=athlon-xp -Os -pipe -fomit-frame-pointer -fPIC -m32 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DDEFAULT_DRIVER_DIR='"/usr/lib/xorg/modules/dri"' -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -std=c99 -ffast-math -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER glcontextmodes.c -o glcontextmodes.o
- i686-pc-linux-gnu-gcc -c -I. -I../../../include -I../../../include/GL/internal -I../../../src/mesa/main -I../../../src/mesa/glapi -I../../../src/mesa/drivers/dri/common `pkg-config --cflags libdrm` -I/usr/X11R6/include -Wall -Wmissing-prototypes -march=athlon-xp -Os -pipe -fomit-frame-pointer -fPIC -m32 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DDEFAULT_DRIVER_DIR='"/usr/lib/xorg/modules/dri"' -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -std=c99 -ffast-math -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER clientattrib.c -o clientattrib.o
- In file included from clientattrib.c:38:
- glxclient.h:59:25: GL/glxproto.h: No such file or directory
- In file included from clientattrib.c:38:
- glxclient.h:257: error: syntax error before "GLXContextTag"
- glxclient.h:257: warning: no semicolon at end of struct or union
- glxclient.h:401: error: syntax error before '}' token
- In file included from clientattrib.c:39:
- indirect.h:67: warning: `fastcall' attribute directive ignored
- indirect.h:70: warning: `fastcall' attribute directive ignored
- clientattrib.c: In function `do_enable_disable':
- clientattrib.c:48: error: dereferencing pointer to incomplete type
- clientattrib.c:56: error: dereferencing pointer to incomplete type
- clientattrib.c:56: error: dereferencing pointer to incomplete type
- clientattrib.c: In function `__indirect_glPushClientAttrib':
- clientattrib.c:75: error: dereferencing pointer to incomplete type
- clientattrib.c:76: error: dereferencing pointer to incomplete type
- clientattrib.c:78: error: dereferencing pointer to incomplete type
- clientattrib.c:84: error: dereferencing pointer to incomplete type
- clientattrib.c:93: error: dereferencing pointer to incomplete type
- clientattrib.c:93: error: dereferencing pointer to incomplete type
- clientattrib.c: In function `__indirect_glPopClientAttrib':
- clientattrib.c:101: error: dereferencing pointer to incomplete type
- clientattrib.c:102: error: dereferencing pointer to incomplete type
- clientattrib.c:105: error: dereferencing pointer to incomplete type
- clientattrib.c:110: error: dereferencing pointer to incomplete type
- clientattrib.c:122: error: dereferencing pointer to incomplete type
- clientattrib.c:122: error: dereferencing pointer to incomplete type
- clientattrib.c: In function `__glFreeAttributeState':
- clientattrib.c:131: error: dereferencing pointer to incomplete type
- clientattrib.c:132: error: dereferencing pointer to incomplete type
- make[3]: *** [clientattrib.o] Error 1
- make[3]: Leaving directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src/glx/x11'
- make[2]: *** [subdirs] Error 1
- make[2]: Leaving directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa/src'
- make[1]: *** [default] Error 1
- make[1]: Leaving directory `/var/tmp/portage/mesa-6.5.0_alpha20060320/work/Mesa'
- make: *** [linux-dri-x86] Error 2
- !!! ERROR: media-libs/mesa-6.5.0_alpha20060320 failed.
- Call stack:
- ebuild.sh, line 1565: Called dyn_compile
- ebuild.sh, line 974: Called src_compile
- !!! Build failed
- !!! If you need support, post the topmost build error, and the call stack if relevant.
复制代码
我尝试用 equery belongs 命令查找相关的 .h 文件的包是否没有安装,但是我并没缺失没有安装的包,只好根据上面的出错信息重新安装相关的包碰碰运气,幸运的是到我重装了 glproto 这个包的时候 mesa 顺利编译通过了:
- emerge glproto
- emerge mesa
复制代码
最后是安装 xgl 和 compiz,安装之前确保USE里已有gnome和svg的支持。
- emerge xgl compiz-vanilla
复制代码
不要安装 compiz-quinnstorm,这个版本至少在我的机上不行,无论我怎么修改 GCC 的优化参数,运行它都频繁地出现段错误。
现在来让 gdm 加载 xgl 服务:
打开 gnome 的桌面菜单──系统管理──登录窗口──安全。在”配置 X 服务器“中删除原来的服务器,然后新添加一个服务器,VT 设为1,在右边的”命令”栏中输入:
- /usr/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv
复制代码
好了,在做下面的动作前,要先备份好 /etc/X11/gdm/gdm.conf 。
关于使用中,gedit 无法显示中文或键盘输入错码等问题,只要设好默认的字体主题和键盘布局就可以了。
大功告成。enjoy!!
相关帖子:
http://www.linuxsir.cn/bbs/showthread.php?t=257710
http://forums.gentoo.org/viewtopic-t-464225.html |
|