Search code examples
ubuntupackagecheckinstall

Softether deb package installation fails on Ubuntu 14.04


I have created a new deb package from SoftEtherVPN source at https://github.com/SoftEtherVPN/SoftEtherVPN using

checkinstall -D make install

The process successfully installs the software but the resultant deb package fails to install with this error:

unable to create `/proc/sys/kernel/threads-max.dpkg-new' (while processing `./proc/sys/kernel/threads-max'): No such file or directory

I am unable to find out how to fix this error.

MVCE:

ssh root@my_new_14.04_vps_ip
apt-get update && apt-get -y upgrade
apt-get -y install git-core build-essential 
apt-get install libreadline6-dev libncurses5-dev libssl-dev
apt-get install checkinstall
git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
cd SoftEtherVPN
./configure
checkinstall -D make install

Solution

  • The proc file system exposes a simple pseudo-file interface to many Linux kernel facilities. The threads-max setting, as the name suggests, controls how many threads the kernel allows to be created in the system. The installer tries to write a suitable value to this file, but checkinstall assumes that the installer tries to create or overwrite an actual file in this location. dpkg does not allow this, so the package you get from checkinstall is not compatible.

    You can tell checkinstall to ignore this file, and perhaps add a separate postinst script to write this setting by other means when the package is installed, if necessary.

    checkinstall --exclude /proc/sys/kernel/threads-max -D make install