[RESOLU] [DEBIAN] AMD64 + fglrx problème

AMD64 + fglrx problème [RESOLU] [DEBIAN] - Installation - Linux et OS Alternatifs

Marsh Posté le 18-01-2008 à 22:12:11    

Bonjour,
 
Ma config:
Debian/Lenny
linux-image-2.6.22-3-amd64
fglrx 8.44.3-1
AMD64 3500+ , 2,7Gb de Ram
ATI Radeon X800GTO
 
 
Je viens de passer d'un kernel x86 à amd64 pour que toute ma ram soient reconnue.
 
En voulant recompiler fglrx pour l'adapter au nouveau noyau voici ce que l'obtiens: (par la méthode module-assistant)
 

Citation :

/usr/bin/make  -f debian/rules clean                                       ↑
 │ make[1]: entrant dans le répertoire « /usr/src/modules/fglrx »             ▮
 │ dh_testroot                                                                ▒
 │ rm -f configure-stamp                                                      ▒
 │ rm -f fglrx.ko fglrx.mod.c *.o libfglrx_ip.a                               ▒
 │ rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd                        ▒
 │ rm -rf .tmp_versions                                                       ▒
 │ rm -rf patch                                                               ▒
 │ dh_clean                                                                   ▒
 │ rm /usr/src/modules/fglrx/debian/control                                   ▒
 │ rm /usr/src/modules/fglrx/debian/dirs                                      ▒
 │ make[1]: quittant le répertoire « /usr/src/modules/fglrx »                 ▒
 │ /usr/bin/make  -f debian/rules binary_modules                              ▒
 │ make[1]: entrant dans le répertoire « /usr/src/modules/fglrx »             ▒
 │ if [ -f /usr/src/modules/fglrx/debian/control.template ]; then \
 cat /usr/src/modules/fglrx/debian/control.template >               ▒
 │ /usr/src/modules/fglrx/debian/control; \                                   ▮
 │         fi                                                                 ▒
 │ dh_testdir                                                                 ▒
 │ touch configure-stamp                                                      ▒
 │ dh_testdir                                                                 ▒
 │ /usr/bin/make -C /lib/modules/2.6.22-3-amd64/build                         ▒
 │ SUBDIRS=/usr/src/modules/fglrx modules                                     ▒
 │ make[2]: entrant dans le répertoire «                                      ▒
 │ /usr/src/linux-headers-2.6.22-3-amd64 »                                    ▒
 │   CC [M]  /usr/src/modules/fglrx/firegl_public.o                           ▒
 │ /usr/src/modules/fglrx/firegl_public.c: In function  
‘firegl_put_user_ptr’:                                                     ↑
 │ /usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer    ▒
 │ to integer of different size                                               ▒
 │ /usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer    ▒
 │ to integer of different size                                               ▒
 │ /usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer    ▒
 │ to integer of different size                                               ▒
 │ /usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer    ▒
 │ to integer of different size                                               ▮
 │ /usr/src/modules/fglrx/firegl_public.c: In function ‘__ke_request_irq’:    ▒
 │ /usr/src/modules/fglrx/firegl_public.c:2949: warning:                      ▒
 │ ‘deprecated_irq_flag’ is deprecated (declared at                           ▒
 │ include/linux/interrupt.h:66)                                              ▒
 │ /usr/src/modules/fglrx/firegl_public.c: In function                        ▒
 │ ‘__ke_unregister_ioctl32_conversion’:    
 /usr/src/modules/fglrx/firegl_public.c:2976: warning: ‘return’ with a      ↑
 │ value, in function returning void                                          ▒
 │ /usr/src/modules/fglrx/firegl_public.c: In function                        ▒
 │ ‘KAS_SlabCache_Initialize’:                                                ▒
 │ /usr/src/modules/fglrx/firegl_public.c:5223: warning: cast from pointer    ▒
 │ to integer of different size                                               ▒
 │   LD [M]  /usr/src/modules/fglrx/fglrx.o                                   ▒
 │ ld: Relocatable linking with relocations from format elf32-i386            ▒
 │ (/usr/src/modules/fglrx/libfglrx_ip.a.GCC4) to format elf64-x86-64         ▒
 │ (/usr/src/modules/fglrx/fglrx.o) is not supported                          ▒
 │ make[3]: *** [/usr/src/modules/fglrx/fglrx.o] Erreur 1                     ▒
 │ make[2]: *** [_module_/usr/src/modules/fglrx] Erreur 2                     ▒
 │ make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.22-3-amd64 »  ▮
 │ make[1]: *** [build] Erreur 2                                              ▒
 │ make[1]: quittant le répertoire « /usr/src/modules/fglrx »  
 make: *** [kdist_image] Erreur  2               ↓


 
Je n'ai jamais eu ce problème avec mes versions précédentes x86
J'ai déjà essayé:
- de virer tous les fichiers fglrx avant de tout réinstaller
- d'installer toutes les librairies amd64 qui ressemblaient de près ou de loin à celle x86 (ex libc6-amd64)
 
Mais tout ça sans succès.
 
Une idée ???
 
--------------------------------
Edit:
 
Bon j'ai résolu le problème ---> j'ai acheté une NVIDIA  :sweat:


Message édité par sam_lepirate le 18-03-2008 à 18:06:58
Reply

Marsh Posté le 18-01-2008 à 22:12:11   

Reply

Marsh Posté le 19-01-2008 à 12:02:55    

Pour faire avancer le chmilblik voici 2 éléments que j'ai trouvé:
 
http://madwifi.org/wiki/UserDocs/BuildProblems:
 

Citation :

Compiling madwifi for 64bit x86 fails with a message saying something like "relocatable linking from elf32-i386 to elf64-x86-64 not supported". Help?! ¶
 
The exact error message looks like this:
 
ld: Relocatable linking with relocations from format elf32-i386
(/path/to/madwifi/ath_hal/hal.o) to format elf64-x86-64
(/path/to/madwifi/ath_hal/ath_hal.o) is not supported
 
Let’s have a look on what happens when Madwifi is getting built. The first module that is built is ath_hal.o, which contains the binary HAL code and some platform-specific glue code (see here for further explanation). Make doesn’t know (yet) that you’re trying to build code for 64bit x86 and hence uses the precompiled HAL for 32bit x86, while the platform-specific glue code gets compiled for 64bit x86 by your C compiler. When the linker tries to throw both code pieces together it had to mix 32bit and 64bit code, which isn’t supported - et voila, that’s the meaning of the error message as mentioned above.
 
All you have to do is to tell make you’re planning to build madwifi for 64bit x86. The simplest way to do this is the following:
 
make TARGET=x86_64-elf
 
If you’re cross-compiling (for example you want to build 64bit code on a 32bit system) you most probably also need to specify TOOLPREFIX so that make is able to find the 64bit compiler suite. You can find more information on avaiable Makefile parameters in UserDocs/Makefile

.  
 
et le deuxième:
 
http://www.mail-archive.com/debian [...] 03196.html
 

Citation :

>   LD [M]  /usr/src/modules/nvidia-kernel/nv/nvidia.o
> ld: Relocatable linking with relocations from format elf32-i386 \
>  (/usr/src/modules/nvidia-kernel/nv/nv-kernel.o) to format \
>  elf64-x86-64 (/usr/src/modules/nvidia-kernel/nv/nvidia.o) is not \
>  supported
> make[4]: *** [/usr/src/modules/nvidia-kernel/nv/nvidia.o] Error 1
> make[3]: *** [_module_/usr/src/modules/nvidia-kernel/nv] Error 2
> make[3]: Leaving directory `/usr/src/linux-headers-2.6.18-5-amd64'
> NVIDIA: left KBUILD.
> nvidia.ko failed to build!
> make[2]: *** [mdl] Error 1
> make[2]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
> make[1]: *** [build-stamp] Error 2
> make[1]: Leaving directory `/usr/src/modules/nvidia-kernel'
> make: *** [kdist_image] Error 2
> --------<
>
> What this error mean?
 
It means that you have rediscovered bug 437128¹.  This is probably
unfixable, since the nvidia-kernel-"source" consists mainly of a big
object file that is compiled for i386, not amd64.
 
> Must I leave the i386 arch and install amd64 before can proceed with
> nvidia install?
 
You may try to install the amd64 version of nvidia-kernel-source with
"dpkg --force-architecture" and see if m-a works then.  USE AT YOUR OWN
RISK!
 
Regards,


 
A part me rendre pessimiste, ça ne m'aide pas vraiment à savoir comment faire fonctionner le module-assistant en lui demandant de compiler pour x86_64.
J'ai peur que cela soit un bug qui sera (peut-être) résolu avec les prochaines version de fglrx ou du noyau Debian/Lenny pour amd64.
 
Quelqu'un aurait-il une idée de solution ?

Reply

Marsh Posté le 19-01-2008 à 12:07:05    

Ya la solution dans ton premier quote.


---------------
Be the one with the flames.
Reply

Marsh Posté le 19-01-2008 à 12:09:25    

je ne comprend pas, tu as une distribution 32 ou 64 bits ? de mémoire, Debian et consorts ne gèrent pas super bien le multiarch.
 
Sinon, pourquoi tu n'essayes pas le pilote libre ? pour ce type de carte, de mémoire, ça fonctionne pas mal.
 
sinon, il n'y a pas de paquets de fglrx tout fait ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 19-01-2008 à 12:12:55    

Merci RIOT,
 
Mais j'ai des difficultés à avoir une image claire de la solution - le premier quote vient d'une install avec make / make install - et je ne sais installer fglrx qu'avec module-assistant (presque newbie oblige).
 
J'aurai juste besoin d'un petit coup de pousse - qu'est-ce que je dois faire et dans quel ordre please ???
 
Merci d'avance
 
Mjules,
 
Comme indiqué dans mon premier post j'ai une distrib 64bit (maintenant) - je n'arrive pas à faire fonctionner la 3D avec les pilotes libres - les paquets fglrx sont dans le dépôt debian mais il faut quand même les faire compiler dans le noyau pour la 3D. (module-assistant)
 


Message édité par sam_lepirate le 19-01-2008 à 12:16:54
Reply

Marsh Posté le 19-01-2008 à 12:29:19    

En fait module-assistant n'est qu'un programme qui fait un make, make install, en gros.

 

1- il récupère le paquet fglrx-kernel-src et le met dans /usr/src
2- il le décompresse. Un répertoire /usr/src/modules/fglrx est alors créé
3- il lance la compilation avec dpkg-buildpackage pour créer un .deb
4- installe ensuite le .deb

 

Je ne sais pas trop comment dpkg-buildpackage fonctionne, mais tu pourrais aller faire un tour dans /usr/src/modules/fglrx/Makefile et essayerde le modifier comme dit dans ton quote.


Message édité par Riot le 19-01-2008 à 12:29:31

---------------
Be the one with the flames.
Reply

Marsh Posté le 19-01-2008 à 13:25:52    

j'ai ajouté TARGET=x86_64-elf comme suit dans le Makefile

 
Citation :


# default:: kmod_build

 

kmod_build:: $(fglrx-libs) $(fglrx-cfiles) $(fglrx-hdrs) $(drm-hdrs)
 $(MAKE) -C $(KDIR) SUBDIRS=$(CURDIR) modules TARGET=x86_64-elf

 

puis j'ai lancé un ./make.sh dans ce même répertoire - à part le fait que mon ajout apparait bien dans le log.
Le résultat est le même.

 
Citation :


/usr/src/modules/fglrx# ./make.sh
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
 Assuming default VMAP API
 Assuming default munmap API
doing Makefile based build for kernel 2.6.x and higher
make -C /usr/src/linux-headers-2.6.22-3-amd64 SUBDIRS=/usr/src/modules/fglrx modules TARGET=x86_64-elf
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.22-3-amd64 »
  CC [M]  /usr/src/modules/fglrx/firegl_public.o
/usr/src/modules/fglrx/firegl_public.c: In function ‘firegl_put_user_ptr’:
/usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer to integer of different size
/usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer to integer of different size
/usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer to integer of different size
/usr/src/modules/fglrx/firegl_public.c:1598: warning: cast from pointer to integer of different size
/usr/src/modules/fglrx/firegl_public.c: In function ‘__ke_request_irq’:
/usr/src/modules/fglrx/firegl_public.c:2949: warning: ‘deprecated_irq_flag’ is deprecated (declared at include/linux/interrupt.h:66)
/usr/src/modules/fglrx/firegl_public.c: In function ‘__ke_unregister_ioctl32_conversion’:
/usr/src/modules/fglrx/firegl_public.c:2976: warning: ‘return’ with a value, in function returning void
/usr/src/modules/fglrx/firegl_public.c: In function ‘KAS_SlabCache_Initialize’:
/usr/src/modules/fglrx/firegl_public.c:5223: warning: cast from pointer to integer of different size
  LD [M]  /usr/src/modules/fglrx/fglrx.o
ld: Relocatable linking with relocations from format elf32-i386 (/usr/src/modules/fglrx/libfglrx_ip.a.GCC4) to format elf64-x86-64 (/usr/src/modules/fglrx/fglrx.o) is not supported
make[2]: *** [/usr/src/modules/fglrx/fglrx.o] Erreur 1
make[1]: *** [_module_/usr/src/modules/fglrx] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.22-3-amd64 »
make: *** [kmod_build] Erreur 2
build failed with return value 2



Message édité par sam_lepirate le 04-02-2008 à 20:52:48
Reply

Marsh Posté le 04-02-2008 à 20:53:18    

Toujours pas d'idée ??

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed