Dropbox and CentOS 5
Well, since my last post I’ve been attempting to get Dropbox working on CentOS (since this is my server platform). I have so many potential uses for having dropbox running on my server that I’d probably bore anyone reading this if I listed them. Needless to say, it’d be very useful for me if Dropbox would work.
Rather than run the installation on my live server(s), I decided to do a test install on a Virtual Machine. I fired up VMWare and created a minimal installation of CentOS (and I mean minimal) and after installing VMware tools I installed the GNOME desktop along with the X11 Window Manager. I normally use KDE, but unfortunately Dropbox only currently supports Nautilus and not Konqueror
.
yum --exclude=nautilus-sendto groupinstall 'X Window System' 'GNOME Desktop Environment'
Now, officially CentOS is not supported by Dropbox, there are no packages for CentOS provided by Dropbox so I thought I’d get the source and see what I could do with it. The package requirements are higher than the CentOS package versions available through traditional channels. I thought I’d have a pop anyway and document how far I got here. The two key problems are that Dropbox require glib2 version to be at least 2.14.0 and libnotify needs to be at least 0.4.4. CentOS 5.2 (current release at time of writing) only has packages for glib2 at 2.12.3-2 and libnotify at 0.4.2-6. I wasn’t about to let that stop my potential enjoyment of Dropbox though, so I installed the other dependencies using yum:
yum install bzip2 wget make gtk+-devel libnotify-devel nautilus-extensions.i386 nautilus-devel.i386 gnome-vfs2-devel compat-glibc-headers.i386 compat-glibc.i386 gnome-desktop-devel.i386
Then I got the latest source from the DropBox download page and untarred it:
wget http://dl.getdropbox.com/u/5143/nautilus-dropbox-packages/0.4.1/nautilus-dropbox-0.4.1.tar.bz2 tar jxf nautilus-dropbox-0.4.1.tar.bz2
Next, I had to alter the configure script to accept our versions of glib2 and libnotify which was just a matter of finding and replacing
GLIB_REQUIRED=2.14.0 LIBNOTIFY_REQUIRED=0.4.4
with
GLIB_REQUIRED=2.12.0 LIBNOTIFY_REQUIRED=0.4.2
Then I ran the
./configure make make install
Everything seemed to compile ok. Time to fire up the desktop… GNOME launched ok, but nautilus refuses to load. The problem is revealed when trying to start nautilus from the command line:
[rob@localhost ~]$ nautilus /home/rob Initializing nautilus-dropbox 0.4.1 nautilus: symbol lookup error: /usr/lib/nautilus/extensions-1.0/libnautilus-dropbox.so: undefined symbol: g_timeout_add_seconds
It looks like Dropbox really does require the specified versions of those packages which is a real shame. So in short, unless anyone comes up with a workaround, or Dropbox release a more compatible version it looks like there’s no awesomeness to be had with Dropbox and CentOS / RHEL
Never-the-less the awesomeness still reigns on the Windows platform!


Hey there,
Just found your post via the dropbox forums, and wanted to let you know that I ran into the exact same problem. We’re running CentOS 5 at my work and I wanted to give dropbox for linux a shot, but in the end I got the same result you did.
I took a somewhat different approach: I downloaded the source of glib and libnotify and installed those manually, and then compiled and built the dropbox plugin. All went swimmingly until I tried to run nautilus – at which point I was prompted with the “g_timeout_add_seconds” error.
Hopefully they’ll release a version that works with older versions of glib.
–Toby
Hopefully CentOS will update those packages soon, I’m off to search for a solution.
Here on the forums it says it’s enough to use Fedora RPM…
http://forums.getdropbox.com/topic.php?id=2479&replies=2
is that not true ?
thx
Hi ggcc,
Unfortunately that’s not true. The Fedora RPM requires the following packages to be available:
libnotify.i386 0.4.4
glib2.i386 2.14
Unfortunately the versions of these packages which are held in the CentOS / RHEL repositories are too low for the Dropbox package to be installed properly. You can see this for yourself when using yum – the dependencies will fail due to version number requirements.
The Fedora RPM will only work on a version of Fedora which has the the minimum version numbers for the dependency packages in an available repository. For CentOS / RHEL these are:
libnotify.i386 0.4.2-6.el5
glib2.i386 2.12.3-2.fc6
And to Mike, good luck in your search, but I *highly* doubt that RHEL will be updating those packages in future 5.* release schedule since glib2 is a very important library, and updating that would undoubtedly cause unacceptable stability issues, as would upgrading GNOME to a version which includes libnotify 0.4.4
Hi Rob,
thanks for your answer.
Just a curiosity for somebody that is not an insider of Linux matters… how comes such an important library is not updated in RHEL ? why would it cause stability issues if the actual stable version is 2.18.1 ?
The library is updated, but only to a proven stable version – the most common reason for why a RHEL package is updated is due to either a security fix or, as is most common, a bugfix. RHEL runs behind Fedora by quite a way, due to the fact that most packages are taken at a snapshot of a historic Fedora release and then matured within the RHEL platform and made more stable due to rigourous testing and bug fixing on that one ‘snapshot’. I wrote more of an explanation here:
http://blog.itsmine.co.uk/2008/10/02/rhel-vs-fedora/
Thanks for this article. At last I have it working on my CentOS 5.2 test box editing the file ./src/nautilus-dropbox-hooks.c and changing g_timeout_add_seconds to g_timeout_add and the parameter 1 to 1000. Look: http://library.gnome.org/devel/glib/2.18/glib-The-Main-Event-Loop.html
Recompile and you should have it working.
So I just got DropBox installed and working in Fedora 8, which also does not have the required glib in the rpm repository.
I also tried the compile from source method and clearly hit the snag that my glib wasn’t up-to-date.
I went and just compiled the newest glib from source, which I found here:
http://mail.gnome.org/archives/gtk-devel-list/2008-September/msg00101.html
After installing that, I needed to install the libnotify-devel from yum install libnotify-devel, which carried my dependency just fine.
Its running now on my machine, so hopefully that helps.
I’ve heard that you can run the dropbox daemon (which is statically linked) on a server. Maybe you could do the same for your users? You would forgo the very nice nautilus integration, but it should still sync the files.
Thank for this “How to”. Work fine on my Fedora 8.
Hi, I’m trying to install DropBox 0-6-1 on Centos 5.3 x86_64 reading your guide but the configure script exit after this error:
checking for pygtk… Traceback (most recent call last):
File “”, line 6, in ?
TypeError: ‘str’ object is not callable
no
configure: error: couldn’t find pygtk
This is the result of -> rpm -qa |grep pygtk
pygtk2-codegen-2.10.1-12.el5
pygtk2-devel-2.10.1-12.el5
pygtk2-libglade-2.10.1-12.el5
pygtk2-devel-2.10.1-12.el5
pygtk2-2.10.1-12.el5
Any suggestion?
Thanks
same issue here to
Same issue with Centos 5.3 i386
:
File “”, line 6, in ?
TypeError: ’str’ object is not callable
no
configure: error: couldn’t find pygtk
Please help
I found a little (big) workaround via VirtualBox under CentOS within an XP-VM. If you are able to read or translate German, this one might help you: http://perelandra.wordpress.com/2009/08/06/netzlaufwerk-als-lokale-festplatte-ausgeben/
You can follow this guide:
http://wiki.getdropbox.com/TipsAndTricks/CnetOS-KDE-Install