# Problemas al compilar xorg-server 1.15

## malariax

Hasta ahora no he tenido problemas con este paquete. Sin embargo esta última versión no logra compilarme y me suelta el siguiente error:

```
/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c: In function ‘createModeFromConfig’:

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:147:25: error: ‘__DRI_ATTRIB_FLOAT_BIT’ undeclared (first use in this function)

             if (value & __DRI_ATTRIB_FLOAT_BIT)

                         ^

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:147:25: note: each undeclared identifier is reported only once for each function it appears in

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:149:25: error: ‘__DRI_ATTRIB_UNSIGNED_FLOAT_BIT’ undeclared (first use in this function)

             if (value & __DRI_ATTRIB_UNSIGNED_FLOAT_BIT)

                         ^

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c: In function ‘render_type_is_pbuffer_only’:

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:196:29: error: ‘__DRI_ATTRIB_UNSIGNED_FLOAT_BIT’ undeclared (first use in this function)

     return !!(renderType & (__DRI_ATTRIB_UNSIGNED_FLOAT_BIT

                             ^

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:197:31: error: ‘__DRI_ATTRIB_FLOAT_BIT’ undeclared (first use in this function)

                             | __DRI_ATTRIB_FLOAT_BIT));

                               ^

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c: In function ‘glxConvertConfigs’:

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:231:35: warning: pointer targets in passing argument 3 of ‘core->getConfigAttrib’ differ in signedness [-Wpointer-sign]

                                   &renderType)) {

                                   ^

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:231:35: note: expected ‘unsigned int *’ but argument is of type ‘int *’

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c: In function ‘render_type_is_pbuffer_only’:

/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0/glx/glxdricommon.c:198:1: error: control reaches end of non-void function [-Werror=return-type]

 }

 ^

cc1: some warnings being treated as errors

make[1]: *** [glxdricommon.lo] Error 1

make[1]: *** Se espera a que terminen otras tareas....

make[1]: se sale del directorio `/var/tmp/portage/x11-base/xorg-server-1.15.0/work/xorg-server-1.15.0_build/glx'

make: *** [all-recursive] Error 1

```

Este paquete estoy intentando compilarlo para x86, en otro ordenador para amd64 lo he podido compilar sin problemas. ¿A alguien le ha pasado lo mismo? Gracias.

----------

## esteban_conde

Posiblemente tengas que habilitar dri en el kernel.

----------

## malariax

 *esteban_conde wrote:*   

> Posiblemente tengas que habilitar dri en el kernel.

 

He activado las dri para radeon, de todas maneras, lo extraño es que en otro pc para amd64 logra compilarmelo.

----------

## esteban_conde

prueba emerge -pv xf86-video-ati pues es posible que te pida xorg-server como dependencia y vete a saber de esa forma puede que compile.

----------

## quilosaq

 *malariax wrote:*   

>  *esteban_conde wrote:*   Posiblemente tengas que habilitar dri en el kernel. 
> 
> He activado las dri para radeon, de todas maneras, lo extraño es que en otro pc para amd64 logra compilarmelo.

 Ayudaría que publicaras tu emerge --info y el log completo.

----------

## malariax

Gracias por la ayuda. Por motivos personales, estos días no voy a poder poner en práctica vuestros consejos. En unos días os contesto. Os pido disculpas.

----------

## malariax

 *Quote:*   

> Portage 2.2.7 (default/linux/x86/13.0/desktop, gcc-4.8.2, glibc-2.18-r1, 3.13.0-gentoo-r1 i686)
> 
> =================================================================
> 
> System uname: Linux-3.13.0-gentoo-r1-i686-Pentium-R-_Dual-Core_CPU_E6300_@_2.80GHz-with-gentoo-2.2
> ...

 

Este es mi emerge --info; las dri las tenía ya activadas; he actualizado los drivers xf86-video-ati pero aún así mes sigue dando el mismo error.

----------

## Luciernaga

Con una ATI tuve un problema parecido y lo solucioné con emerge radeon-ucode ... prueba a ver si furula ...

Saludetes  :Wink: 

----------

## quilosaq

Supongo que sabes que xorg-serevr-1.15.0 es una versión en pruebas. ¿Qué versión de mesa tienes instalada?

----------

## malariax

 *Luciernaga wrote:*   

> Con una ATI tuve un problema parecido y lo solucioné con emerge radeon-ucode ... prueba a ver si furula ...
> 
> Saludetes 

 

Entiendo que radeon-ucode, sirve para cargar el firmware de la tarjeta, pero yo es que lo cargo directamente desde la configuración del kernel, voy a comprobar de todas maneras esto. 

A la hora de cargarlos y configurar siempre me baso en esta página http://wiki.gentoo.org/wiki/Radeon

La versión de mesa que utilizo es la 9.2.5 y los drivers que tengo compilados son los  x86-video-ati versión 7.3.0

----------

## malariax

Los firmware pertenecientes a mi tarjeta estan correctamente cargados en el kernel.

----------

## gringo

 *Quote:*   

> cc1: some warnings being treated as errors 

 

que gcc estás usando para compilar ? ( gcc -v)

podemos ver la salida de un emerge -pv xorg-server y emerge -pv mesa ?

saluetes

----------

## malariax

gcc -v

```
Usando especificaciones internas.

COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.8.2/gcc

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.8.2/lto-wrapper

Objetivo: i686-pc-linux-gnu

Configurado con: /var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.8.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.2/include/g++-v4 --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.8.2/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.2 p1.2, pie-0.5.8' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --disable-altivec --disable-fixed-point --with-arch=i686 --enable-targets=all --disable-libgcj --enable-libgomp --enable-libmudflap --disable-libssp --enable-lto --without-cloog

Modelo de hilos: posix

gcc versión 4.8.2 (Gentoo 4.8.2 p1.2, pie-0.5.8)
```

ACCEPT_KEYWORDS="~x86" emerge -pv xorg-server

```
[ebuild  r  U  ] x11-base/xorg-server-1.15.0:0/1.15.0 [1.14.3-r2:0/1.14.3] USE="ipv6 nptl suid udev xorg -dmx -doc -kdrive -minimal (-selinux) -static-libs -tslib -xnest -xvfb" 5,417 kB

[ebuild  rR    ] media-libs/mesa-9.2.5  USE="classic egl gallium gbm gles1 gles2 llvm llvm-shared-libs nptl opencl openvg osmesa r600-llvm-compiler wayland xorg -bindist -debug -pax_kernel -pic (-selinux) -vdpau -xa -xvmc" VIDEO_CARDS="r600 radeon (-freedreno) -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -radeonsi -vmware" 6,524 kB

[ebuild  r  U  ] x11-libs/glamor-0.6.0 [0.5.1-r1] USE="gles xv%* -static-libs" 419 kB

[ebuild  rR    ] x11-drivers/xf86-video-ati-7.3.0  USE="glamor* udev" 798 kB
```

----------

## gringo

compila xorg-server si compilas mesa sin gbm ?

además, estás seguro de que necesitas gles1, gles2 ,opencl, openvg, osmesa y wayland ?

en caso de que uses gallium exclusivamente puedes desactivar classic tb.

saluetes

----------

## malariax

He estado haciendo diversas pruebas y la única manera de que me compile es tratar de compilarlo manualmente con la opcion --disable-glx. Curiosamente, la última versión de glamor (0.6.0), tampoco compila, sin embargo las versiones anteriores de los paquetes, tanto el de glamor (0.5.1-r1) como el de xorg-server (1.14.5) compilan a la perfección. Como he mencionado antes las últimas versiones de los paquetes de glamor y xorg-server sí compilan para amd64. Mi conclusión es que hay algún problema con las versiones para i686, pero de momento no encuentro ningun parche. Seguiré investigando...

----------

