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

[FreeBSD5.4] Pb libpthread/Linux

14 réponses
Avatar
anaxagore
Bonjour,
sous FreeBSD 5.4(newbie), désireux de me servir de mon brouteur
Mozilla, et Firefox en prime, y compris malgré les site contenant du
Flashplayer(tm), je suis les instructions trouvées sur gcu-squad.org.
Facile. Dans les plugins de mes brouteurs, j'ai bien ShockwaveFlash7.0r61.
Mais ça marche pô. Quand je démarre d'un term, j'ai droit au message:
"LoadPlugin: failed to initialize shared library
/usr/X11R6/lib/linux-flashplugin7/libflashplayer.so [Shared object
"libpthread.so.0" not found, required by "libflashplayer.so"]".
Or, libpthread existe, dans /usr/compat/linux/lib.
#ldd libpthread.so.0 donne:
libpthread.so.0:
ldd: libpthread.so.0: Shared object "libpthread.so.0" not found,
required by "ldd"
libpthread.so.0: exit status 1
Pas glop.
Vérification: pas de linux apres un kldstat.
Pourtant linux_base est installé, les options qui vont bien sont
compilées ds le kernel, et Linux est activé ds rc.conf.
# kldload linux.ko
kldload: can't load linux.ko: File exists
Je pige pas.
kldunload linux.ko
kldunload: can't find file linux.ko: No such file or directory
Je pige toujours pas, il existe ou pas ce file?
J'ai réinstallé Linux, refais les manip' pour le Flash, Mais je trouve pas.
Qu'ai-je oublié?
Merci de vos idées.

10 réponses

1 2
Avatar
Arnaud Launay
Le Thu, 15 Dec 2005 23:41:33 +0100, anaxagore écrivit:
# kldload linux.ko
kldload: can't load linux.ko: File exists
Je pige toujours pas, il existe ou pas ce file?
J'ai réinstallé Linux, refais les manip' pour le Flash, Mais je trouve pas.
Qu'ai-je oublié?


C'est un module du noyau, il faudrait recompiler le noyau avec le
support de la compatibilité linux (COMPAT_LINUX si j'ai bonne
mémoire...)

man 8 compat_linux normalement.


Arnaud.
--
Perso: http://launay.org/blog/
Hébergement: http://www.nocworld.com/

Avatar
anaxagore
Le Thu, 15 Dec 2005 23:41:33 +0100, anaxagore écrivit:


C'est un module du noyau, il faudrait recompiler le noyau avec le
support de la compatibilité linux (COMPAT_LINUX si j'ai bonne
mémoire...)

man 8 compat_linux normalement.


Arnaud.


C'est fait, et linprocfs aussi.

Avatar
F. Senault

Pourtant linux_base est installé, les options qui vont bien sont
compilées ds le kernel, et Linux est activé ds rc.conf.
# kldload linux.ko
kldload: can't load linux.ko: File exists
Je pige pas.
kldunload linux.ko
kldunload: can't find file linux.ko: No such file or directory
Je pige toujours pas, il existe ou pas ce file?


Généralement, ça signifie que la fonctionnalité est intégrée en statique
au kernel, pas sous forme de module ; par exemple, ma carte réseau :

12:45 lagavulin:/# kldload if_xl.ko
kldload: can't load if_xl.ko: File exists
12:45 lagavulin:/# kldunload if_xl.ko
kldunload: can't find file if_xl.ko: No such file or directory
12:45 lagavulin:/# ifconfig xl0
xl0: flagsˆ43<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
...

Pour en revenir au sujet de la compatibilité linux, la meilleure manière
de tester qu'elle est fonctionnelle est encore d'essayer de lancer un
fichier de la distro linux installée par linux-base, par exemple
/compat/linux/bin/ls et voir s'il va tourner.

Si c'est le cas, il faut se tourner vers des cas plus "classiques" de
problèmes de librairies : est-ce que les caches sont bien configurés
(peut-être ldconfig), les chemins bien spécifiés, tout ça - je peux
moins aider dans cette direction.

Fred
--
*shrug* At least if it's pronounced "*ah" it can't possibly
be written "*chestershire"... (Dimitri Maziuk in the SDM)

Avatar
anaxagore



Généralement, ça signifie que la fonctionnalité est intégrée en statique
au kernel, pas sous forme de module ; par exemple, ma carte réseau :



OK, merci.

Pour en revenir au sujet de la compatibilité linux, la meilleure manière
de tester qu'elle est fonctionnelle est encore d'essayer de lancer un
fichier de la distro linux installée par linux-base, par exemple
/compat/linux/bin/ls et voir s'il va tourner.



Bon, ça tourne.

Si c'est le cas, il faut se tourner vers des cas plus "classiques" de
problèmes de librairies :


Donc ça a l'air d'etre ça. Ce que je craignait...

Avatar
Paul Gaborit
À (at) Thu, 15 Dec 2005 23:41:33 +0100,
anaxagore écrivait (wrote):
Bonjour,
sous FreeBSD 5.4(newbie), désireux de me servir de mon brouteur
Mozilla, et Firefox en prime, y compris malgré les site contenant du
Flashplayer(tm), je suis les instructions trouvées sur
gcu-squad.org. Facile. Dans les plugins de mes brouteurs, j'ai bien
ShockwaveFlash7.0r61.
Mais ça marche pô. Quand je démarre d'un term, j'ai droit au message:
"LoadPlugin: failed to initialize shared library
/usr/X11R6/lib/linux-flashplugin7/libflashplayer.so [Shared object
"libpthread.so.0" not found, required by "libflashplayer.so"]".
Or, libpthread existe, dans /usr/compat/linux/lib.
#ldd libpthread.so.0 donne:
libpthread.so.0:
ldd: libpthread.so.0: Shared object "libpthread.so.0" not found,
required by "ldd"
libpthread.so.0: exit status 1


En FreeBSD 6.0, j'ai ça :

# ldd /compat/linux/lib/libpthread.so.0
ldd: /compat/linux/lib/libpthread.so.0: not a FreeBSD ELF shared object
# ll ll /compat/linux/lib/libpthread.so.0
lrwxr-xr-x 1 root wheel 18 3 déc 18:12 /compat/linux/lib/libpthread.so.0@ -> libpthread-0.10.so
pkg_which /compat/linux/lib/libpthread.so.0
linux_base-8-8.0_10
# pkg_which /compat/linux/lib/libpthread-0.10.so
linux_base-8-8.0_10

Le message "not a FreeBSD ELF shared object" n'est pas la même chose
que "Shared object "libpthread.so.0" not found"...

À votre place, je tenterai une réinstallation de 'linux_base'.


--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
anaxagore
anaxagore écrivait :


Si c'est le cas, il faut se tourner vers des cas plus "classiques" de
problèmes de librairies :


Donc ça a l'air d'etre ça. Ce que je craignait...



Il faut modifier /etc/libmap.conf. Le port linuxpluginwraper a un
exemple de fichier pour cela (de mémoire), à recopier tel quel.
Fait.




Avatar
anaxagore
À (at) Thu, 15 Dec 2005 23:41:33 +0100,
anaxagore écrivait (wrote):

Bonjour,
sous FreeBSD 5.4(newbie), désireux de me servir de mon brouteur
Mozilla, et Firefox en prime, y compris malgré les site contenant du
Flashplayer(tm), je suis les instructions trouvées sur
gcu-squad.org. Facile. Dans les plugins de mes brouteurs, j'ai bien
ShockwaveFlash7.0r61.
Mais ça marche pô. Quand je démarre d'un term, j'ai droit au message:
"LoadPlugin: failed to initialize shared library
/usr/X11R6/lib/linux-flashplugin7/libflashplayer.so [Shared object
"libpthread.so.0" not found, required by "libflashplayer.so"]".
Or, libpthread existe, dans /usr/compat/linux/lib.
#ldd libpthread.so.0 donne:
libpthread.so.0:
ldd: libpthread.so.0: Shared object "libpthread.so.0" not found,
required by "ldd"
libpthread.so.0: exit status 1



En FreeBSD 6.0, j'ai ça :

# ldd /compat/linux/lib/libpthread.so.0
ldd: /compat/linux/lib/libpthread.so.0: not a FreeBSD ELF shared object
# ll ll /compat/linux/lib/libpthread.so.0
lrwxr-xr-x 1 root wheel 18 3 déc 18:12 /compat/linux/lib/libpthread.so.0@ -> libpthread-0.10.so
pkg_which /compat/linux/lib/libpthread.so.0
linux_base-8-8.0_10
# pkg_which /compat/linux/lib/libpthread-0.10.so
linux_base-8-8.0_10

Le message "not a FreeBSD ELF shared object" n'est pas la même chose
que "Shared object "libpthread.so.0" not found"...



#brandelf -t Linux libpthread.so.0
et on retrouve "...not found".
À votre place, je tenterai une réinstallation de 'linux_base'.


Fait.



Avatar
Paul Gaborit
À (at) Fri, 16 Dec 2005 13:47:45 +0100,
anaxagore écrivait (wrote):
[...]
#brandelf -t Linux libpthread.so.0
et on retrouve "...not found".


Je viens d'essayer ici (en FreeBSD 6.0) et en fait (en étant root) le
message d'erreur change et j'ai la même chose que vous.

Il y a un exécutable qui vient avec linux_base et qui fait appel à
cette bibliothèque : /compat/linux/bin/date. Et, ici, il ne marchait
pas :

% /compat/linux/bin/date
/compat/linux/bin/date: error while loading shared libraries: /lib/libpthread.so.0: ELF file OS ABI invalid
%

Est-ce la même chose pour vous ? Si oui, j'en étais au même point que
vous :

- linux.ko est bien chargé
- linux_enable est à YES dans rc.conf
- linux_base est bien installé

Mais votre 'brandelf' m'a mis sur la puce à l'oreille. En fait toutes
les autres bibliothèques sont sur 'SVR4' ! J'ai donc fait :

# brandelf -t SVR4 libpthread-0.10.so
# brandelf -t SVR4 libpthread.s.0

Et maintenant la commande /compat/linux/bin/date fonctionne !

Il faut creuser pour voir d'où vient ce problème. En tous cas, essayez
cela et peut-être que le plugin flash sera content.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
anaxagore
À (at) Fri, 16 Dec 2005 13:47:45 +0100,
anaxagore écrivait (wrote):
[...]

#brandelf -t Linux libpthread.so.0
et on retrouve "...not found".



Je viens d'essayer ici (en FreeBSD 6.0) et en fait (en étant root) le
message d'erreur change et j'ai la même chose que vous.

Il y a un exécutable qui vient avec linux_base et qui fait appel à
cette bibliothèque : /compat/linux/bin/date. Et, ici, il ne marchait
pas :

% /compat/linux/bin/date
/compat/linux/bin/date: error while loading shared libraries: /lib/libpthread.so.0: ELF file OS ABI invalid
%

Est-ce la même chose pour vous ? Si oui, j'en étais au même point que
vous :

- linux.ko est bien chargé
- linux_enable est à YES dans rc.conf
- linux_base est bien installé


Oui, même chose.

Mais votre 'brandelf' m'a mis sur la puce à l'oreille. En fait toutes
les autres bibliothèques sont sur 'SVR4' ! J'ai donc fait :

# brandelf -t SVR4 libpthread-0.10.so
# brandelf -t SVR4 libpthread.s.0



Qd je fais file une_lib_linux j'ai droit à
libtermcap.so.2.0.8: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), stripped
C'est elf ou c'est pas elf? Je pige pas.

Et maintenant la commande /compat/linux/bin/date fonctionne !

Il faut creuser pour voir d'où vient ce problème. En tous cas, essayez
cela et peut-être que le plugin flash sera content.



Il est content, et moi aussi!
Merci.


Avatar
Paul Gaborit
À (at) Fri, 16 Dec 2005 17:40:03 +0100,
"=?iso-8859-1?Q?Patrick_Lamaizière?=" écrivait (wrote):
Paul Gaborit écrivait :

# brandelf -t SVR4 libpthread-0.10.so
# brandelf -t SVR4 libpthread.s.0

Et maintenant la commande /compat/linux/bin/date fonctionne !


Je ne comprends pas trop, ça ne devrait pas être du type "Linux"
plutôt ? Pourquoi vos libs sont en "SVR4" ?

$ brandelf /compat/linux/bin/date
File '/compat/linux/bin/date' is of brand 'Linux' (3).



Les exécutables sont effectivement en 'Linux'. Mais les bibliothèques
sont en 'SVR4' (sauf libpthread qui donc ne fonctionnait pas). Je ne
comprends pas non plus pourquoi... Mais maintenant, ça marche.

J'ai commencé à rechercher un peu d'info là-dessus sur le web mais je
n'ai rien trouvé de concluant pour l'instant. Soit c'est un truc
complètement évident et normal, soit ce n'est pas normal et, sans se
concerter, on est plusieurs à avoir fait la même connerie lors de
l'installation.

Si quelqu'un peut nous éclairer... ?

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


1 2