Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

compiler glibc-2.8

3 réponses
Avatar
Herve Autret
Bonjour,

Je voudrais utiliser vlc : http://www.videolan.org/vlc/ sur la Slack-12.
Après qqs péripéties, ça compile mais l'exécutable demande au moins la
glibc-2.8 ... que je n'arrive pas à compiler :

gcc -nostdlib -nostartfiles -r -o /home/outils/build-glibc-2.8/elf/
librtld.os '-Wl,-(' /home/outils/build-glibc-2.8/elf/dl-allobjs.os /home/
outils/build-glibc-2.8/elf/rtld-libc.a -lgcc '-Wl,-)' \
-Wl,-Map,/home/outils/build-glibc-2.8/elf/librtld.os.map
gcc -nostdlib -nostartfiles -shared \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -
Wl,-z,defs -Wl,--verbose 2>&1 | \
LC_ALL=C \
sed -e '/^=========/,/^=========/!d;/^=========/d' \
-e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . -
SIZEOF_HEADERS;/' \
> /home/outils/build-glibc-2.8/elf/ld.so.lds
gcc -nostdlib -nostartfiles -shared -o /home/outils/build-glibc-2.8/elf/
ld.so \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -
Wl,-z,defs \
/home/outils/build-glibc-2.8/elf/librtld.os -Wl,--
version-script=/home/outils/build-glibc-2.8/ld.map \
-Wl,-soname=ld-linux.so.2 -T /home/outils/build-
glibc-2.8/elf/ld.so.lds
/home/outils/build-glibc-2.8/elf/librtld.os: In function
`_dl_start_final':
/home/outils/glibc-2.8/elf/rtld.c:294: undefined reference to `_begin'
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/
bin/ld: /home/outils/build-glibc-2.8/elf/librtld.os: relocation
R_386_GOTOFF against undefined symbol `_begin' can not be used when
making a shared object
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/
bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[2]: *** [/home/outils/build-glibc-2.8/elf/ld.so] Error 1
make[2]: Leaving directory `/home/outils/glibc-2.8/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/outils/glibc-2.8'
make: *** [all] Error 2


Les binutils-2.20 posaient déjà le problème, je les ai remplacés par
2.19.1 pour voir, après avoir lu que c'est la version 2.20 qui posait
problème sur certaines distros. Pas mieux, donc.

Quelqu'un aurait une idée, juste pour discuter ?
j'upgraderai l'OS dqp quoi qu'il en soit, j'espère que ça réglera le pb.

à +
--
Hervé

3 réponses

Avatar
appzer0
Herve Autret wrote:
Bonjour,

Je voudrais utiliser vlc : http://www.videolan.org/vlc/ sur la Slack-12.
Après qqs péripéties, ça compile mais l'exécutable demande au moins la
glibc-2.8 ... que je n'arrive pas à compiler :

gcc -nostdlib -nostartfiles -r -o /home/outils/build-glibc-2.8/elf/
librtld.os '-Wl,-(' /home/outils/build-glibc-2.8/elf/dl-allobjs.os /home/
outils/build-glibc-2.8/elf/rtld-libc.a -lgcc '-Wl,-)'
-Wl,-Map,/home/outils/build-glibc-2.8/elf/librtld.os.map
gcc -nostdlib -nostartfiles -shared
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -
Wl,-z,defs -Wl,--verbose 2>&1 |
LC_ALL=C
sed -e '/^=========/,/^=========/!d;/^=========/d'
-e 's/. = 0 + SIZEOF_HEADERS;/& _begin = . -
SIZEOF_HEADERS;/'
> /home/outils/build-glibc-2.8/elf/ld.so.lds
gcc -nostdlib -nostartfiles -shared -o /home/outils/build-glibc-2.8/elf/
ld.so
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -
Wl,-z,defs
/home/outils/build-glibc-2.8/elf/librtld.os -Wl,--
version-script=/home/outils/build-glibc-2.8/ld.map
-Wl,-soname=ld-linux.so.2 -T /home/outils/build-
glibc-2.8/elf/ld.so.lds
/home/outils/build-glibc-2.8/elf/librtld.os: In function
`_dl_start_final':
/home/outils/glibc-2.8/elf/rtld.c:294: undefined reference to `_begin'
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/
bin/ld: /home/outils/build-glibc-2.8/elf/librtld.os: relocation
R_386_GOTOFF against undefined symbol `_begin' can not be used when
making a shared object
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/
bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[2]: *** [/home/outils/build-glibc-2.8/elf/ld.so] Error 1
make[2]: Leaving directory `/home/outils/glibc-2.8/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/outils/glibc-2.8'
make: *** [all] Error 2


Les binutils-2.20 posaient déjà le problème, je les ai remplacés par
2.19.1 pour voir, après avoir lu que c'est la version 2.20 qui posait
problème sur certaines distros. Pas mieux, donc.

Quelqu'un aurait une idée, juste pour discuter ?
j'upgraderai l'OS dqp quoi qu'il en soit, j'espère que ça réglera le pb.

à +


Tu veux compiler une glibc, la base du système tout entier ?! Stop.

Je te conseille de mettre à jour ta slackware (ça peut se faire
directement depuis ta slack sans trop de souci, consulte le fichier
UPGRADE.TXT sur les serveurs officiels).

Pour VLC, le site d'alienbob propose des paquets tout prêts à être
installés et si vraiment tu veux tout compiler, il fournit aussi le
SlackBuild pour compiler le paquet contenant une grosse base de codecs
en bonus.

Le fichier UPGRADE : ftp://ftp.slackware.at/slackware-13.0/UPGRADE.TXT
VLC chez alienBOB : http://connie.slackware.com/~alien/slackbuilds/vlc/

appzer0
Avatar
Herve Autret
appzer0 wrote:

Tu veux compiler une glibc, la base du système tout entier ?! Stop.

Je te conseille de mettre à jour ta slackware (ça peut se faire
directement depuis ta slack sans trop de souci, consulte le fichier
UPGRADE.TXT sur les serveurs officiels).



Tiens, ça me changerait de la méthode habituelle. D'habitude je
réinstalle tout à partir du CD...

J'ai essayé ; j'ai eu des soucis. Pour commencer, la lib xz n'a pas
fonctionné parce qu'elle cherche une version de la glibc (justement) qui
n'est pas celle qui est présente sur le système. Donc tar ne pouvait pas
traiter les txz et tout s'arrête là.

J'ai alors réinstallé le système de base (a) par le setup en bootant sur
le CD pour continuer ensuite la mise à jour : ça a eu l'air de
fonctionner.

Reboot ... tiens, hplip ne démarre pas. Je lance X : le relais de
démagnétisation du CRT clique 3 fois ...Hummm, jamais il ne fait ça
d'habitude... le pointeur apparaît et là, tout se fige.

J'ai tacoté un peu : désinstaller X et le réinstaller ... et puis marre :
j'ai fait comme d'hab : installation complète de la nouvelle version du
du système, avec formatage de la parition système : Ok.

Pour VLC, le site d'alienbob propose des paquets tout prêts à être
installés et si vraiment tu veux tout compiler, il fournit aussi le
SlackBuild pour compiler le paquet contenant une grosse base de codecs
en bonus.



Là j'écoute un mp3 : Vlc marche en ligne de commande, déjà !
À propos : comment se connecter sur cette "console à distance" ?

Le fichier UPGRADE : ftp://ftp.slackware.at/slackware-13.0/UPGRADE.TXT



Oui mais non...

VLC chez alienBOB : http://connie.slackware.com/~alien/slackbuilds/vlc/



Je testerai le slackbuild pour avoir le plugins de mozilla : merci pour
le tuyau.

Tant que j'y suis : xsane ne fonctionne plus qu'en root ; c'est donc une
question de droits. Il faut peut-être doute faire une règle udev, comme
il a été répondu dans le fil "Droits d'accès ieee1394" mais sur quelles
bases ? Par exemple je vois l'appareil complet (psc) dans
/proc/bus/usb/devices, mais pas dans /dev, pas explicitement en tous cas.

à +
--
Hervé
Avatar
Herve Autret
appzer0 wrote:

Beaucoup de problèmes, dis donc !


;-)

Pour commencer, la lib xz n'a pas fonctionné parce qu'elle cherche une
version de la glibc [] qui n'est pas [] présente sur le système.

C'est _très_ étrange. As-tu bien fait comme dit dans la méthode ?
Invoquer 'telinit 1' (ou arrêter le maximum de services) puis mettre à
jour d'abord et avant tout 'glibc-solibs' ? Le nécessaire de glibc se
trouve justement dans ce paquet. 'xz', 'tar' et 'pkgtools' sont
justement les paquets à mettre à jour juste après.



Non, c'est bien dans l'autre sens : <cite>
1. Upgrade your package utilities and related tools:

upgradepkg /root/slackware/a/pkgtools-*.tgz
upgradepkg /root/slackware/a/tar-*.tgz
installpkg /root/slackware/a/xz-*.tgz
upgradepkg /root/slackware/a/findutils-*.txz


2. Upgrade your glibc shared libraries. This is important, or things
might go haywire during the next part of the upgrade:

upgradepkg /root/slackware/a/glibc-solibs-*.t?z
</cite>

En revanche, il n'est pas impossible que j'aie recompilé une autre
version de la glibc depuis l'installation du système. Du coup, ça me fera
une bonne raison pour garder l'ancienne version sous le coude, si ça me
reprend.

Reboot ... tiens, hplip ne démarre pas.


Fais-tu partie du groupe lp ?



Je voyais ça au démarrage, bien avant l'ouverture du login. Le système ne
sait pas encore qui va se logger ni quand, à ce stade, daonc ce n'est pas
une question de groupe.

As-tu un chipset intel pour la vidéo


Non :
PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon
7000/VE]

Peut-être avais-tu oublié le paramètre --install-new pour
l'installation des (nombreux) nouveaux paquets de slack 13.0 ?



Non : copie manuelle (pas de gpm...), j'avais bien fait attention

Je ne connais pas vraiment vlc, mais il a toujours fonctionné en
graphique chez moi (lié à qt4).



J'essaierai sous kde, pour voir.

Le fichier UPGRADE : ftp://ftp.slackware.at/slackware-13.0/UPGRADE.TXT




(c'est la méthode de P. Volkerding, le mainteneur de slack)



J'avais vu, c'est ce qui a contribué à me décider. Je répète que ça doit
venir d'une salade de glib de ma part.

xsane ne fonctionne plus qu'en root ; c'est donc une question de
droits. Il faut peut-être doute faire une règle udev



Vérifie l'appartenance aux groupes de ton utilisateur. Dans l'idéal, tu
devrais faire partie des groupes netdev, plugdev, scanner, power, video,
lp - je crois que c'est tout.



Nan, ça ne suffit pas. Je crois que ça passe par udev, mais je ne trouve
pas les mots magiques à écrire dans /etc/udev/rules.d.
Je trouve la doc un peu floue : <cite> SANE comes with a udev rules file
in the tools/udev directory which may be used by distributions or can be
copied to /etc/udev/rules.d manually.</cite>
Quel répertoire "tools/udev"... ?

Quand tu utilises 'adduser', le script te propose de faire partie de
tous ces groupes en appuyant sur 'Flèche Haut', mais peut-être
utilises-tu les commandes useradd/grpadd.



Jusqu'à présent je n'avais pas besoin de faire partie du groupe lp pour
imprimer, ni d'un groupe quelconque pour scanner, alors : oui, j'ignorais
cet usage de "Flèche Haut". Merci du tuyau.
--
Hervé