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

install of ktorrent 4.1 to RHEL 6.0

Tags: None
(comma "," separated)
helikaon
Registered Member
Posts
5
Karma
0

install of ktorrent 4.1 to RHEL 6.0

Thu Mar 24, 2011 4:40 pm
Hi guys,
need some help to point in right direction ... want to install ktorrent 4.1 because there is no torrent client in the RHEL 6.0.

What i did and results:

1. made dir and downloaded source:
mkdir /root/ktorrent-build
cd /root/ktorrent-build

wget -c http://ktorrent.org/downloads/4.1.0/kto ... .0.tar.bz2
wget -c http://ktorrent.org/downloads/4.1.0/lib ... .0.tar.bz2

tar -xjvf ktorrent-4.1.0.tar.bz2
tar -xjvf libktorrent-1.1.0.tar.bz2

2. installed packages that it required to compile:

yum install cmake
yum install rpm-build.x86_64
yum install kdelibs-devel.x86_64
yum install gcc*
yum install gmp gmp-devel
yum install boost boost-devel
yum install kdepim-libs.x86_64 kdepim.x86_64 kdepimlibs.x86_64 kdepim-devel.x86_64 kdepimlibs-devel.x86_64

3. continued in install of libktorrent library according to the ktorrent faq
cd /root/ktorrent-build/libktorrent-1.1.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..

4. result (i can not pass beyond this):

[root@rhel60 build]# cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
-- Found Qt-Version 4.6.2 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
CMake Warning (dev) at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:436 (include):
A logical block opening on the line

/usr/share/kde4/apps/cmake/modules/KDELibsDependencies.cmake:3 (if)

closes on the line

/usr/share/kde4/apps/cmake/modules/KDELibsDependencies.cmake:5 (endif)

with mis-matching arguments.
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindKDE4.cmake:81 (FIND_PACKAGE)
CMakeLists.txt:3 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Phonon Version: 4.3.1
-- Found KDE 4.3 include dir: /usr/include/kde4
-- Found KDE 4.3 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:57 (MESSAGE):
Could NOT find QCA2 (missing: QCA2_LIBRARIES QCA2_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/kde4/apps/cmake/modules/FindQCA2.cmake:44 (find_package_handle_standard_args)
CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!

5. i checked and have qca2 installed - and those 2 packages provides following files:

[root@rhel60 build]# rpm -ql qca-ossl.x86_64
/usr/lib64/qt4/plugins/crypto
/usr/lib64/qt4/plugins/crypto/libqca-ossl.so
/usr/share/doc/qca-ossl-2.0.0
/usr/share/doc/qca-ossl-2.0.0/COPYING
/usr/share/doc/qca-ossl-2.0.0/README
[root@rhel60 build]# rpm -ql qca2.x86_64
/usr/bin/qcatool2
/usr/lib64/libqca.so.2
/usr/lib64/libqca.so.2.0
/usr/lib64/libqca.so.2.0.2
/usr/share/doc/qca2-2.0.2
/usr/share/doc/qca2-2.0.2/COPYING
/usr/share/doc/qca2-2.0.2/README
/usr/share/doc/qca2-2.0.2/TODO
/usr/share/man/man1/qcatool2.1.gz


6.
any help appreciated, can i somehow specify those QCA2_LIBRARIES QCA2_INCLUDE_DIR variables manually, but where?
At some topic i found i should have present file :
/usr/lib64/pkgconfig/qca2.pc
but this file is not on my system and no package provides it ....

Thank You for any tips
helikaon
Registered Member
Posts
5
Karma
0
Ok guys, i got further here:

The Could NOT find QCA2 (missing: QCA2_LIBRARIES QCA2_INCLUDE_DIR) meant that qca2-devel was not present.
Strange is, its not in the base RHEL 6.0 repository available, not even the *src.rpm!

7. download & install qca2-devel
wget -c http://ftp.redhat.com/pub/redhat/rhel/b ... x86_64.rpm

rpm -Uvh qca2-devel-2.0.2-2.1.el6.x86_64.rpm

cd /root/ktorrent-build/libktorrent-1.1.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBGCRYPT_INCLUDE_DIR
used as include directory in directory /root/ktorrent-build/libktorrent-1.1.0/src
used as include directory in directory /root/ktorrent-build/libktorrent-1.1.0/src/torrent
used as include directory in directory /root/ktorrent-build/libktorrent-1.1.0/src/torrent/tests

will try to set them ...

8.
yum install libgcrypt.x86_64 libgcrypt-devel.x86_64

finally success:
-- Build files have been written to: /root/ktorrent-build/libktorrent-1.1.0/build

9. STUCK again:
make

results in:
...
...
[ 0%] Built target ktorrent_automoc
Scanning dependencies of target ktorrent
[ 0%] Building CXX object src/CMakeFiles/ktorrent.dir/ktorrent_automoc.o
[ 0%] Building CXX object src/CMakeFiles/ktorrent.dir/util/bitset.o
[ 1%] Building CXX object src/CMakeFiles/ktorrent.dir/util/timer.o
[ 1%] Building CXX object src/CMakeFiles/ktorrent.dir/util/urlencoder.o
[ 1%] Building CXX object src/CMakeFiles/ktorrent.dir/util/sha1hashgen.o
[ 2%] Building CXX object src/CMakeFiles/ktorrent.dir/util/sha1hash.o
[ 2%] Building CXX object src/CMakeFiles/ktorrent.dir/util/functions.o
/root/ktorrent-build/libktorrent-1.1.0/src/util/functions.cpp: In function ‘QString bt::BytesToString(bt::Uint64)’:
/root/ktorrent-build/libktorrent-1.1.0/src/util/functions.cpp:274: error: no matching function for call to ‘KLocale::formatByteSize(bt::Uint64&, int)’
/usr/include/kde4/klocale.h:479: note: candidates are: QString KLocale::formatByteSize(double) const
/root/ktorrent-build/libktorrent-1.1.0/src/util/functions.cpp: In function ‘QString bt::BytesPerSecToString(double)’:
/root/ktorrent-build/libktorrent-1.1.0/src/util/functions.cpp:280: error: no matching function for call to ‘KLocale::formatByteSize(double&, int)’
/usr/include/kde4/klocale.h:479: note: candidates are: QString KLocale::formatByteSize(double) const
make[2]: *** [src/CMakeFiles/ktorrent.dir/util/functions.o] Error 1
make[1]: *** [src/CMakeFiles/ktorrent.dir/all] Error 2
make: *** [all] Error 2


Now i'm i guess stuck for good, since this is some incompatibility with the RHEL 6.0 KDE desktop ... if anyone can advice, i'd appreciate .. .
George
Moderator
Posts
5421
Karma
1
Your KDE version is to old. You need at least 4.4.
helikaon
Registered Member
Posts
5
Karma
0
George wrote:Your KDE version is to old. You need at least 4.4.

Thanks for pointing this out. I'll try different approach, will try download fedora 12 ktorrent*.src.rpm package and recompile it.
helikaon
Registered Member
Posts
5
Karma
0
Hello guys,
anyone could recommend me the version of ktorrent (to download source and compile) to be compatible with this KDE4 version? :

yum list all | grep -i kdebase
kdebase.x86_64 6:4.3.4-4.el6

4.1 is apparently too high for 4.3 KDE, but which is the highest possible to compile against?

I tried to compile it from *src.rpm packages of Fedora 11,12,13,14 - but no help, i end up in dependency hell, because RHEL 6 packages tree is simply different from Fedora too much for this....
helikaon
Registered Member
Posts
5
Karma
0
Ok, finally i went with ktorrent 3.3.4:

My environment is pure upstream RHEL 6.0 64b:

uname -a
Linux rhel60 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Along the way:
-compiled 4.1 ktorrent with no success - need at least KDE 4.4 (as all versions above ktorrent 4.x)
- tried to recompile src.rpm packages from fedora core 11,12,13,14 and 'no-go' either, since pakages 'dependency hell', the package tree is different too much in RHEL 6 ...

- had success after i went down to 3.3.4 ktorrent version from source:

1.
install packages needed during build in various steps:

Code:
yum install cmake rpm-build.x86_64 kdelibs-devel.x86_64 gcc* gmp gmp-devel boost boost-devel libgcrypt.x86_64 libgcrypt-devel.x86_64



2. download from Red Hat ftp site qca2-devel package by hand, because its not in standard RHEL 6.0 repo - dont know why:

Code:
wget -c http://ftp.redhat.com/pub/redhat/rhel/beta/6/optional/x86_64/os/Packages/qca2-devel-2.0.2-2.1.el6.x86_64.rpm

rpm -Uvh qca2-devel-2.0.2-2.1.el6.x86_64.rpm



3. download from Fedora 12 site the Globalip src.rpm - needed for one module in ktorrent and again not present in the RHEL repository ...:

Code:
wget -c http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/GeoIP-1.4.7-0.1.20090931c%20vs.fc12.src.rpm
rpmbuild --rebuild GeoIP-1.4.7-0.1.20090931cvs.fc12.src.rpm
rpm -ivh /root/rpmbuild/RPMS/x86_64/GeoIP-1.4.7-0.1.20090931cvs.el6.x86_64.rpm
rpm -ivh /root/rpmbuild/RPMS/x86_64/GeoIP-devel-1.4.7-0.1.20090931cvs.el6.x86_64.rpm



4.
now we can proceed to build of ktorrent itself:

Code:
mkdir -p /root/ktorrent-build/
cd /root/ktorrent-build/
wget -c http://ktorrent.org/downloads/3.3.4/ktorrent-3.3.4.tar.bz2
tar -xvjf ktorrent-3.3.4.tar.bz2
cd ktorrent-3.3.4
mkdir build
cd build

cmake -DENABLE_BWSCHEDULER_PLUGIN=ON -DENABLE_DOWNLOADORDER_PLUGIN=ON -DENABLE_INFOWIDGET_PLUGIN=ON -DWITH_SYSTEM_GEOIP=ON -DENABLE_IPFILTER_PLUGIN=ON -DENABLE_SCRIPTING_PLUGIN=ON -DENABLE_LOGVIEWER_PLUGIN=ON -DENABLE_MAGNETGENERATOR_PLUGIN=ON -DENABLE_MEDIAPLAYER_PLUGIN=ON -DENABLE_SYNDICATION_PLUGIN=ON -DENABLE_SCANFOLDER_PLUGIN=ON -DENABLE_SEARCH_PLUGIN=ON -DENABLE_SHUTDOWN_PLUGIN=ON -DENABLE_STATS_PLUGIN=ON -DENABLE_UPNP_PLUGIN=ON -DENABLE_WEBINTERFACE_PLUGIN=ON -DENABLE_ZEROCONF_PLUGIN=ON -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..



We should get result like this:
-- Build files have been written to: /root/ktorrent-build/ktorrent-3.3.4/build

5.
almost done

Code:
make
make install

Done!

Anyone welcome to comment or suggest better way... btw. clear way would be to create 'spec' file and create rpm package, but to create spec file means hours work - at least for me :-)
imported4-Sam
Registered Member
Posts
22
Karma
0
In CentOS 6.2, ktor 3.3.4 is in epel: mirrors.servercentral.net

pointless though.

I've added what I've gotten so far to compile libktorrent-1.2.0 to http://ktorrent.org/wiki/index.php/FAQ# ... _depend.3F

I'll post back here if I ever get Kt 4.2 to compile.


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]