Journal Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.

Posté par  .
Étiquettes : aucune
0
27
juil.
2005
Mon cher journal, des heures que je me bat, peut être que toi tu pourras m'aider ...

J'ai compilé pureftpd 1.0.20, avec les options suivantes :
./configure --with-puredb --with-mysql --with-altlog --with-cookie --with-throttling --with-ratios --with-welcomemsg --with-ftpwho --with-quotas --with-peruserlimits --prefix=/opt/pureftpd --with-language=french --with-tls --without-banner

Puis un petit "make install", comme écris dans la doc de mon deamon ftp préféré... et le tout sans erreurs.

Et puis je le lance avec tcpserver, très utile.

Je précise bien que tout ceci fonctionnait au poil sous redhat 8... je suis passé a Fc4 surtout par envie d'évoluer ...

Par la suite, je lance mon pureftpd :

# /usr/bin/tcpserver -DHRl0 0 21 /opt/pureftpd/sbin/pure-ftpd -Dl mysql:/etc/pureftpd-mysql.conf &
[1] 28334
# Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.

Alors, que faire ? impossible d'utiliser ce cher pureftpd avec cette erreur, toute tentative d'authentification échoue ...
Quelqu'un a une idée ?
Comment supprimer ce message ?
Pourquoi s'affiche t il ?

Toute idée est la bienvenue ... Google ne m'ayant pas beaucoup aidé ...

Merci.
  • # Idée

    Posté par  . Évalué à 3.

    C'est juste une supposition, parce que je suis très loin d'être un expert là dedans, mais c'est pas un problème lié au fait qu'au lieu d'inclure le fichier <errno.h>, le programme déclare un truc du genre "extern int errno;" ?

    Du coup comme errno peut aussi être défini comme une macro, la libc doit râler ?

    Donc comment supprimer ce message ? Ben, en récupérant les sources du programme, en ajoutant des #include <errno.h> là où il faut, et en recompilant ? :)

    Mais comme je le dis, c'est juste une supposition, peut-être que je me gourre.
    • [^] # Re: Idée

      Posté par  . Évalué à 3.

      c'est surout que le "extern int errno;", ne marche pas avec les threads car ils partageraient tous la meme variable, et les valeurs qui n'ont pas ete encore acceder riquerait d'etre ecraser par d'autre...
  • # Fedora Extras

    Posté par  (site web personnel) . Évalué à 1.

    Sinon tu peux aussi regarder du côté du package de Fedora Extras, chez moi il marche très bien.
    Comme du dois pas avoir les mêmes options du configure (notamment le langage et le préfixe dans /opt), tu récupères le SRPM, tu l'installes, tu changes la ligne "./configure" dans le fichier SPEC, et tu recompiles (avec rpmbuild -ba pure-ftpd.spec).
    • [^] # Re: Fedora Extras

      Posté par  . Évalué à 1.

      J'ai trouvé.
      J'ai rebuldé pureftpd comme tu l'as dit, l'erreur ne provenait pas de pureftpd mais de tcpserver ...
      tant pis, ça m'a au moins donné de l'entrainement ;)

      Etant surtout interessé par pureftpd, je commenterai par la suite ma (non) réussite par rapport a tcpserver ... je vous tiens au courrant par rapport à ce message d'erreur de tcpserver ... qui sait ça pourra toujours servir à qqn ...

      Enfin, j'ai cependant un soucis avec pureftpd, n'ayant rien de plus a avoir avec le sujet actuel (et ne voulant pas faire de hors sujet dans un sujet que j'ai crée ;) ), je vais de ce pas en ouvrir un nouveau pas loin dans un forum :)
  • # Bug fixé, voici comment ...

    Posté par  . Évalué à 1.

    J'ai enfin trouvé comment fixer ce bug.

    Les rpm, même rebuildé, de tcpserver (ucspi-tcp-0.88) ont un bug avec la derniere version de Glibc, donc je ne dois pas être le seul concerné par ceci ...

    Je vous rapelle, après compilation, et exécutions, voici l'erreur :

    # Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.

    Ici se trouve la réponse, je la copie pour mémoire http://sylvestre.ledru.info/howto/howto_qmail_vpopmail.php#tcpserve(...) :

    wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz(...)
    tar -zxvf ucspi-tcp-0.88.tar.gz
    cd ucspi-tcp-0.88
    wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_r(...)
    patch -p1 < ucspi-tcp-0.88.a_record.patch
    wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.err(...)
    patch -p1 < ucspi-tcp-0.88.errno.patch
    wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nob(...)
    patch -p1 < ucspi-tcp-0.88.nobase.patch

    // ces 3 patchs corrigent le bug.

    make
    make setup check

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.