Skip to content

make install installs files outside of prefix (leading to build failure) #1668

@fxcoudert

Description

@fxcoudert

Configuring nut 2.8.0 with:

./configure --disable-dependency-tracking --prefix=/home/linuxbrew/.linuxbrew/Cellar/nut/2.8.0 --localstatedir=/home/linuxbrew/.linuxbrew/var --sysconfdir=/home/linuxbrew/.linuxbrew/etc/nut --with-statepath=/home/linuxbrew/.linuxbrew/var/state/ups --with-pidpath=/home/linuxbrew/.linuxbrew/var/run --with-openssl --with-serial --with-usb --without-avahi --without-cgi --without-dev --without-doc --without-ipmi --without-libltdl --without-neon --without-nss --without-powerman --without-snmp --without-wrap --with-udev-dir=/home/linuxbrew/.linuxbrew/Cellar/nut/2.8.0/lib/udev

leads to make install trying to install files outside of the prefix:

   /usr/bin/mkdir -p '/usr/lib/tmpfiles.d'
   /usr/bin/install -c -m 644 nut-common.tmpfiles '/usr/lib/tmpfiles.d'
  /usr/bin/install: cannot create regular file '/usr/lib/tmpfiles.d/nut-common.tmpfiles': Permission denied
  make[3]: *** [Makefile:622: install-systemdtmpfilesDATA] Error 1
  make[3]: Leaving directory '/tmp/nut-20220922-12902-u3lle/nut-2.8.0/scripts/systemd'
  make[2]: *** [Makefile:693: install-am] Error 2
  make[2]: Leaving directory '/tmp/nut-20220922-12902-u3lle/nut-2.8.0/scripts/systemd'
  make[1]: *** [Makefile:502: install-recursive] Error 1
  make[1]: Leaving directory '/tmp/nut-20220922-12902-u3lle/nut-2.8.0/scripts'
  make: *** [Makefile:634: install-recursive] Error 1

This fails because /usr/lib is not user-writable. make install should not install files outside of the --prefix path passed to configure.

Seen in Homebrew CI: Homebrew/homebrew-core#101035

Metadata

Metadata

Assignees

No one assigned

    Labels

    CIEntries related to continuous integration infrastructure (here CI = tools + scripts + recipes)packaging

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions