.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Freetz" wurde erstellt von mehle, 26 Feb. 2009.

  1. mehle

    mehle Mitglied

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

    Danke
    Stephan
     

    Anhänge:

  2. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Könntest du zum einen daraus nciht 1 Thema machen? Und zum anderen - da es ja zusammengehört - einen Patch?
     
  3. mehle

    mehle Mitglied

    Registriert seit:
    26 Jan. 2009
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Patch ist eingespielt (mit kleiner Änderung).

    MfG Oliver
     
  5. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist auch sinnvoll. Wenn es Probleme gibt, kann man die einzelnen Teile rückgängig machen, bis es wieder geht, und weiß dann, woher das Problem kommt.
     
  6. mehle

    mehle Mitglied

    Registriert seit:
    26 Jan. 2009
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  7. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Du baust mit IPv6 und es geht trotzdem nicht?

    MfG Oliver
     
  8. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,755
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Vielleicht besteht ein Zusammenhang zu Ticket 336 ?
    isPPPModTypePPPoE
    getPPPoEIfName
    getPPPoESessIdAndAddr
     
  9. mehle

    mehle Mitglied

    Registriert seit:
    26 Jan. 2009
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich habe gerade IPV6 Support aktiviert - selber Fehler von oben.

    Ciao
    Stephan
     
  10. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Sehe ich das richtige, dass die Extension socket standardmäßig gar nicht gebaut wird? Wie aktiviert man das?

    MfG Oliver
     
  11. mehle

    mehle Mitglied

    Registriert seit:
    26 Jan. 2009
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  12. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    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
     
  13. mehle

    mehle Mitglied

    Registriert seit:
    26 Jan. 2009
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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