This forum has been archived. All content is frozen. Please use KDE Discuss instead.

ktorrent 2.0 and 2.1 fail to build on solaris x86

Tags: None
(comma "," separated)
skolnick
Registered Member
Posts
13
Karma
0
Hi!

I'm trying to build ktorrent on my solaris x86 PC, but it fails:

Code: Select all
In file included from libtorrent_la.all_cpp.cpp:9:
peer.cpp: In member function `void bt::Peer::update()':
peer.cpp:398: warning: unused variable 'non_data_bytes'
In file included from ./../kademlia/rpccall.h:25,
                 from ./../kademlia/task.h:24,
                 from ./../kademlia/dhttrackerbackend.h:24,
                 from tracker.cpp:29,
                 from libtorrent_la.all_cpp.cpp:12:
./../kademlia/rpcmsg.h: At global scope:
./../kademlia/rpcmsg.h:63: error: expected unqualified-id before numeric constant
In file included from libtorrent_la.all_cpp.cpp:13:
downloader.cpp: In member function `void bt::Downloader::normalUpdate()':
downloader.cpp:162: warning: comparison between signed and unsigned integer expressions
In file included from libtorrent_la.all_cpp.cpp:26:
uploadcap.cpp:45:7: warning: no newline at end of file
In file included from libtorrent_la.all_cpp.cpp:27:
packetreader.cpp: In member function `bt::Uint32 bt::PacketReader::newPacket(bt::Uint8*, bt::Uint32)':
packetreader.cpp:149: warning: comparison between signed and unsigned integer expressions
In file included from httptracker.cpp:20,
                 from libtorrent_la.all_cpp.cpp:30:
../../config.h:187:1: warning: "_FILE_OFFSET_BITS" redefined
In file included from /opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/include/stdio.h:36,
                 from ./../util/file.h:23,
                 from bencoder.h:24,
                 from bencoder.cpp:20,
                 from libtorrent_la.all_cpp.cpp:2:
/usr/include/sys/feature_tests.h:188:1: warning: this is the location of the previous definition
In file included from libtorrent_la.all_cpp.cpp:36:
downloadcap.cpp:43:7: warning: no newline at end of file
In file included from libtorrent_la.all_cpp.cpp:45:
queuemanager.cpp: In member function `void bt::QueueManager::orderQueue()':
queuemanager.cpp:386: warning: comparison between signed and unsigned integer expressions
queuemanager.cpp:402: warning: comparison between signed and unsigned integer expressions
In file included from libtorrent_la.all_cpp.cpp:50:
cap.cpp:123:7: warning: no newline at end of file
cachefile.cpp: At global scope:
cachefile.cpp:374: warning: unused parameter 'prealloc'
newchokealgorithm.cpp:229: warning: unused parameter 'cman'
newchokealgorithm.cpp:229: warning: unused parameter 'stats'
newchokealgorithm.cpp:59: warning: unused parameter 'cman'
newchokealgorithm.cpp:59: warning: unused parameter 'stats'
queuemanager.cpp:82: warning: unused parameter 'user'
peer.cpp:357: warning: unused parameter 'bytes'
peer.cpp:329: warning: unused parameter 'proto'
make[3]: *** [libtorrent_la.all_cpp.lo] Error 1
make[3]: Leaving directory `/temp/ktorrent-2.0/libktorrent/torrent'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/temp/ktorrent-2.0/libktorrent'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/temp/ktorrent-2.0'
make: *** [all] Error 2
[root@deathstar ktorrent-2.0]#


the error is exactly the same on both versions. The culprit line seems to be this one: kademlia/rpcmsg.h:63

Here is the line 63 on file rpcmsg.h:
Code: Select all
    58          const QString TID = "t";
    59          const QString REQ = "q";
    60          const QString RSP = "r";
    61          const QString TYP = "y";
    62          const QString ARG = "a";
    63          const QString ERR = "e";
    64
    65          /**
    66           * Base class for all RPC messages.
    67          */

When I comment out the line 63, the compilation gets further, but it fails later with a different error (something about ambiguous operator== methods)

Any ideas how to make ktorrent compile on solaris? Here are the versions:
Code: Select all
[root@deathstar ktorrent-2.0]# kde-config --version
Qt: 3.3.4
KDE: 3.4.1
kde-config: 1.0
[root@deathstar ktorrent-2.0]#


Thnaks for any help
George
Moderator
Posts
5421
Karma
1

Mon Feb 26, 2007 6:23 pm
I'm thinking the ERR constant is defined as a macro somewhere else in some header file and this causes some conflicts.

I'll change the name into something else, hopefully this will fix it.

EDIT: ERR is only used in rpcmsg.cpp and rpcmsg.h, so try changing ERR into something else in those files, and hopefully it compiles.
skolnick
Registered Member
Posts
13
Karma
0

Tue Feb 27, 2007 10:31 pm
Hi!

Thanks for the tip, it worked fine for ktorrent 2.1. For 2.0 additional tricks had to be done. However, in both versions ktorrent crashes after a few minutes running. What can I do to discover the cause of the crash?

Thanks.
George
Moderator
Posts
5421
Karma
1

Wed Feb 28, 2007 6:24 pm
skolnick wrote:Hi!

Thanks for the tip, it worked fine for ktorrent 2.1. For 2.0 additional tricks had to be done. However, in both versions ktorrent crashes after a few minutes running. What can I do to discover the cause of the crash?

Thanks.


If you can provide us with a backtrace, it should help us pinpoint the problem.

EDIT: I have also replaced ERR by ERR_DHT


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]