0

Jessie comes with APR (apache runtime portable) as package libapr1 version 1.5.1-3.

However, that is the only version that Jessie has (it is also the newest version). I am trying to build the UIMA C++ SDK, which requires an apr version between 1.3.[0-9] or 1.4.[0-9].

I know that Debian Wheezy has apr 1.4.6 (I downloaded the actual package).

My questions are:

  1. Do I install packages using dpkg, instead of adding Wheezy in my sources? Or should I just add wheezy in my sources?
  2. Either via dpkg, or via apt-get, do I risk breaking "stuff" if I install two different versions of the same library? As I understand, Jessie uses apr-1.5.1 for lots of things, so I don't want to mess up my system.
0

When you install two different versions with dpkg or apt-get, it will not break the system, unless you use the -f option to force installation.

Instead it will create an additional entry in your package database.

When you install the source manually, make sure to link the programs to the library. For instance link apr-1.4.6 symbolically to /usr/local/lib/apr. Set the programs that use the old library to use the one you just sym-linked.

Make sure that the link can be found by the programs, by putting it in a PATH directory.

  • "When you install two different versions with dpkg or apt-get, it will not break the system, unless you use the -f option to force installation." of course it won't because it will refuse to do so to prevent break dependencies. Also, apt-get doesn't have --force, and dpkg has several --force-* but no --force. BTW, this will break any recent apache2, tomcat, subversion, uwsgi, in total 21 packages. – Braiam Jun 19 '15 at 5:12
  • Apparently I forgot to say this before: apt/dpkg only will allow a single package named libapr1 installed on the system. I won't allow libapr1=1.5.1-3 and libapr1=1.4.6-6. This is not how it works. – Braiam Jun 19 '15 at 5:20
1

Do I install packages using dpkg, instead of adding Wheezy in my sources?

No.

Or should I just add wheezy in my sources?

No.

Either via dpkg, or via apt-get, do I risk breaking "stuff" if I install two different versions of the same library?

Yes.


I would recommend instead, asking the maintainer of the project to use the most recent library instead, since there has been several security bugs on old versions (newest fixed CVE-2015-1829) and fixes to assure functionality on newer systems (i.e. "Fix Linux kernel version check to recognize more versions, including versions 3.10 and later", which seems pretty nasty if you use Jessie with kernel 4.0+) on the library. I would first try to build the software with the newer libraries, and patch it as you find issues, of course, you should submit them upstream.


Another option is just using a virtual machine (or something that allows you to boot another kernel) and install Wheezy there. It may not include the fix for those security issues (you may have to patch them yourself).

  • The last commit for UIMA C++ SDK & Framework was in 15-Nov-2012. I doubt they will bother making any updates, since they have released since then at least 3 new versions, skipping C++ and focusing on Java. Ergo, I am stuck with that version, and unless I do the changes (don't have the time) I'm left with the option of using that version with this library. Instead of using a VM which seems like overkill, I will look into chroot. Question is, why would it be a risk, since my distro relies on 1.5.1, not 1.4.9 which I intend to install only for UIMA? – Alex Jun 19 '15 at 0:50
  • @Alex I don't think it would work as the apr library had a fix about detecting correctly the Linux kernel version. You could try nonetheless, but I think the only surefire method is a VM. – Braiam Jun 19 '15 at 1:46

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.