[Bug] Impossible de compiler eggdrop sous Mac OS X
#1
Bonjour,

je ne sais pas vers qui aller, alors peut-être qu'il existe parmi vous des utilisateurs de machines Apple comme moi, qui pourraient m'aider. J'essaye d'installer pour test un robot de type 1.6.21 sur mon mac, sachant qu'avec un système Unix on devrait pouvoir s'en sortir (j'avais déja compilé Unreal et Anope  il y a 2 ans sans problèmes. J'avais le systèmer OS-X Lion).

Malheureusement ça foire dès le ./configure : il me dit que je n'ai pas de version TCL d'installée (alors qu'il y a la 8.5 bien visible sous mon nez). Je vous mets juste la partie intéressante:

checking for Tcl library... found /usr/lib/libtcl8.5.dylib
checking for Tcl header... not found
checking whether the Tcl system has changed... yes
configure: error:

 Tcl cannot be found on this system.

 Eggdrop requires Tcl and the Tcl development files to compile.
 If you already have Tcl installed on this system, make sure you
 also have the development files (common package names include
 'tcl-dev' and 'tcl-devel'). If I just wasn't looking
 in the right place for it, re-run ./configure using the
 --with-tcllib='/path/to/libtcl.so' and
 --with-tclinc='/path/to/tcl.h' options.

 See doc/COMPILE-GUIDE's 'Tcl Detection and Installation' section for more
 information.

Pour bien faire iL faudrait que je localise la bibliothèque de Tcl pour les lui passer en paramètres, mais malheureusement je n'y connais rien. Une âme charitable (utilisatrice de Mac, ce qui peut être rare) pourrait-elle m'aider? Mon OS actuel est Mavericks.

Merci et bonne journée,

PC
  Répondre   Avertir
#2
Bonjour,

Je ne sais pas si sa va t'aider, mais eggdrop a besoin des sources TCL (les headers) et non pas de TCL (les binaires).

Sous linux il s'agit de TCL-DEV.

Tu as essayer de rechercher avec "find / -name tcl.h"?
  Répondre   Avertir
#3
Je confirme les dires de mcdeffice, c'est bien tcl-dev qui est nécessaire pour une compilation.
  Répondre   Avertir
#4
(30/03/2015, 21:39)CrazyCat a écrit : Je confirme les dires de mcdeffice, c'est bien tcl-dev qui est nécessaire pour une compilation.

je ne sais pas ce qu'est tcl-dev, ni où le trouver. Par-dessus le marché, tcl.tk est inaccessible, et je ne sais pas depuis quand. Finalement je l'ai dans l'os bien profond, la prochaine fois j'achèterai un PC Sad
  Répondre   Avertir
#5
As-tu essayé de télécharger ActiveTcl sur http://www.activestate.com/activetcl/downloads ?
  Répondre   Avertir
#6
[attachment=296]
(13/12/2015, 14:08)CrazyCat a écrit : As-tu essayé de télécharger ActiveTcl sur http://www.activestate.com/activetcl/downloads ?

Oui. Ca ne change rien. En PJ la liste de tous les endroits où on pourrait trouver quelque chose qui ressemble à libtcl ( en fait, j'ai fait find / | grep libtcl sur tout le disque dur).
  Répondre   Avertir
#7
Je suis arrivé à avancer légèrement, mais ce n'est pas encore ça. J'ai tapé cette ligne-là:

./configure --with-tclinc='/Library/Frameworks/Tcl.framework/Versions/8.6/Headers/tcl.h' --with-tcllib='/Library/Frameworks/Tcl.framework/Versions/8.6/libtclstub8.6.a'

Le log est ici, et n'a pas posé de problème: [attachment=299]

le make config n'a fourni aucune erreur (voire PJ [attachment=300]). En revanche, le make me donne ceci en fin de compilation:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../eggdrop] Error 1
make: *** [static] Error 2

J'ai mis le log du make en PJ également [attachment=298]. Je suis toujours aussi dég. Merci de votre aide.

PC
  Répondre   Avertir
#8
J'y ai passé j'après midi: de toute manière il ne faisait pas beau par ici!

La solution est complexe, mais grosso modo le système OSX a tellement évolué depuis la publication de l'eggdrop 1.6.21 que la compilation n'était plus possible en l'état: de nombreux fichiers ont changé de place (tcl.h) ou ont changé de nom, sans compter que le compilateur sous Yosemite ne compile plus comme à l'époque (sous Lion ou peut être Snow Leopard). Le problème du Ld à la fin du make que je mentionne dans mon post précédent signifie simplement: "vous utilisez des objets (fonctions, variables...) qui n'ont pas été définis". Cela apparaît au cours de l'édition des liens, et c'est évidemment rédhibitoire.

Au final et sans trop donner de détails, j'avais un problème avec uniquement 2 fonctions déclarées inline: il a fallu que je modifie les sources et que j'ôte simplement le préfixe inline (à la fois dans le .c et dans .h). Voila, c'est tout: maintenant j'ai réussi à faire marcher un eggdrop de test bourré de tcl sans que ça plante :p

Si des personnes ont le même problème que je décris dans ce thread, prière de me contacter, et je pourrais peut être les aider: soit en passant par ce site, soit par le lien http://www.mircscripts.fr/cgi-bin/monmail.pl?p=Averell car je ne donne pas mon email, avec tous les psychopathes qui traînent sur la toile Smile
  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Impossible de config eggdrop 1.6.21 sous debian 9 illux 1 584 06/02/2019, 10:12
Dernier message: CrazyCat
  impossible de me connecter en ctcp ou dcc titguns 7 5,334 20/03/2012, 01:46
Dernier message: aliasangelius
  Connexion DCC CHAT avec mon eggdrop impossible. tow 1 3,892 27/01/2011, 18:41
Dernier message: Helias
  impossible de démarré mon eggdrop lesny 10 4,754 22/11/2010, 17:18
Dernier message: N3bIlIm
  ctcp impossible lesny 4 3,149 30/07/2010, 02:38
Dernier message: lesny
  flags possibles sous eggy pheeric 7 3,157 24/07/2010, 14:07
Dernier message: CrazyCat
  [debian 5] lancement eggdrop impossible blackdevil 16 7,089 09/04/2010, 23:35
Dernier message: blackdevil

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)