# [Xorg 7] xorg-server, GLX, nvidia (resolu)

## marvin rouge

Bon, je poste sous Links, c'est pas top (pas de copier coller, pas d'accents, desole).

J'ai suivi le tuto de UB|K sur X modulaire, et j'ai un probleme de compilation de xorg-server-1.0.1.

Je peux pas vous copier l'erreur, mais ca dit:

```
glxcmds.c: in function __glxQuerryHyper... 'xGLXQuery...' undeclared
```

Ensuite, plein de variables non declarees (qui ont toutes un GLX dedans), puis make me dit qu'il quitte /var/tmp/portage/xorg-server-1.0.1/work/xorg-server-1.0.1/GL/glx

Bref, y'a un probleme avec GL, je sais pas trop quoi faire. Suis sur amd64, CFLAGS sages (-march=k8 -pipe -O2)

les recherches sous links, c'est pas ce qu'il y a de plus simple (suis trop habitue au multitab), donc si quelqu'un a une idee ...

+

EDIT : titre + expliciteLast edited by marvin rouge on Wed Dec 28, 2005 2:56 pm; edited 1 time in total

----------

## marvin rouge

log complet: suppression de l'adresse et du fichier. erreurs ci dessous

(1.1 MO)

edit : suppression de l'adresse.Last edited by marvin rouge on Wed Dec 28, 2005 3:01 pm; edited 1 time in total

----------

## netfab

Salut,

Tu utilises les drivers nvidia ? Quelle version ?

Jette un oeil à ce bug.

 *Comment #11 wrote:*   

> I get:
> 
> glxcmds.c: In function '__glXBindSwapBarrierSGIX':
> 
> glxcmds.c:1749: warning: cast to pointer from integer of different size
> ...

 

 *Comment #26 wrote:*   

> > Seems to be fixed in xorg-server-1.0.0, thanks 
> 
> ...but it works only with latest nvidia-drivers. Older nvidia-glx ebuilds
> 
> (1.0.7174) cause the same problems with glxcmds.c.

 

----------

## marvin rouge

Ouip, merci.

Ca ressemble beaucoup à ça. J'ai réinstallé un vieux xorg-x11, je le désinstalle et je recommence.

<OFF>

Est-ce que quelqu'un a déjà résussi a chercher des bugs sur bugzilla en utilisant links ? Parce que hier soir, impossible, javascript non activé donc pas de recherche possible. C'est quand même fou, links c'est l'outil de dépannage quand on plante son X, et on peut pas chercher de bugs avec ... Si vous avez une solution ....

</OFF>

+

----------

## netfab

Il y a 2 solutions :

 activer le support javascript dans links

 ne pas passer par le quicksearch de bugzilla, mais passer par la vraie page de recherche, qui ne requiert pas javascript.

----------

## marvin rouge

Bon, c'est résolu, donc voici le problème et la solution.

Archi : ~amd64, driver Nvidia 1.0.8178

```
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include -I../../include -I../../include -I../../include -I../../GL/include -I../../hw/xfree86/os-support -DHAVE_DIX_CONFIG_H -I/var/tmp/portage/xorg-server-1.0.1/work/Mesa-6.4.1/include -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/shadow -I../../miext/damage -I../../render -I../../randr -I../../fb -I../../lbx -march=k8 -O2 -pipe -MT glxcmds.lo -MD -MP -MF .deps/glxcmds.Tpo -c glxcmds.c  -fPIC -DPIC -o .libs/glxcmds.o

glxcmds.c: In function `__glXBindSwapBarrierSGIX':

glxcmds.c:1749: warning: cast to pointer from integer of different size

glxcmds.c: In function `__glxQueryHyperpipeNetworkSGIX':

glxcmds.c:1796: error: `xGLXQueryHyperpipeNetworkSGIXReq' undeclared (first use in this function)

glxcmds.c:1796: error: (Each undeclared identifier is reported only once

glxcmds.c:1796: error: for each function it appears in.)

glxcmds.c:1796: error: `req' undeclared (first use in this function)

glxcmds.c:1796: error: parse error before ')' token

glxcmds.c:1797: error: `xGLXQueryHyperpipeNetworkSGIXReply' undeclared (first use in this function)

glxcmds.c:1812: error: `reply' undeclared (first use in this function)

glxcmds.c:1825: error: `sz_xGLXQueryHyperpipeNetworkSGIXReply' undeclared (first use in this function)

glxcmds.c: In function `__glxDestroyHyperpipeConfigSGIX':

glxcmds.c:1836: error: `xGLXDestroyHyperpipeConfigSGIXReq' undeclared (first use in this function)

glxcmds.c:1836: error: `req' undeclared (first use in this function)

glxcmds.c:1837: error: parse error before ')' token

glxcmds.c:1838: error: `xGLXDestroyHyperpipeConfigSGIXReply' undeclared (first use in this function)

glxcmds.c:1851: error: `reply' undeclared (first use in this function)

glxcmds.c:1863: error: `sz_xGLXDestroyHyperpipeConfigSGIXReply' undeclared (first use in this function)

glxcmds.c: In function `__glxQueryHyperpipeConfigSGIX':

glxcmds.c:1871: error: `xGLXQueryHyperpipeConfigSGIXReq' undeclared (first use in this function)

glxcmds.c:1871: error: `req' undeclared (first use in this function)

glxcmds.c:1872: error: parse error before ')' token

glxcmds.c:1873: error: `xGLXQueryHyperpipeConfigSGIXReply' undeclared (first use in this function)

glxcmds.c:1889: error: `reply' undeclared (first use in this function)

glxcmds.c:1904: error: `sz_xGLXQueryHyperpipeConfigSGIXReply' undeclared (first use in this function)

glxcmds.c: In function `__glxHyperpipeConfigSGIX':

glxcmds.c:1915: error: `xGLXHyperpipeConfigSGIXReq' undeclared (first use in this function)

glxcmds.c:1915: error: `req' undeclared (first use in this function)

glxcmds.c:1916: error: parse error before ')' token

glxcmds.c:1917: error: `xGLXHyperpipeConfigSGIXReply' undeclared (first use in this function)

glxcmds.c:1935: error: `reply' undeclared (first use in this function)

glxcmds.c:1949: error: `sz_xGLXHyperpipeConfigSGIXReply' undeclared (first use in this function)

make[2]: *** [glxcmds.lo] Erreur 1

make[2]: Leaving directory `/var/tmp/portage/xorg-server-1.0.1/work/xorg-server-1.0.1/GL/glx'

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

make[1]: Leaving directory `/var/tmp/portage/xorg-server-1.0.1/work/xorg-server-1.0.1/GL'

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

!!! ERROR: x11-base/xorg-server-1.0.1 failed.

```

C'est un problème causé par eselect-opengl, qui choisit pas les bons headers en multilib.

Solution:

supprimer toute trace de l'installation modulaire de X. Dans mon cas:

```
emerge unmerge util-macros kbproto xextproto xproto xf86bigfontproto inputproto libXau bigreqsproto libXdmcp xcmiscproto xtrans libX11 libXext libICE libSM libXt libXmu xauth libxkbfile setxkbmap fixesproto libXfixes compositeproto libXcomposite libfontenc mkfontscale mkfontdir encodings font-bitstream-type1 font-alias xorg-docs damageproto libXdamage xhost scrnsaverproto libXScrnSaver xf86dgaproto libXxf86dga font-adobe-utopia-type1 xmodmap renderproto libXrender libXcursor xrdb twm libXft libXpm libXaw xclock xinit randrproto libXrandr xrandr xineramaproto libXinerama font-bh-ttf xf86miscproto libXxf86misc liblbxutil dmxproto fontsproto fontcacheproto libXfont trapproto recordproto libXtst libdmx rgb iceauth xf86rushproto bdftopcf font-util font-misc-misc libxkbui font-cursor-misc glproto resourceproto libXres makedepend xf86vidmodeproto libXxf86vm libXi libdrm mesa xbitmaps xkbcomp xkbdata videoproto evieext mesa-progs libXv
```

supprimer /usr/lib32/opengl

remplacer /usr/share/eselect/libs/multilib.bash par ce script (l'ideal, ça serait de refaire un ebuild pour eselect-opengl)

refaire eselect opengl set nvidia

relancer l'emerge de xorg-x11

J'ai bien galéré, mais pour l'instant ça tourne plutot pas mal. Glxgears est passé de 8000FPS à 10250 FPS ! (même WM, mêmes drivers, même noyau ...) (et je sais, glxgears n'est pas un outil de bench).

@Netfab : merci pour m'avoir mis sur la piste du bug #111877, qui m'a permis de trouver le #114274

+

----------

