
My preferred twitter client is
choqok. Recently the Fedora yum installed version stopped working because it had not been updated from using twitters API v1.0 which is now
retired, and it can not longer authenticate accounts. After waiting for more than a week to see if a new version would be built for Fedora, I have decided to build a version from the development source. Below are the basic instructions for doing this, as well as a complete description of how I worked out what to do.
Basic instructions for building choqok from source
On Fedora 18:
$ su -c "yum install cmake kdelibs-devel qjson-devel qca2-devel qoauth-devel"
...
$ su -c "yum remove choqok"
...
$ cd
$ git clone git://anongit.kde.org/choqok
...
$ cd choqok
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
...
$ make
...
$ su -c "make install"
...
I did need to re-authenticate my account for some reason.
How I worked out what to do
I went to the choqok repository page, which helpfully gives the git command for downloading the latest development source. I executed this command from my home directory.
$ cd
$ git clone git://anongit.kde.org/choqok
Cloning into 'choqok'...
...
$
This created a choqok directory in my home directory. Changing into it, I found a read me file.
$ cd choqok
$ ls
AUTHORS choqok CMakeLists.txt doc icons libchoqok microblogs README
changelog cmake COPYING helperlibs images Messages.sh plugins TODO
$ cat README
...
How To Build The Project
-=-=-=-=-=-=-=-=-=-=-=-=-=
$ cd choqok-src-root-dir [It's choqok-VERSION]
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
$ make
$ sudo make install OR su -c 'make install'
...
After a bit of trial and error I decided that the "cd choqok-src-root-dir" meant the one we had already changed to, i.e. the current one. So I created build and changed into it and ran the cmake command.
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
bash: cmake: command not found...
Similar command is: 'make'
$
So I needed to install cmake.
$ su -c "yum install cmake"
Password:
...
Installed:
cmake.x86_64 0:2.8.11-1.fc18
Complete!
$
Try again.
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
...
CMake Error at /usr/share/cmake/Modules/FindKDE4.cmake:98 (message):
ERROR: cmake/modules/FindKDE4Internal.cmake not found in
/home/steve/.kde/share/apps;/usr/share/kde-settings/kde-profile/default/share/apps;/usr/share/kde4/apps
Call Stack (most recent call first):
CMakeLists.txt:3 (find_package)
-- Configuring incomplete, errors occurred!
$
It looks like I missing FindKDE4Internal.cmake. Is it part of a package?
$ su -c "yum provides */FindKDE4Internal.cmake"
Password:
...
6:kdelibs-devel-4.9.4-4.fc18.x86_64 : Header files for compiling KDE 4 applications
Repo : fedora
Matched from:
Filename : /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake
...
$
So I need kdelibs-devel.
$u -c "yum install kdelibs-devel"
Password:
...
Installed:
kdelibs-devel.x86_64 6:4.10.4-1.fc18
Dependency Installed:
attica-devel.x86_64 0:0.4.0-2.fc18 automoc.x86_64 0:1.0-0.17.rc3.fc18
phonon-devel.x86_64 0:4.6.0-5.fc18 qt-devel.x86_64 1:4.8.4-17.fc18
qtwebkit-devel.x86_64 0:2.3.1-1.fc18 shared-desktop-ontologies-devel.noarch 0:0.10.0-3.fc18
soprano-devel.x86_64 0:2.9.2-1.fc18
Complete!
$
So we try a third time.
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
...
-- checking for module 'QJson'
-- package 'QJson' not found
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find QJson (missing: QJSON_LIBRARY QJSON_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindQJson.cmake:35 (find_package_handle_standard_args)
CMakeLists.txt:13 (find_package)
-- Configuring incomplete, errors occurred!
$
Although it says I'm missing the QJson package, I know I have it. But I probably need the development package.
$ su -c "yum install qjson-devel"
Password:
...
Installed:
qjson-devel.x86_64 0:0.8.1-1.fc18
Complete!
$
Once more.
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
...
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find QCA2 (missing: QCA2_LIBRARIES QCA2_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
/usr/share/kde4/apps/cmake/modules/FindQCA2.cmake:44 (find_package_handle_standard_args)
CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
$
Now we seem to need a QCA2 library.
$ su -c "yum info QCA2"
Password:
Loaded plugins: langpacks, presto, refresh-packagekit
Installed Packages
Name : qca2
...
$
Although it shows as installed, their's probably a development package.
$ su -c "yum install qca2-devel"
Password:
...
Installed:
qca2-devel.x86_64 0:2.0.3-4.fc18
Complete!
$
Again.
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
...
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find QtOAuth (missing: QTOAUTH_LIBRARY QTOAUTH_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindQtOAuth.cmake:34 (find_package_handle_standard_args)
CMakeLists.txt:15 (find_package)
-- Configuring incomplete, errors occurred!
$
Right, we need QtOAuth. What provides it?
$ su -c "yum provides */QtOAuth"
Password:
...
qoauth-devel-1.0.1-4.fc18.x86_64 : Development files for the Qt OAuth support library
Repo : fedora
Matched from:
Filename : /usr/include/QtOAuth/QtOAuth
Filename : /usr/include/QtOAuth
$
Install it.
$ su -c "yum install qoauth-devel"
...
Installed:
qoauth-devel.x86_64 0:1.0.1-4.fc18
Complete!
$
Maybe this time.
$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
-- Found Qt-Version 4.8.4 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found KDE 4.10 include dir: /usr/include/kde4
-- Found KDE 4.10 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
-- Found QtOAuth: /usr/lib64/libqoauth.so
-- checking for module 'indicate-qt'
-- package 'indicate-qt' not found
-- Could NOT find QtIndicate (missing: QTINDICATE_LIBRARY)
-- Optional dependency libindicate-qt not found: Won't support notifications via indicator
-- Found LibAttica: /usr/lib64/libattica.so (found suitable version "0.4.0", minimum required is "0.1.0")
-- FOUND LibAttica: Will build "Open Collaboration Services" plugin
-- Configuring done
-- Generating done
-- Build files have been written to: /home/steve/choqok/build
$
At last. Now we can run make - this takes a bit of time.
$ make
...
[ 99%] Building CXX object microblogs/ocs/CMakeFiles/choqok_ocs.dir/ocsconfigurewidget.o
Linking CXX shared module ../../lib/choqok_ocs.so
[ 99%] Built target choqok_ocs
Scanning dependencies of target doc-handbook
[100%] Generating index.cache.bz2
[100%] Built target doc-handbook
$
Before installing I remove the previously installed choqok package. Not sure this is necessary, but I think it keeps things cleaner.
$ su -c "yum remove choqok"
Password:
...
Removed:
choqok.x86_64 0:1.3-3.fc18
Dependency Removed:
choqok-libs.x86_64 0:1.3-3.fc18
Complete!
$
Now to install it.
$ su -c "make install"
Password:
...
-- Installing: /usr/share/doc/HTML/en/choqok/choqok_quick.png
-- Installing: /usr/share/doc/HTML/en/choqok/choqok.png
-- Installing: /usr/share/doc/HTML/en/choqok/add_account.png
$
Then I fired it up and it worked, but I needed to re-authenticate my account.
Awesome, great work, saved my brain exploding looking for the lib I was missing! :)
ReplyDelete