You are not logged in.

#1 2016-11-04 13:11:00

eyolf
Member
From: Copenhagen
Registered: 2005-11-29
Posts: 339
Website

make install error in package

There's this AUR package (scidb-svn) where I get the following error in the pacakage() part of the build:

==> Starting package()...
Install man pages
install: cannot create regular file '/usr/share/man/man1/scidb-beta.1.gz': Permission denied
make[1]: *** [Makefile:31: install] Error 1
make: *** [Makefile:77: install-subdirs] Error 2
==> ERROR: A failure occurred in package().

The PKGBUILD simply has "make install" at that point in the process, and I assume that that's part of the problem. I've tried to change it to DESTDIR or prefix="$pkgdir/usr/", but to no effect.

The relevant part of the makefile has install: check-mtime install-subdirs install-xdg # update-magic

tinstall-subdirs:
	@$(MAKE) -C man install
	@$(MAKE) -C src install
	@$(MAKE) -C engines install
	@$(MAKE) -C tcl install
	@$(MAKE) -C tcl setup-fonts

The solution is probably very simple, but I can't find it. Anyone?

Offline

#2 2016-11-04 13:27:19

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,524
Website

Re: make install error in package

This is an upstream bug that you could patch around if you wanted, but it is a very obvious oversight by upstream.  Their INSTALL documentation says it will properly use the DESTDIR variable, yet that veriable is not used anywhere in any of the makefiles.  All the makefiles do try to include a top-level Makefile.in which doesn't exist.  It's likely that DESTDIR, and many other important variables, are used in Makefile.in to set their own variables like MANDIR.  But Makefile.in was never committed to the svn repo.  It's likely still sitting on one of the developers computers waiting to be pushed.

As a workaround, you could explicitly export a suitable MANDIR variable as the makefile does use that.  But I suspect the absence of Makefile.in could have many other problematic side-effects.

EDIT: there are also problems with the PKGBUILD like not passing a DESTDIR, but until the upstream source is fixed, patching up the PKGBUILD will not help.

EDIT2: Sorry, the Makefile.in is there in the build directory (I hate software that needlessly duplicates it's source into a new build directory).  But the DESTDIR variable is still not actually used anywhere in the upstream source, except where it is mentioned in the INSTALL file.  So this remains an upstream bug to properly use DESTDIR in their makefiles.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2016-11-04 14:21:38

eyolf
Member
From: Copenhagen
Registered: 2005-11-29
Posts: 339
Website

Re: make install error in package

Thanks a lot. I will notify the developer.

Offline

Board footer

Powered by FluxBB