0

During the previous months to the new release of Ubuntu 16.04.4, I wrote a C++ project using the following enviroment:

  • Ubuntu 16.04.3
  • Kernel 4.4.0-87 (only version compatible with the drivers of an acquisition card used in my C++ project). The kernel version is hold (i.e. preventing to update to a more recent kernel version).

However, during the installation of a new driver, my ubuntu version changed to 16.04.4 and now I am getting errors during the compilation of my code. The problem is that the error is associated to a third-party library that I need... So I tried to get back to the 16.04.3 and everytime I need to install something, the version of my OS gets updated... How could I prevent the OS to update to the 16.04.4 version? It may be with the apt-get hold?? but I don't know the name of the package.

Thanks!

JUP
  • 1

1 Answers1

1

You need to disable your HWE (Hardware Enablement Stack). From this Q&A: How to disable HWE messages (14.04) you can turn off messages using:

sudo touch /var/lib/update-notifier/disable-hwe-eol-messages

From this Q&A: Rolling back to non-HWE stack on Ubuntu 16.04.2 you can use:

sudo apt-get remove xserver-xorg-hwe-16.04
sudo apt install xserver-xorg-core
sudo apt install ubuntu-desktop xserver-xorg libgl1-mesa-dri:i386 libgl1-mesa-glx:i386

Not specified in the linked answer, but I would run these commands from the console (Ctrl+Alt+F1) login.

Please read the links carefully and ensure they describe exactly what you want to do. If in doubt post a comment before proceeding.


Another option is to pin kernel version 4.4.0-87 so it never gets upgraded. See this Q&A: How can I avoid kernel updates?. Basically you will:

sudo apt-mark hold <package_name>
sudo apt-mark hold linux-image-generic linux-headers-generic

This isn't a specific answer but will get you started in the right direction.