[PATCH] Ruby: socket.so kompiliert nicht (gelöst)

mehle

Mitglied
Mitglied seit
26 Jan 2009
Beiträge
273
Punkte für Reaktionen
0
Punkte
0
bitte spielt angehängten Patch ein, da ansonsten socket.so (require 'socket') nicht kompiliert.

Danke
Stephan
 

Anhänge

  • ruby-1.patch.bz2
    258 Bytes · Aufrufe: 2
Könntest du zum einen daraus nciht 1 Thema machen? Und zum anderen - da es ja zusammengehört - einen Patch?
 
Ok, das nächste Mal. Ich komme aber aus der Linux Kernel-Entwicklung - da will man alles sauber aufgedröselt haben und einzelne Patches für jeden abgeschlossenen Gedankengang.

Ciao
Stephan
 
Patch ist eingespielt (mit kleiner Änderung).

MfG Oliver
 
Ich glaube nicht, daß dein Patch so richtig ist. Das Problem ist, daß standardmäßig IPv6 genommen wird, aber die ulibc scheinbar irgend eine kaputte Implementierung hat. Socket.so kann nur mit --disable-ipv6 kompiliert werden.

Oder man folgt der Fehlermeldung und versucht, zusätzliche Optionen anzugeben:

Fatal: --enable-ipv6 is specified, and your OS seems to support IPv6 feature.
But your getaddrinfo() and getnameinfo() are appeared to be broken. Sorry,
you cannot compile IPv6 socket classes with broken these functions.
You can try --enable-wide-getaddrinfo.

Ciao
Stephan
 
Du baust mit IPv6 und es geht trotzdem nicht?

MfG Oliver
 
Vielleicht besteht ein Zusammenhang zu Ticket 336 ?
isPPPModTypePPPoE
getPPPoEIfName
getPPPoESessIdAndAddr
 
ich habe gerade IPV6 Support aktiviert - selber Fehler von oben.

Ciao
Stephan
 
Sehe ich das richtige, dass die Extension socket standardmäßig gar nicht gebaut wird? Wie aktiviert man das?

MfG Oliver
 
Make versucht die immer zu bauen - suche nach "compiling socket" im make - Aufruf.

Aber ohne dem --disable-ipv6 geht es halt nicht.

Wenn es kompiliert wird, findest du das Resultat in source/ruby-1.8.6/.ext/mipsel-linux/socket.so.

Wichtig: NICHT socket in ext/Setup aktivieren!

Ciao
Stephan
 
Bei mir wird das nicht mitgebaut.

Code:
make[2]: Verlasse Verzeichnis '/home/oliver/fritzbox/freetz/trunk/source/ruby-1.8.6/ext/sdbm'
compiling socket
make[2]: Betrete Verzeichnis '/home/oliver/fritzbox/freetz/trunk/source/ruby-1.8.6/ext/socket'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Verlasse Verzeichnis '/home/oliver/fritzbox/freetz/trunk/source/ruby-1.8.6/ext/socket'
compiling stringio
make[2]: Betrete Verzeichnis '/home/oliver/fritzbox/freetz/trunk/source/ruby-1.8.6/ext/stringio'
/home/oliver/fritzbox/freetz/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -I. -I../.. -I../../. -I../.././ext/stringio  -fPIC -Os -pipe -march=4kc -Wa,--trap
/home/oliver/fritzbox/freetz/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -shared -rdynamic -Wl,-export-dynamic   -L'../..' -o ../../.ext/mipsel-linux/stringi
make[2]: Verlasse Verzeichnis '/home/oliver/fritzbox/freetz/trunk/source/ruby-1.8.6/ext/stringio'
compiling strscan
MfG Oliver
 
Jetzt bin ich aber irritiert - wenn ich --disable-ipv6 beim configure angebe, wird es bei mir kompiliert.

Ich habe gerade nochmal source/ruby-1.8.6, packages/.ruby-1.8.6 und packages/ruby-1.8.6 gelöscht und danach ein make gemacht:

Code:
compiling socket
make[2]: Entering directory `/home/sm/hacking/trunk/source/ruby-1.8.6/ext/socket'
/home/sm/hacking/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -I. -I../.. -I../../. -I../.././ext/socket -DHAVE_ARPA_INET_H -DHAVE_SOCKADDR_STORAGE -DHAVE_NETINET_TCP_H -DHAVE_NETINET_UDP_H -DHAVE_SENDMSG -DHAVE_RECVMSG -DHAVE_ST_MSG_CONTROL -DHAVE_INET_NTOP -DHAVE_INET_PTON -DHAVE_GETSERVBYPORT -DHAVE_ARPA_NAMESER_H -DHAVE_RESOLV_H -DHAVE_TYPE_SOCKLEN_T -DHAVE_SYS_UN_H -DHAVE_SYS_UIO_H -DHAVE_SOCKET -DHAVE_GETHOSTBYNAME2 -DHAVE_SOCKETPAIR -DHAVE_GETHOSTNAME -I.  -fPIC -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c socket.c
/home/sm/hacking/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -I. -I../.. -I../../. -I../.././ext/socket -DHAVE_ARPA_INET_H -DHAVE_SOCKADDR_STORAGE -DHAVE_NETINET_TCP_H -DHAVE_NETINET_UDP_H -DHAVE_SENDMSG -DHAVE_RECVMSG -DHAVE_ST_MSG_CONTROL -DHAVE_INET_NTOP -DHAVE_INET_PTON -DHAVE_GETSERVBYPORT -DHAVE_ARPA_NAMESER_H -DHAVE_RESOLV_H -DHAVE_TYPE_SOCKLEN_T -DHAVE_SYS_UN_H -DHAVE_SYS_UIO_H -DHAVE_SOCKET -DHAVE_GETHOSTBYNAME2 -DHAVE_SOCKETPAIR -DHAVE_GETHOSTNAME -I.  -fPIC -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c getaddrinfo.c
/home/sm/hacking/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -I. -I../.. -I../../. -I../.././ext/socket -DHAVE_ARPA_INET_H -DHAVE_SOCKADDR_STORAGE -DHAVE_NETINET_TCP_H -DHAVE_NETINET_UDP_H -DHAVE_SENDMSG -DHAVE_RECVMSG -DHAVE_ST_MSG_CONTROL -DHAVE_INET_NTOP -DHAVE_INET_PTON -DHAVE_GETSERVBYPORT -DHAVE_ARPA_NAMESER_H -DHAVE_RESOLV_H -DHAVE_TYPE_SOCKLEN_T -DHAVE_SYS_UN_H -DHAVE_SYS_UIO_H -DHAVE_SOCKET -DHAVE_GETHOSTBYNAME2 -DHAVE_SOCKETPAIR -DHAVE_GETHOSTNAME -I.  -fPIC -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c getnameinfo.c
/home/sm/hacking/trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -shared -rdynamic -Wl,-export-dynamic   -L'../..' -o ../../.ext/mipsel-linux/socket.so socket.o getaddrinfo.o getnameinfo.o  -ldl -lcrypt -lm   -lc

Ciao
Stephan
 

Statistik des Forums

Themen
246,300
Beiträge
2,249,714
Mitglieder
373,904
Neuestes Mitglied
Elemir
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.