Dependency error when trying to install Dropbox on Debian 6 (Squeeze)
I use Dropbox on all of my systems and while not very secure, Dropbox is a quick and easy way to backup and share files. I recently rebuilt a machine with Debian 6 to use it as a test server for some of the work I am doing on some web apps and when I tried to install the .deb package you can download from the Dropbox web site, I was getting this annoying error message that said Error: Dependency is not satisfiable: libnautilus-extension1 (>= 1:2.22.2).
On the site, Dropbox offers installable packages for the Fedora and Ubuntu distributions of Linux. Well, I am using Debian and Ubuntu, being a Debian-based distro, should be compatible, right? You would think so... Turns out that the issue is in a dependency in the manifest of the Ubuntu package, as the error message has already alluded to.
Technically, you could download the Dropbox source tar ball and compile it
yourself, but what's the fun in that... I like to get to the bottom of things.
I downloaded the nautilus-dropbox_0.6.7_amd64.deb package and when you try to
install it using dpkg -i
you'll get broken packages. That tells me that the
problem was not with the dependencies themselves, but with the .deb manifest
inside the package not specifying dependencies correctly. In order to fix this
you will need to unpack the .deb file, change the dependency specification and
then repackage it. Here's how you can do that:
- Go to the place where you download the Dropbox .deb file to. This is usually the Downloads folder inside your home directory.
-
Create a new directory to extract the package to
mkdir -p extract/DEBIAN
-
Extract the files from the .deb package
dpkg -x nautilus-dropbox_0.6.7_amd64.deb extract/
-
Extract the control information (manifest) from the package
dpkg -e nautilus-dropbox_0.6.7_amd64.deb extract/DEBIAN
-
Open the
extract/DEBIAN/control
file with your favorite editor - Find the dependencies line, which starts with the text
Depends:
- On that line, look for the offending dependency spec:
libnautilus-extension1 (>= 1:2.22.2)
- Notice the version number of this dependency. On my Debian 6 machine, the
version of that library is 2.30.1. Notice that the Ubuntu package has a
1:
prepended to the package version number in the dependency spec. To make it work in Debian 6 you will need to edit that to remove the1:
from the spec so that it looks like this:libnautilus-extension1 (>= 2.22.2)
- Save the file and exit your editor
-
Create a new directory called build
mkdir build
-
Rebuild the .deb package by using the following command:
dpkg-deb -b extract/ build/
-
You will notice that a brand new .deb package is now available in the build directory you just created.
-
Now you can install this new package by issuing the command
dpkg -i nautilus-dropbox_0.6.7_amd64.deb
while in the
build
directory.
You should now be able to use your Dropbox without any installation problems. While this problem solving exercise was fun, there is also an easier way to accomplish the same end result and that is to download the Dropbox source tarball and run the usual configure, make, make install trifecta.
Comments
Comments powered by Disqus