You are not logged in.

#1 2017-11-14 14:16:10

jonnybarnes
Member
From: Manchester, UK
Registered: 2011-05-11
Posts: 129
Website

makepkg doesn’t work, whereas manually running build() commands does

I’m trying to install a git version of `xdebug` as it includes some bugfixes for using it with PHP7.2.0RC6.

I copied the PKGBUILD using `asp`.

My `build()` section currently looks like this:

build() {
  cd "$srcdir"/xdebug
  phpize
  ./configure --prefix=/usr --enable-xdebug
  make

  cd "$srcdir"/xdebug/debugclient
  ./buildconf
  ./configure --prefix=/usr --with-libedit
  make
}

When running `makepkg` I get an error in the debugclient step about the configure command not finding a `Makefile.in` file.

The output of the `./buildconf` step is:

cleaning
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
buildconf: automake version 1.15.1 (ok)
buildconf: libtool version 2.4.6.40-6ca5 (ok)
rebuilding aclocal.m4
rebuilding Makefile templates
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
   ./Makefile.in
rebuilding configure
rebuilding config_h.in

However, if I manually go to the debugclient directory in my terminal and invoke `./buildconf` myself the output is as follows:

cleaning
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
buildconf: automake version 1.15.1 (ok)
buildconf: libtool version 2.4.6.40-6ca5 (ok)
rebuilding aclocal.m4
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
rebuilding configure
rebuilding config_h.in
rebuilding Makefile templates
   ./Makefile.in

So why isn’t makepkg working correctly?

Last edited by jonnybarnes (2017-11-14 20:57:43)

Offline

#2 2017-11-14 14:25:14

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

Re: makepkg doesn’t work, whereas manually running build() commands does

Please provide all changes you made to the PKGBUILD (or just your complete PKGBUILD) so we can actually test and investigate.

Also the error you paraphrase is not present in the output you provided.  The two outputs are identical, though in different order.

Last edited by Trilby (2017-11-14 14:27:10)


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

Offline

#3 2017-11-14 14:35:01

jonnybarnes
Member
From: Manchester, UK
Registered: 2011-05-11
Posts: 129
Website

Re: makepkg doesn’t work, whereas manually running build() commands does

Here’s a barebones version that errors for me:

# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Jonathan Wiersma <arch aur at jonw dot org>
# Contributor: Jonathan Wiersma <arch aur at jonw dot org>
# Contributor: sracker <smb.sac@gmail.com>

pkgname=xdebug-git
pkgver=2.6.0
pkgrel=1
pkgdesc="PHP debugging extension"
arch=('x86_64')
url="http://www.xdebug.org"
license=('GPL')
depends=('php libedit')
conflicts=('xdebug')
replaces=('xdebug')
backup=('etc/php/conf.d/xdebug.ini')
source=('git+https://github.com/xdebug/xdebug')
sha256sums=('SKIP')

build() {
  #cd "$srcdir"/xdebug
  #phpize
  #./configure --prefix=/usr --enable-xdebug
  #make

  cd "$srcdir"/xdebug/debugclient
  ./buildconf
  ./configure --prefix=/usr --with-libedit
  make
}

package() {
  cd "$srcdir"/$pkgname/debugclient
  make DESTDIR="$pkgdir" install

  #cd "$srcdir"/$pkgname
  #make INSTALL_ROOT="$pkgdir" install
  #install -D -m 644 "$srcdir"/xdebug.ini "$pkgdir"/etc/php/conf.d/xdebug.ini
}

The error I get is:

configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'

i.e. the buildconf step isnt actually generating the Makefile.in file. Indeed manually going to the folder I don’t see it, but then running `./buildconf` myself its there.

Bear in mind I will definitely need to edit things like `pkgname` before I consider submitting this to the AUR, and explicitly referencing the `xdebug` folder in the build step isn’t the best.

Last edited by jonnybarnes (2017-11-14 19:31:39)

Offline

#4 2017-11-26 03:26:11

severach
Member
Registered: 2015-05-23
Posts: 192

Re: makepkg doesn’t work, whereas manually running build() commands does

==> Starting package()...
/home/chris/build/l/PKGBUILD: line 34: cd: /home/chris/build/l/src/xdebug-git/debugclient: No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

That's what I get. The build part works. Fix that line to be the same cd as in build() and makepkg runs to completion.

Offline

#5 2017-11-26 14:06:16

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: makepkg doesn’t work, whereas manually running build() commands does

It fails for me also.

I've looked into the scripts it uses , and it does create makefile.in but seems to remove it when run from makepkg.
The problem appears to be the removal command in build/buildconf2.mk .

cleaning
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
buildconf: automake version 1.15.1 (ok)
buildconf: libtool version 2.4.6.40-6ca5 (ok)
rebuilding aclocal.m4
rebuilding Makefile templates
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
rebuilding configure
   ./Makefile.in
rebuilding config_h.in
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking error.h usability... yes
checking error.h presence... yes
checking for error.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking size of char... 1
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking for gethostbyname in -lnsl... yes
checking for socket in -lsocket... no
checking for strerror... yes
checking for strtol... yes
checking for strtoul... yes
checking whether to enable debugging... no
checking whether to use dmalloc debugging... no
checking whether to use libedit... yes
checking for tgetflag in -ltermcap... no
checking for el_set in -ledit... yes
checking for H_SETSIZE... H_SETSIZE
checking for number of arguments to el_init... 4
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'
[1m[31m==> ERROR:(B[m[1m A failure occurred in build().(B[m
[1m    Aborting...(B[m
[1m[32m==>(B[m[1m Removing installed dependencies...(B[m
checking dependencies...

Package (1)  Old Version  Net Change

php          7.1.12-1     -16.58 MiB

Total Removed Size:  16.58 MiB

:: Do you want to remove these packages? [Y/n] :: Processing package changes...
removing php...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB