32 bits... 64 bits

Le
Dominique MICOLLET
Bonjour,

En me bagarrant avec une installation du java runtime environment, je viens
de me rendre compte de quelque chose qui m'échappe.

Ma machine a un processeur 64 bit, et mon noyau est un noyau 64 bit.
La distribution est une Debian standard.

Il semble que les applications que je j'importe via aptitude sont des
applications 32 bits si j'en juge par la réponse d'un file sur n'importe
quel exécutable.

Si je me compile un hello_world, le binaire est aussi un 32 bits.

J'ai donc loupé quelque chose.

Quelqu'un aurait-il un pointeur à me recommander pour m'éclaircir les idées
sur ces loufoqueries ?

Cordialement.

--
Dominique MICOLLET
Adresse email : enlever deux francs
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
remy
Le #22607791
Dominique MICOLLET a écrit :
Bonjour,

En me bagarrant avec une installation du java runtime environment, je v iens
de me rendre compte de quelque chose qui m'échappe.

Ma machine a un processeur 64 bit, et mon noyau est un noyau 64 bit.
La distribution est une Debian standard.

Il semble que les applications que je j'importe via aptitude sont des
applications 32 bits si j'en juge par la réponse d'un file sur n'impo rte
quel exécutable.

Si je me compile un hello_world, le binaire est aussi un 32 bits.

J'ai donc loupé quelque chose.

Quelqu'un aurait-il un pointeur à me recommander pour m'éclaircir l es idées
sur ces loufoqueries ?

Cordialement.



java c'est une machine virtuelle donc ton hello world il est compilé
pour la machine virtuelle qui elle est en 32 ou 64 le plus souvent en
32 bits

remy


--
http://remyaumeunier.chez-alice.fr/
Dominique MICOLLET
Le #22608231
remy wrote:

java c'est une machine virtuelle donc ton hello world il est compilé
pour la machine virtuelle qui elle est en 32 ou 64 le plus souvent en
32 bits



J'ai été confus. Je voulais parler d'une compilation C.

En fait, j'ai l'impression d'avoir fait une installation avec un CD 32 bits,
d'où mes "problèmes".

Cordialement.


--
Dominique MICOLLET
Adresse email : enlever deux francs
Fabien LE LEZ
Le #22608331
On Fri, 24 Sep 2010 14:28:18 +0200, Dominique MICOLLET

Ma machine a un processeur 64 bit, et mon noyau est un noyau 64 bit.
La distribution est une Debian standard.

Il semble que les applications que je j'importe via aptitude sont des
applications 32 bits



As-tu toujours le .iso du CD d'installation ? Si oui, quel est son
nom ?


Que donnent ces commandes ?
ls /var/cache/apt/archives/*.deb
uname -a


Quand tu installes quelque chose via aptitude, une des lignes devrait
être quelque chose comme :

Unpacking stunnel4 (from .../stunnel4_3%3a4.22-2_amd64.deb) ...

As-tu bien "amd64.deb" à la fin ?


À quoi ton /etc/apt/sources.list ressemble-t-il ?
Dominique MICOLLET
Le #22608421
Fabien LE LEZ wrote:


As-tu toujours le .iso du CD d'installation ? Si oui, quel est son
nom ?


Malheureusement, non. J'avais du utiliser un CD d'installation avec un
backport d'un noyau plus récent, parce que le périphérique réseau n'était
pas reconnu avec le CD officiel, et je ne l'ai pas conservé.




Que donnent ces commandes ?
ls /var/cache/apt/archives/*.deb



Que des trucs se terminant par i386.deb :-)
(il n'y en a pas beaucoup parce que je nettoie régulièrement le cache).


uname -a


Linux alecto 2.6.30-2-amd64 #1 SMP Sat Sep 26 03:42:23 UTC 2009 x86_64
GNU/Linux

Ce qui est normal parce que j'ai installé manuellement ce noyau.

Quand tu installes quelque chose via aptitude, une des lignes devrait
être quelque chose comme :

Unpacking stunnel4 (from .../stunnel4_3%3a4.22-2_amd64.deb) ...

As-tu bien "amd64.deb" à la fin ?



Non. Je n'ai que des i386.deb à la fin.

À quoi ton /etc/apt/sources.list ressemble-t-il ?



À ça :
==========8<------------------------------
#
# deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Unofficial bpo i386 NETINST
Binary-1 20090413-22:27]/ lenny main

#deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Unofficial bpo i386 NETINST
Binary-1 20090413-22:27]/ lenny main

deb http://ftp.fr.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ lenny main non-free contrib

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
contrib non-free

deb http://www.debian-multimedia.org lenny main non-free
==========8<------------------------------

A l'évidence, je n'ai pas utilisé le bon CD (1)

Je comprends donc à peu près pourquoi je n'ai que des binaires 32bits.
Par contre, au vu du contenu de sources.list, je ne vois pas ce qui permet à
aptitude de savoir quels types de binaires il doit rapatrier.

Y-a-t'il moyen de faire une mise à jour ?

Merci pour m'avoir fait comprendre mon erreur.

Cordialement

(1) Erreur de jeunesse, c'était la première fois que j'utilisais une machine
avec architecture 64 bits.

--
Dominique MICOLLET
Adresse email : enlever deux francs
Fabien LE LEZ
Le #22608671
On Fri, 24 Sep 2010 16:54:37 +0200, Dominique MICOLLET

# deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Unofficial bpo i386 NETINST
Binary-1 20090413-22:27]/ lenny main



Tu as donc bien installé un Lenny i386.

La première question est : est-ce que ça te pose un problème ?
Après tout, un processeur AMD64 est parfaitement compatible avec du
code i386.

Je comprends donc à peu près pourquoi je n'ai que des binaires 32bits.
Par contre, au vu du contenu de sources.list, je ne vois pas ce qui permet à
aptitude de savoir quels types de binaires il doit rapatrier.



J'avoue que je n'ai pas trouvé non plus.

Y-a-t'il moyen de faire une mise à jour ?



C'est pas gagné :

"The short version is that it IS possible to do this. However, I
wouldn't recommend it as it's more trouble than it's worth."
http://old.nabble.com/In-place-upgrade-from-i386-td15497495.html
Dominique MICOLLET
Le #22608731
Fabien LE LEZ wrote:

La première question est : est-ce que ça te pose un problème ?



Beuuuuuh..... Non. La preuve : je ne m'en étais même pas rendu compte :-)
Le fait d'en avoir pris conscience m'épargnera peut-être des soucis plus
tard.

Après tout, un processeur AMD64 est parfaitement compatible avec du
code i386.



Tout à fait.

Ceci dit, quelque part au tréfond de moi-même, il y a maintenant un petit
agacement à penser que je n'exploite pas la quintessence du fabuleux
processeur que j'ai fait acheter à mon employeur :-).

C'est pas gagné :

"The short version is that it IS possible to do this. However, I
wouldn't recommend it as it's more trouble than it's worth."
http://old.nabble.com/In-place-upgrade-from-i386-td15497495.html


Je jetterai un coup d'oeil.

Par chance, l'ordinateur ne contient pas grand chose et doit être
réinstallé : il faut que je passe à Windows 7 :-( et j'en profiterai pour
passer les disques en LVM.

Merci pour les infos et bon week-end.

Cordialement

--
Dominique MICOLLET
Adresse email : enlever deux francs
Sergio
Le #22608791
Le 24/09/2010 18:16, Fabien LE LEZ a écrit :
On Fri, 24 Sep 2010 16:54:37 +0200, Dominique MICOLLET

# deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Unofficial bpo i386 NETINST
Binary-1 20090413-22:27]/ lenny main



Tu as donc bien installé un Lenny i386.

La première question est : est-ce que ça te pose un problème ?
Après tout, un processeur AMD64 est parfaitement compatible avec du
code i386.



Pas la peine d'avoir un AMD64 alors... Ça me rappelle le coup du DOS en 16 bits sur des processeurs 32 bits...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Fabien LE LEZ
Le #22608901
On Fri, 24 Sep 2010 18:35:17 +0200, Sergio :

Pas la peine d'avoir un AMD64 alors...



Ça dépend principalement de la quantité de RAM.
Emmanuel Florac
Le #22609951
Le Fri, 24 Sep 2010 18:35:17 +0200, Sergio a écrit:


Pas la peine d'avoir un AMD64 alors... Ça me rappelle le coup du DOS en
16 bits sur des processeurs 32 bits...



C'est pas grave puisqu'il a un noyau 64 bits. Un noyau 64 dans une distro
32 ça marche très bien, et à part s'il fait du calcul intensif ou a 200
TO de stockage, ça ne devrait pas poser de problème.

--
Ne pas savoir de quoi on parle est un avantage dont il ne faut pas
abuser.
R.Debray
Rémi Moyen
Le #22610211
Le 24/09/2010 15:29, Dominique MICOLLET a écrit :
remy wrote:

java c'est une machine virtuelle donc ton hello world il est compilé
pour la machine virtuelle qui elle est en 32 ou 64 le plus souvent en
32 bits



J'ai été confus. Je voulais parler d'une compilation C.



Je ne suis pas sûr, mais je me demande si il ne faut pas donner des
options spécifiques à gcc pour qu'il compile en 64 bits (même avec une
vraie installation 64 bits et non pas 32, comme ce que tu as apparemment).

Enfin, pour être plus clair, je sais que gcc a les options -m32 et -m64
pour générer du code 32 ou 64 bits, mais je crois (sans certitude) que
même sur une vraie machine 64 bits, ne rien mettre implique -m32, pas -m64.

En tout cas, dans les compilations au bureau, on spécifie toujours -m64
dans les Makefile, mais c'est peut-être plus par habitude que par besoin
réel.
--
Rémi Moyen
Publicité
Poster une réponse
Anonyme