0

My distribution's package repository does not have the current version of the tmux package I want. I downloaded the newest version in tar.gz format from the website. However, in trying to ./configure this, configure told me that it needs other dependencies. My question is, is it a best practice to also manually build those dependencies from sources? If I were to go and download those dependencies using the distribution package manager, is there a chance that they too will be outdated and there will be an older dependency than what the current tmux needs?

In this particular case, I am trying to build tmux 3.0a on Ubuntu 18.04.4 LTS and the package that it's telling me doesn't exist is called libevent.

3
  • At the very least you have to tell us the distribution you are running. Ideally also the packages and version numbers. Getting the dependencies from the original package does not guarantee a succesful build (though it might work). What you are trying to do is, basically, create a new package for your distribution. Before you go into all that work, do check if there isn't another version of the distribution with the newer packages and try to rebuild those. That's basically a backport. Commented Apr 3, 2020 at 5:44
  • @EduardoTrápani Ok I updated my question with these details. Thanks!
    – the_endian
    Commented Apr 3, 2020 at 6:08
  • The tmux install instructions are (untypically) helpful about that: "If the dependencies are not available, they can be built from source and installed locally. This is not recommended if the dependencies can be installed from system packages." Commented Apr 3, 2020 at 11:27

1 Answer 1

2

Say you need libevent version 42.1.

If your package manager has libevent version 42.5, go ahead and install it. No need to build it from source. To build software using libevent, you'll need to install the corresponding development packages; libevent-dev on .deb-based distributions, libevent-devel on RPM-based distributions.

If you package manager only has libevent version 40.3, then you also need to build libevent from source (from a version greater than 42.1).

Recommendation: Install everything you build from source into /usr/local (set PREFIX before doing ./configure, or read the docs if this package does it different). That way what you build yourself and what your package manager installs doesn't clash. I use stow for this as well, so I can keep several versions.

is there a chance that they too will be outdated

Of course "there is a chance". The only way to find out is to go to your package manager and look. And this may be a good opportunity to point your package manager to a newer release, if it exists upstream.

You must log in to answer this question.

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