1

Il y a quelques semaines, j'essyais de compiler un module erlang. J'ai tout juste besoin d'un compilo erlang et le tour est joué. Ceci existe sous windows.
Je tombe finalement sur le fait qu'il faut des patchs à compiler en plus. Ces patchs sont livrés qu'avec des makefiles, donc lancables que sous linux. Tout ce que ce makefile fait faire est faisable sous windows, mais il faut les faire à la main du coup... Relou.

Particularité de erlang: il faut exactement la meme version du compilo et du VM. Donc je pouvais pas les compiler sous mon linux et les utiliser sur mon windows, à moins de retélécharger d'un des deux cotés.

Et donc: je demande gentillement à un gars qui communauté erlang, s'il peut pas me les compiler et me les envoyer. Au début il est sympa, prêt à aider, et en discutant il comprend que je suis sous windows. Et REFUSE DE M'AIDER. WTFFFFF???? Il refuse de m'aider uniquement parce que j'utilise (entre autres) windows...

Y en a beaucoup de pauv' types du genre dans votre "communauté"? J'ai l'impression que oui.
Tout ce qui passe pas par le port 80, c'est de la triche.

2

onur (./1) :
Ces patchs sont livrés qu'avec des makefiles, donc lancables que sous linux.

Euh non, pas forcément! Ça marche très bien avec MSYS, un makefile, normalement. Parfois même avec mingw32-make.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

./1 Oui. neutral
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

./1 > cygwin is your friend

5

Au passage, je signale que tous les libristes ne sont pas comme ça. Personnellement, je cross-compile mes logiciels et j'envoie même des .EXE cross-compilés sur demande pour corriger des bogues.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Bah oui j'étais sur le cul que le gars me sorte ça!! Surtout que là, c'était pas du tout un problème lié à windows... c'était un "problème" (vite fait) lié au fait qu'un autre gars ait foutu un truc linux only. Donc là j'enchainais deux assholes.

Merci pour vos conseils btw.
Tout ce qui passe pas par le port 80, c'est de la triche.

7

Un makefile, ce n'est pas "Linux only".
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Je développe en Erlang (super langage au passage) et je fait des 'makefiles' sous Windows et Linux (bat et sh) comme ça c'est compilable peinard sous les deux systèmes. T'as vu où qu'il fallait la même version de la VM ? Une fois le .erl compilé en .beam, la VM s'en fout en général de savoir quel version du compilo l'a générée, du moment que la VM est récente...

Et ouais, les libristes sont assez foutage de gueule. Comprend que comme il crache sur Windows et donc qu'il n'y connait de fait rien du tout, vouloir t'aider prouverait ses lacunes. Or tout le monde le sais, les libristes sont des génies à la science infuse, s'ils ne t'aident pas, c'est pas parce qu'ils ne savent pas, c'est parce que c'est sous leur niveau d'excellence...

Kochise

PS : utilise 'C:\Program Files\Erlang\bin\erlc -W -bbeam -o.\ebin ".\src\module.erl"' depuis ton répertoire de developpement
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

9

Ahhh smile Ravi de savoir que tu t'y connais. Moi j'y connais rien, c'est pour ejabberd que j'utilise ça. "Utiliser" est un grand mot, disons qu'il arrive que je doive compiler des modules pour ejabberd avec le compilo erlang donc. D'ailleurs c'est le gars de ejabberd qui m'a dit qu'il fallait que j'ai _exactement_ les mêmes version de erlc et erl.
Tout ce qui passe pas par le port 80, c'est de la triche.

10

Tu sais à mon avis, des cons, tu en trouves sous Windows aussi, c'est pas Linux-specific, même si certains (les plus cons...) peuvent avoir une mentalité de merde...

11

onur (./9) :
D'ailleurs c'est le gars de ejabberd qui m'a dit qu'il fallait que j'ai _exactement_ les mêmes version de erlc et erl.

Michaël Remond, le gars derrière http://www.erlang-fr.org/ et http://www.process-one.net/ ? Hmmm, sûr qu'il s'y connait, mais j'ai déjà fait tourner du .beam de R10 sous VM R12 sans trop de soucis. Le tout en fait est d'avoir les bonnes librairies qui vont bien (un peu le même pb que les dll hell).

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

12

onur (./6) :
Bah oui j'étais sur le cul que le gars me sorte ça!! Surtout que là, c'était pas du tout un problème lié à windows... c'était un "problème" (vite fait) lié au fait qu'un autre gars ait foutu un truc linux only. Donc là j'enchainais deux assholes.

Merci pour vos conseils btw.

pas de log ? grin #popcorn#
avatar
納 豆パワー!
I becamed a natto!!!1!one!

13

On dirait que psi ne log pas sad
Tout ce qui passe pas par le port 80, c'est de la triche.

14

Bon.
J'arrive pas a faire marcher ce putain de module xmlrpc sous windows, ni mac os x.
Le serveur xmlrpc ecoute bien sur le port 4560, mais ca repond un string vide!!!! Et les connards du projet libriste n'en ont rien a secouer:

>>> server = xmlrpclib.ServerProxy("http://localhost:4560",verbose=True)
>>> server.echothis("dskjf")
send: 'POST /RPC2 HTTP/1.0\r\nHost: localhost:4560\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 157\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>echothis</methodName>\n<params>\n<param>\n<value><string>dskjf</string></value>\n</param>\n</params>\n</methodCall>\n"
reply: ''
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xmlrpclib.py", line 1199, in __call__
return self.__send(self.__name, args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xmlrpclib.py", line 1489, in __request
verbose=self.__verbose
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xmlrpclib.py", line 1243, in request
headers
xmlrpclib.ProtocolError: <ProtocolError for localhost:4560/RPC2: -1 >


Quelqu'un a une idee de comment debugger cette merde?
Tout ce qui passe pas par le port 80, c'est de la triche.

15

Code un bugfix, fais ton fork de xmlrpc, implémente ton bugfix.

Et fais un doigt d'honneur aux mainteneurs originaux.
Trout are freshwater fish and have under water weapons.
Trout are very valuable and immensely powerful.
Keep away from the trout.
Why should it mean that the fish in the sea are all unable to sing? Fish fish fish fish fish.
I wish that I could get my hands on a dozen fish!

16

Nan parce qu'il est obligé de contribuer/communiquer/retourner la modif si le projet original est en GPL, donc pas de doigt d'honneur, sauf d'être celui qui a corrigé le bug...

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

17

Kochise (./16) :
il est obligé de contribuer/communiquer/retourner la modif si le projet original est en GPL

Il est obligé de publier sous GPL. Le reste, t'as vu ça où ?

18

!call gens qui
--- Call : gens qui n'existe pas !
sy connaissent en erlang

je voudrais debugger le module qui ferme la connexion http trop rapidement (sous os x et windows mais pas sous linux)
Tout ce qui passe pas par le port 80, c'est de la triche.

19

Pas de bol, c'est des gens qui n'existent pas
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

20

Tu veux débugger le module inets ? Ou c'est un module perso à toi ?

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

21

Je veux debugger ce module:
https://forge.process-one.net/browse/ejabberd-modules/ejabberd_xmlrpc/trunk/src/ejabberd_xmlrpc.erl?r=HEAD
qui n'est pas de moi.


Sur la machine qui marche pas:
new-host:~ onur$ telnet 127.0.0.1 4560
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
POST / HTTP/1.1
Content-Length: 140
User-Agent: Erlang XML-RPC Client 1.13
Content-Type: text/xml
Connection: close

<?xml version="1.0"?><methodCall><methodName>echothis</methodName><params><param><value><int>800</int></value></param></params></methodCall>
Connection closed by foreign host.



Sur la machine qui marche:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
POST / HTTP/1.1
Content-Length: 140
User-Agent: Erlang XML-RPC Client 1.13
Content-Type: text/xml
Connection: close

<?xml version="1.0"?><methodCall><methodName>echothis</methodName><params><param><value><int>800</int></value></param></params></methodCall>
HTTP/1.1 200 OK
Content-Length: 115
Server: Erlang/1.13
Content-Type: text/xml
Connection: close

<?xml version="1.0"?><methodResponse><params><param><value><int>800</int></value></param></params></methodResponse>Connection closed by foreign host.


et le truc c'est que j'ai rien dans les logs de ejabberd. Je voudrais ajouter des debug.log (enfin leur equivalent) mais je sais meme pas comment on fait ca.
A noter que si je mets trop de temps a entrer le post, j'obtiens bien un log dans ejabberd.log:=ERROR REPORT==== 2009-11-04 00:09:33 ===
{tcp_serv,139,{xmlrpc_http,handler,timeout}}

En gros je veux juste comprendre pourquoi ca m'envoie un p**** de string vide.
Tout ce qui passe pas par le port 80, c'est de la triche.

22

Déjà si t'as une machine qui fonctionne, c'est que ce n'est pas forcément le code qui est fautif. Ensuite faut voir pourquoi tu as un "Connection closed by foreign host" donc que c'est la machine en face qui t'as envoyée paître. En problème de firewall peut être (port 4560) ?

Sinon dans 'erl', essaye :

1> c(ejabberd_xmlrpc, [debug_info]). % ajoute les infos de debug
2> im(). % démarre le débuggeur graphique
3> ii(ejabberd_xmlrpc). % interprete le module ejabberd_xmlrpc hors de la VM
4> iaa([init]). % attache le débuggeur au processus interpreté
5> ejabberd_xmlrpc:... % utilisation du module ejabberd_xmlrpc jusqu'à la première erreur

ou

1> debugger:start("ejabberd_xmlrpc.erl") % utilisation directe du module debugger

Sinon essaye http://www.erlang.org/doc/pdf/debugger.pdf ou http://www.erlang.org/doc/man/i.html pour des infos sur le debug en général, ça aide smile

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/