6

Two pieces of software that I need on my system have dependencies for libfltk1.1-dev and libfltk1.3-dev. I tried installing both, as when I installed one, it would remove the other. So I typed this command into the terminal:

sudo apt-get install libfltk1.1-dev libfltk1.3-dev

And I got this:

The following packages have unmet dependencies:
  libfltk1.1-dev : Conflicts: libfltk-dev
  libfltk1.3-dev : Conflicts: libfltk-dev
E: Unable to correct problems, you have held broken packages.

Can I/How do I install both?

3
  • Do you mean that a single application needs both libfltk1.1-dev and libfltk1.3-dev? Commented Jul 17, 2014 at 17:22
  • No two different applications. One needs one and the other needs the other.
    – 4dahalibut
    Commented Jul 17, 2014 at 17:43
  • In that case, you only need one. One a program is compiled, you no longer need to have the corresponding -dev package; instead you need the shared library version (which should be automatically installed). Therefore, once you compile one of the programs, remove the package and install the other package. Commented Jul 17, 2014 at 17:47

1 Answer 1

6

No, both libfltk1.1-dev and libfltk1.3-dev cannot be installed at the same time. This is because the headers (among other files) in both packages are installed at the same location and therefore would be conflicting.

Edit: Since these are two different programs, the following steps can be followed:

  1. Install libfltk1.1-dev.

  2. Compile the program that needs libfltk1.1-dev.

  3. Remove libfltk1.1-dev, but make sure libfltk1.1 is kept.

  4. Install libfltk1.3-dev.

  5. Compile the program that needs libfltk1.3-dev.

  6. (Optional) Remove libfltk1.3-dev, but make sure libfltk1.3 is kept.

The reason this works is that the -dev packages (which depend on the corresponding shared library package) contain the headers needed to compile a program, but are not needed to run the program. The shared library package contains the actual library that is needed to run the program, and so this package has to be installed to run the program.

1
  • Such a superior system for managing packages
    – ssynhtn
    Commented Aug 14, 2020 at 1:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .