Fusselbär
Makefile Voyeur
ktorrent-2.0rc1: MSG_NOSIGNAL (Solved)
Hallo,
habe da was für mich etwas zu vertracktes.
Versuche ktorrent-2.0rc1 ( http://ktorrent.org )
auf FreeBSD 5.5-STABLE i386 zu bauen.
Mit ktorrent-2.0beta1 klappte das ganz einfach,
aber nun ist neuer Code hinzugekomen: libktorrent/net
Anscheinend haben dort Anweisungen Einzug gehalten,
die auf Linux funktionieren, jedoch auf FreeBSD nicht.
Der Compiler bricht immer an folgender Stelle ab:
(sind nur die letzten Zeilen vom Zeitpunkt an,
ab dem der Compiler in das Verzeichnis mit dem neuem net Code für ktorrent wechselt)
Nach Suchmaschinen benutzen vermute ich nun folgendes:
MSG_NOSIGNAL wird auf FreeBSD so nicht benutzt,
bzw. gibt es so auf FreeBSD nicht.
Anscheinend ist bei anderen Anwendungen
so etwas ähnliches auch schon mal passiert z.B.:
- knode compilation problem: Post vom 10.09.2000
- kern/76426: Linux ABI doesn't support MSG_NOSIGNAL: 18.01.2005
Wie bringe ich nun socket.cpp in Zeile 140 bei,
antatt MSG_NOSIGNAL
das passende Äquivalent von FreeBSD zu benutzen?
Ich habe noch nie einen Patch geschrieben
und werde mich vermutlich sogar mit einem Diff schon blöde anstellen.
Aber bei anderen Ports habe ich schon gesehen,
wie solche Dateien prinzipiell aussehen,
mit einem "-" vor der Zeile, die für ungültig erklärt wird,
und einem "+" für die Zeile, die fortan genutzt werden soll.
Gruß, Fusselbär
Hallo,
habe da was für mich etwas zu vertracktes.
Versuche ktorrent-2.0rc1 ( http://ktorrent.org )
auf FreeBSD 5.5-STABLE i386 zu bauen.
Mit ktorrent-2.0beta1 klappte das ganz einfach,
aber nun ist neuer Code hinzugekomen: libktorrent/net
Anscheinend haben dort Anweisungen Einzug gehalten,
die auf Linux funktionieren, jedoch auf FreeBSD nicht.
Der Compiler bricht immer an folgender Stelle ab:
(sind nur die letzten Zeilen vom Zeitpunkt an,
ab dem der Compiler in das Verzeichnis mit dem neuem net Code für ktorrent wechselt)
Code:
gmake[3]: Entering directory `/usr/baustelle/ktorrent-port-test-2.0rc1/work/ktorrent-2.0rc1/libktorrent/net'
source='socket.cpp' object='socket.lo' libtool=yes \
depfile='.deps/socket.Plo' tmpdepfile='.deps/socket.TPlo' \
depmode=gcc3 /bin/sh ../../admin/depcomp \
/bin/sh /usr/local/bin/libtool --silent --mode=compile --tag=CXX c++ -DHAVE_CONFIG_H -I. -I. -I../.. -I./.. -I./. -I/usr/local/include -I/usr/X11R6/include -I/usr/local/include -D_THREAD_SAFE -pthread -DQT_THREAD_SUPPORT -I/usr/local/include -I/usr/local/include -I/usr/X11R6/include -D_GETOPT_H -D_THREAD_SAFE -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -pipe -march=athlon-xp -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions -c -o socket.lo `test -f 'socket.cpp' || echo './'`socket.cpp
socket.cpp: In member function `int net::Socket::send(const bt::Uint8*, int)':
socket.cpp:140: error: `MSG_NOSIGNAL' undeclared (first use this function)
socket.cpp:140: error: (Each undeclared identifier is reported only once for each function it appears in.)
gmake[3]: *** [socket.lo] Error 1
gmake[3]: Leaving directory `/usr/baustelle/ktorrent-port-test-2.0rc1/work/ktorrent-2.0rc1/libktorrent/net'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/baustelle/ktorrent-port-test-2.0rc1/work/ktorrent-2.0rc1/libktorrent'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/baustelle/ktorrent-port-test-2.0rc1/work/ktorrent-2.0rc1'
gmake: *** [all] Error 2
*** Error code 2
Stop in /usr/baustelle/ktorrent-port-test-2.0rc1.
Nach Suchmaschinen benutzen vermute ich nun folgendes:
MSG_NOSIGNAL wird auf FreeBSD so nicht benutzt,
bzw. gibt es so auf FreeBSD nicht.
Anscheinend ist bei anderen Anwendungen
so etwas ähnliches auch schon mal passiert z.B.:
- knode compilation problem: Post vom 10.09.2000
- kern/76426: Linux ABI doesn't support MSG_NOSIGNAL: 18.01.2005
Wie bringe ich nun socket.cpp in Zeile 140 bei,
antatt MSG_NOSIGNAL
das passende Äquivalent von FreeBSD zu benutzen?
Ich habe noch nie einen Patch geschrieben
und werde mich vermutlich sogar mit einem Diff schon blöde anstellen.
Aber bei anderen Ports habe ich schon gesehen,
wie solche Dateien prinzipiell aussehen,
mit einem "-" vor der Zeile, die für ungültig erklärt wird,
und einem "+" für die Zeile, die fortan genutzt werden soll.
Gruß, Fusselbär
Last edited:
Speichere die Originalversion der Datei als $filename.orig ab, und aendere dann an $filename nach Lust und Laune
Das scheint mir der (Quasi-)Standard zu sein. 
