114

I'm trying to install MySQL Workbench on my Ubuntu box (11.04). The website has a Ubuntu .deb available for download (for 10.10 and 10.04 so I chose 10.10).

However,

sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

yields:

(Reading database ... 194069 files and directories currently installed.)
Preparing to replace mysql-workbench-gpl 5.2.34-1ubu1010 (using mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb) ...
Unpacking replacement mysql-workbench-gpl ...
dpkg: dependency problems prevent configuration of mysql-workbench-gpl:
 mysql-workbench-gpl depends on libctemplate0; however:
  Package libctemplate0 is not installed.
 mysql-workbench-gpl depends on libpython2.6 (>= 2.6); however:
  Package libpython2.6 is not installed.
 mysql-workbench-gpl depends on libzip1 (>= 0.8); however:
  Package libzip1 is not installed.
 mysql-workbench-gpl depends on python-paramiko; however:
  Package python-paramiko is not installed.
 mysql-workbench-gpl depends on python-pysqlite2; however:
  Package python-pysqlite2 is not installed.
dpkg: error processing mysql-workbench-gpl (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Errors were encountered while processing:
 mysql-workbench-gpl

My question is, is there a way to tell dpkg to automatically fetch missing dependencies, or do I need to manually apt-get install missing packages like libctemplate0 and libpython2.6?

(Or alternatively, is there some other way to get MySQL Workbench easily up & running?)

4
  • 2
    @Braiam: how can this question be a duplicate of a question posted three months later?
    – enzotib
    Jan 15, 2015 at 7:52
  • 2
    This question has better answers and is far more popular of the two, so indeed the other one should be marked as duplicate of this.
    – Jonik
    Jan 15, 2015 at 12:27
  • @Jonik Right now this question has 221,988 views and the question it's closed as a duplicate of has 241,929 views, so if this was once the more popular of the two, it isn't anymore. As for the quality of the answers, would it be sufficient for the answers here simply to be merged into the other question? Moderators can do that (if we ask them and they agree). The answers would appear on the other question (along with its answers) rather than this one. This question would still exist and still link to the other question and continue helping people find the answers. What do you think of this? Aug 19, 2017 at 23:44
  • Oh, it's my question from 6 years ago. :) Honestly, I don't think it matters much. I'd just leave it as it is. Merging muddies the waters, as some of the answers inevitably become offtopic. If you must do something, then go ahead and do what seems wise.
    – Jonik
    Aug 21, 2017 at 13:26

7 Answers 7

127

You can install a package and get dependencies from repositories with

sudo gdebi package.deb

If you already installed the package with missed dependencies, you can dowload and install dependencies automatically with

sudo apt-get -f install

Also available is a graphical version gdebi-gtk, linked to .deb nautilus right click action "Open With GDebi Package Installer".

5
  • 1
    Thanks, sudo gdebi mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb worked smoothly. Looks like gdebi is exactly the tool I needed.
    – Jonik
    Aug 22, 2011 at 12:16
  • 1
    nice one there,thanx ;-)
    – Pavlos G.
    Aug 22, 2011 at 12:23
  • 2
    Note that double clicking on the deb file should work too. It will use gdebi on older Ubuntu versions and the Software Centre in newer. Aug 23, 2011 at 8:59
  • To fall into the second case above: dpkg --force-depends -i some_deb_file.deb Dec 4, 2015 at 23:41
  • 2
    Ouch! I installed gdebi on a clean server, it is HUGE. It really has tons of dependencies... Jul 23, 2016 at 23:15
34

From the 1.1 branch onwards, apt-get supports installing local packages along with dependencies in the way of:

sudo apt-get install ./your-package.deb

Note the ./ in front of package file name, which is mandatory otherwise the name will be used as package name, not a file name.

0
30

dpkg itself is not capable of managing repositories. A higher-level tool like apt-get is required to fetch anything from repositories. dkpg is only the core tool that installs/removes/configures packages, taking care of dependencies and other factors. apt-get and aptitude are tools that manage repositories, download data from them, and use dkpg to install/remove packages from them. This means that apt-get and aptitude can resolve dependencies and get required packages from repository, but dpkg cannot, because it knows nothing about repositories.

2
  • 16
    Good background information but not a useful answer.
    – foraidt
    Aug 22, 2011 at 12:27
  • 1
    Awesome. So where's the solution?
    – user92125
    Nov 24, 2015 at 14:11
17

You can use apt-get -f install to install all the packages dpkg -i complains about (but looking at your question you probably knew that ;) ).

gdebi might be a better alternative.

Description: Simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its 
dependencies. apt does the same, but only for remote (http, ftp) located 
packages. 

On a 3rd note... gdebi was replaced by the Ubuntu Software Center. If you install the .deb from within GDM (nautilus) USC will take over and try to install the deb. And that includes the dependencies. That is if you are not bound to command line ;)

2
  • 1
    Never thought of apt-get -f install, thanks! Looking for command solutions, quite aware of both gdebi and USC.
    – Oxwivi
    Nov 16, 2011 at 9:56
  • Oh wait, gdebi is command line tool. I'm sorry to ask this, but can you remove your answer? It seems this question was a duplicate, and I delete any duplicate question of mine. :) Comment on the question if you do.
    – Oxwivi
    Nov 16, 2011 at 9:59
6

That particular library(libctemplate0) I downloaded it from

http://packages.ubuntu.com/lucid/amd64/libctemplate0/download

The direct link http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_amd64.deb

The mySQL-workbench installation went smoothly after that.

0
6

Right click on the package file and select "open with Ubuntu software center", It will install everything for you.

3

AFAIK, dpkg provides no mechanism for dependency resolving. It checks/warns for dependencies, but does not do any further action. You'll have to solve the problems on your own.

As the Debian wiki states here:

dpkg checks dependencies and will refuse to install a package whose dependencies aren't met, but it won't help you find and install those dependencies. You need a higher-level tool (eg dselect or apt-get) for that.

So I think that you'll have to use apt-get or aptitude in order to install the package you're interested in, as well as any dependencies involved.

Since this package is not in the 11.04 repositories, just run:

sudo apt-get install libctemplate0 libzip1 libpython2.6 python-pysqlite2 python-paramiko
sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

and you should be ok.

1
  • 1
    Running 11.04 also, but I get "has no installation candidate" for most of the packages in your first apt-get. Am I missing something?
    – John C
    May 21, 2012 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.