I thought I'd try to get Kobo Desktop running on my Fedora 14 x64 system. After a little fiddling I got it running as per the instructions below. It detects the Kobo, browsing the store works, etc. I haven't tried actually syncing.
I don't recommend trying all this unless you're reasonable comfy with Linux, and I ask that if you try it you make VERY SURE to clearly explain your unusual setup if you mention any issues with it on these forums.
First, create /opt/kobodesktop and grant ownership of it to your normal account. That is the LAST operation you should have to perform as root or using sudo:
sudo mkdir /opt/kobodesktop && sudo chown `whoami` /opt/kobodesktop
From now on, you do everything as your normal user. All effects are confined to /opt/kobodesktop, which you can delete at any time.
cd into the newly created /opt/kobodesktop and extract the contents of the deb archive and then data.tar.gz within it:
cd /opt/kobodesktop
ar x ~/Downloads/kobo-desktop.deb
tar xzf data.tar.gz
rm control.tar.gz data.tar.gz debian-binary
You will now have a directory tree containing the "usr/bin/Kobo" wrapper script, "usr/share/applications/Kobo.desktop" launcher icon, and "usr/local/{Kobo,Trolltech}" containing the app code.
If you're running Fedora x64 you now need to install the core 32-bit userspace using yum. I had to install the additional package libzip.i686 to satisfy dependencies of Qt and the Kobo application. If you don't already have a 32-bit userspace you'll need to install glibc.i686, libX11.i686 and probably other packages to provide a minimal 32-bit runtime. Use `ldd' to determine which libraries are missing - see below.
The Kobo app (or Qt) depend on OpenSSL 0.9.8 while Fedora ships OpenSSL 1.0. Building 32-bit binaries on FC14 is a real pain, because FC14 doesn't provide a native 32-bit gcc or a 64-bit gcc that cross compiles to emit 32-bit binaries. I located an OpenSSL 0.9.8 rpm from Fedora 11, the last release that shipped 0.9.8 (
http://archives.fedoraproject.org/pu....fc11.i686.rpm). I cd'd to the directory I'd unpacked the Kobo Desktop deb into and unpacked it there with:
cd /opt/kobodesktop
rpm2cpio ../openssl-0.9.8k-1.fc11.i686.rpm | cpio -idmv
ln -s libssl.so.0.9.8k usr/lib/libssl.so.0.9.8
ln -s libcrypto.so.0.9.8k usr/lib/libcrypto.so.0.9.8
(Do **NOT** run this as root, or from your root directory (/), because it will overwrite the system libssl and cripple your system. Run it with your current directory as /opt/kobodesktop ).
I can now add that openssl to my LD_LIBRARY_PATH when invoking the Kobo Desktop app, along with its own directory and the TrollTech Qt lib directory like this, all on one line with no spaces:
QT_PLUGIN_PATH=/opt/kobodesktop/usr/local/Trolltech/Qt-4.6.2/plugins LD_LIBRARY_PATH=/opt/kobodesktop/usr/lib:/opt/kobodesktop/usr/local/Kobo:/opt/kobodesktop/usr/local/Trolltech/Qt-4.6.2/lib /opt/kobodesktop/usr/local/Kobo/Kobo
This can be popped in a wrapper script to keep you sane. If the Kobo application used rpath linking like it should (see: "man ld"), there would be no need to include the Kobo and Qt directories on LD_LIBRARY_PATH manually ... but it doesn't.
If you get errors about missing libraries, you can find out more with ldd:
QT_PLUGIN_PATH=/opt/kobodesktop/usr/local/Trolltech/Qt-4.6.2/plugins LD_LIBRARY_PATH=/opt/kobodesktop/usr/lib:/opt/kobodesktop/usr/local/Kobo:/opt/kobodesktop/usr/local/Trolltech/Qt-4.6.2/lib ldd /opt/kobodesktop/usr/local/Kobo/Kobo | grep 'not found'
... then go about using yum to install the required .i686 versions of the libraries.
The application appears to work once the library dependencies are satisfied. I can browse the store and the free books, at least. I was also able to detect and sync with the Kobo.