aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: [1] 2

Author Topic: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule  (Read 9431 times)

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« on: August 29, 2004, 10:34:33 AM »

Bonjour,

Cela fait deux jours que j'assaie en vain de compiler amule-2 (RC5 et CVS) sous Mandrake (cooker, installée de base avec la mdk-10.1beta2) et je bloque toujours sur le même code qui ne passe pas au compilateur.

dans PrefsUnifiedDlg.cpp (struct PrefsPage):
wxSizer*   (*m_function)(wxWindow*, bool = TRUE, bool = TRUE );

l'erreur de compilation:
error: default arguments are only permitted for function parameters

N'étant pas un connaisseur du C++, je seche un peu (c'est à dire completement).

Pour information, j'ai recompilé wxGTK-2.5.1 avec le spec téléchargé ici : http://starstones.free.fr/src/amule/ en ajoutant le patch du SRPM de Mandrake pour passer la compilation sous gcc-3.4 (un truc dans ~media~ qui ne passait pas).
La libcryptopp5 est en version 5.2.1

Si vous aviez une idée ou un piste à me proposer pour compiler en gcc 3.4...
Merci.

NB: je vais quant même essayer en gcc 3.3.4
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #1 on: August 29, 2004, 12:23:44 PM »

Bjr,

Un grosse partie du code n'était pas compatible avec gcc-3.4, ça s'arrange petit a petit sur le CVS :)

Mais il reste de temps en temps quelques pb, notament car chaque dev n'a pas gcc-3.4 pour tester ses modifs

Pour l'instant, le mieux est d'utiliser le 3.3 qui marche sans pb.

Note: avec amule CVS tu peut utiliser wx-2.5.1 + GTK2 + unicode qui marche bien

Thepolish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #2 on: August 29, 2004, 12:37:04 PM »

re,

Hetfield vient de fixer le pb, essaye avec le CVS snapshot de lundi (demain)

Surtout n'hesite pas à reporter les pb avec gcc-3.4, ça aide bcp :)

Thepolish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #3 on: August 29, 2004, 03:59:53 PM »

Merci pour cette réponse rapide.
Je vais donc attendre demain pour recuperer l'archive du CVS.
Je reporterai les problèmes que je rencontre (et si j'ai le temps de me remettre au C++, regarder plus attentivement le code).
Logged

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Bravo messieurs pour cet excellent travail !
« Reply #4 on: August 30, 2004, 08:19:54 AM »

Avec le fichier aMule-cvs-20040830.tar.bz2, la compilation se déroule sans problème.
(pour rappel: GCC-3.4.1,  wxGTK-2.5.1 (fait avec le spec de starstones.free.fr et le patch de Mdk pour GCC-3.4) et enfin cryptopp-5.2.1 de Mandrake (avec également leur patch du SRPMS))

Il subsiste quelques warning (principalement liés à CryptoPP.h), mais rien de méchant a priori.

Le lancement se déroule sans problème, l'integration de l'icone à la barre des taches se fait sans soucis (gnome 2.6) et tout semble bien fonctionner (même plutôt très bien).

Bref, vous avez fait un sacré boulot et je vous en remercie beaucoup.

Petite question: Est-il possible aujourd'hui de de compiler amule avec les bibliothèques standards de Mandrake (libwxgtk2.5 ou libwxGTK2ud-xxx) ou faut-il toujours passer par des versions modifiées?
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #5 on: August 30, 2004, 10:37:11 AM »

slt,

La libcryptopp n'est + necessaire pour le cvs puisqu'elle est intégré dans le fichier cryptopp.cpp.

Pour les librairies 2.5 de mandrake, j'ai pas essayé...

Par contre, le cvs marche bien avec 2.5.1 + GTK2 + Unicode

slts
Thepolish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #6 on: August 30, 2004, 02:13:00 PM »

Cela fonctionne avec les bibliothèques MDK standards.
Les accents ne passent pas pas sur les onglets, mais partout ailleurs.
Je n'ai pas essayé de compiler avec amulecmd, amulecmdgui,  webserver et webservergui.
Etrangement, amule semble plus efficace sur ma machine sans l'option --enable-optimise (le hasard des connexions pendant les tests?).
« Last Edit: August 30, 2004, 02:16:50 PM by neni »
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #7 on: August 30, 2004, 03:05:40 PM »

re,

--enable-optimise just add -O2

Il reste un pb avec le cvs actuel: le fichier cryptopp est importé de crypto++ lib, qui est une grosse merde avec les flags d'optimization...

Actuellement, avec aMule (avec gcc 3.3) -O2 passe, -O3 non à cause de ce fichier

Hetfield n'arrive pas a faire passer -O2 avec son gcc-3.4, d'ou peut être le fait que ca marche moins bien chez toi avec -O2.

Tu peux essayer -Os, ca marche pratiquement toujours.

Faut vraiment qu'on arrive a ce débarasser de ces pb de cryptopp :(

Merci pour toutes les infos que tu postes :)

The polish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #8 on: August 30, 2004, 04:03:26 PM »

Je suppose que gcc-3.4 (la version de mandrake?) est très susceptible au flags de compilation. Lorsque je compile amule sans flags, je n'ai pas de problème.

Par contre, lorsque j'utilise rpmbuild avec les flags standards de MDK (-O2 -march=i586 -mtune=pentiumpro ...), gcc me fait souvent un joli segfault interne (pas lié à  cryptopp a priori). Et s'il ne le fait pas, amule installé avec le RPM ne fonctionne pas (blocage avec 100% du CPU utilisé après affichage de l'interface). Il faudrait que je refabrique ce RPM pour verifier que c'est bien systèmatique et que je teste alors avec différent flags.
Je viens de retester un nouveau RPM. Effectivement, CryptoPP fait des siennes avec les flags mdk:
 CryptoPP.cpp:4073: void CryptoPP::AtomicDivide(CryptoPP::word*, const CryptoPP::word*, const CryptoPP::word*): Assertion `memcmp(P, A, 4*WORD_SIZE)==0' failed.
Aborted (core dumped).

Sinon, le cvs d'aujourd'hui fonctionne parfaitement avec les libs de Mandrake (wxgtk-2.5) lorsqu'il est compilé sans optimisation.
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #9 on: August 30, 2004, 05:20:54 PM »

re,

"Et s'il ne le fait pas, amule installé avec le RPM ne fonctionne pas (blocage avec 100% du CPU utilisé après affichage de l'interface)"

Ca c'est le fichier cryptopp :) idem avec gcc 3.3

-Os devrait passer, march et mcpu aussi, pas fomit-frame-pointer

The polish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

neni

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #10 on: August 30, 2004, 06:54:16 PM »

Effectivement, c'est bien fomit-frame-pointer qui posait problème (vu où plantait  CryptoPP, je supposais bien que c'était une question d'alignement mémoire).

Pour ceux, comme moi, qui sont sous mandrake cooker et qui ont des problèmes avec les bibliothèques compilées pour amule (wxgtk), voici un lien vers un RPM qui semble fonctionner (en attendant la RC6):
http://neni.free.fr/amule-cvs-1mdk.i586.rpm

Note: c'est la première fois que je touche aux RPM et aux fichiers spec, autant dire que ce n'est pas du joli à l'interieur.
Logged

JRM

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 25
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #11 on: August 31, 2004, 11:34:10 AM »

sous cooker avec amule cvs j'ai une erreur au make

Code: [Select]
make[2]: Entering directory `/home/jrm/amule-cvs/po'
rm -f en_GB.gmo && : -c --statistics -o en_GB.gmo en_GB.po
mv: ne peut évaluer `t-en_GB.gmo': No such file or directory

il efface le fichier dont il a ensuite besoin ?

edit: neni, ton rpm marche bien, il y a juste un problème et je sais pas si c'est lié à GTK2, à savoir que le petit triangle pour déployer les répertoires partagés n'apparaisent pas ou alors 1 ou 2.
« Last Edit: August 31, 2004, 11:39:22 AM by JRM »
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #12 on: August 31, 2004, 01:40:57 PM »

Bjr,

JRM, je comprends pas ???

Erreur make puis "edit: neni, ton rpm marche bien", qu'est ce qui marche et qu'est ce qui marche pas ? :)

Pour le make, j'ai pas ce genre d'erreur, je verifierai ce soir a la maison ...

Thepolish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)

JRM

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 25
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #13 on: August 31, 2004, 03:54:13 PM »

J'ai voulu éviter de faire un double post ^^

Le rpm de neni marche bien (sauf le problème d'affichage signalé), la compilation du cvs non.
Logged

thepolish

  • Hero Member
  • *****
  • Karma: 2
  • Offline Offline
  • Posts: 896
Re: MKD-10.1 - GCC-3.4.1 : Impossible de compiler amule
« Reply #14 on: August 31, 2004, 09:42:46 PM »

On dirait qu'il te manque /usr/bin/msgfmt

Ca vient de quelquepart de chez toi apparemment

Aucun pb avec le cvs de mon coté:

Code: [Select]
 **** General Libraries and Tools ****
  Should ccache support be enabled?                        no
  Libraries aMule will use to build:
                                       wxWidgets          2.5.1
                                       GTK                2.2.4


bash-2.05b$ cd po
bash-2.05b$ make
rm -f en_GB.gmo && /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po
0 message traduit, 459 messages non-traduits.
rm -f es.gmo && /usr/bin/msgfmt -c --statistics -o es.gmo es.po
1007 messages traduits.
rm -f de.gmo && /usr/bin/msgfmt -c --statistics -o de.gmo de.po
1283 messages traduits.
rm -f fr.gmo && /usr/bin/msgfmt -c --statistics -o fr.gmo fr.po
1315 messages traduits.
rm -f it.gmo && /usr/bin/msgfmt -c --statistics -o it.gmo it.po
1315 messages traduits.
rm -f ko.gmo && /usr/bin/msgfmt -c --statistics -o ko.gmo ko.po
355 messages traduits, 104 messages non-traduits.
rm -f pl.gmo && /usr/bin/msgfmt -c --statistics -o pl.gmo pl.po
1327 messages traduits.
rm -f et_EE.gmo && /usr/bin/msgfmt -c --statistics -o et_EE.gmo et_EE.po
351 messages traduits, 108 messages non-traduits.
rm -f ru.gmo && /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po
456 messages traduits.
rm -f bg.gmo && /usr/bin/msgfmt -c --statistics -o bg.gmo bg.po
389 messages traduits, 375 messages non-traduits.
rm -f es_MX.gmo && /usr/bin/msgfmt -c --statistics -o es_MX.gmo es_MX.po
348 messages traduits, 111 messages non-traduits.
rm -f pt_BR.gmo && /usr/bin/msgfmt -c --statistics -o pt_BR.gmo pt_BR.po
990 messages traduits, 3 traductions approximatives.
rm -f gl.gmo && /usr/bin/msgfmt -c --statistics -o gl.gmo gl.po
514 messages traduits, 263 messages non-traduits.
rm -f eu.gmo && /usr/bin/msgfmt -c --statistics -o eu.gmo eu.po
1315 messages traduits.
rm -f nl.gmo && /usr/bin/msgfmt -c --statistics -o nl.gmo nl.po
1272 messages traduits.
rm -f ar.gmo && /usr/bin/msgfmt -c --statistics -o ar.gmo ar.po
695 messages traduits, 233 messages non-traduits.
rm -f fi.gmo && /usr/bin/msgfmt -c --statistics -o fi.gmo fi.po
833 messages traduits.
rm -f zh_CN.gmo && /usr/bin/msgfmt -c --statistics -o zh_CN.gmo zh_CN.po
881 messages traduits, 74 messages non-traduits.
rm -f zh_TW.gmo && /usr/bin/msgfmt -c --statistics -o zh_TW.gmo zh_TW.po
881 messages traduits, 74 messages non-traduits.
rm -f da.gmo && /usr/bin/msgfmt -c --statistics -o da.gmo da.po
741 messages traduits, 139 messages non-traduits.
rm -f hu.gmo && /usr/bin/msgfmt -c --statistics -o hu.gmo hu.po
1272 messages traduits.
rm -f ca.gmo && /usr/bin/msgfmt -c --statistics -o ca.gmo ca.po
1298 messages traduits, 1 traduction approximative, 16 messages non-traduits.
rm -f it_CH.gmo && /usr/bin/msgfmt -c --statistics -o it_CH.gmo it_CH.po
851 messages traduits, 198 traductions approximatives, 201 messages non-traduits                                                           .
rm -f pt_PT.gmo && /usr/bin/msgfmt -c --statistics -o pt_PT.gmo pt_PT.po
833 messages traduits.
rm -f hr.gmo && /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po
882 messages traduits.
bash-2.05b$


Thepolish
Logged
Only after the last tree has been cut down
Only after the last river has been poisoned
Only after the last fish has been caught
Only then you will find out that money cannot be eaten
(Cree Prophecy)
Pages: [1] 2