You are not logged in.
Hello. I'm in need of building imagemagick from svn trunk repo. I tried my own PKGBUILDs, but I'll proceed with the one from our Arch repo just to keep it simple.
All I need here is to replace source (to remove the main tarball from there), and additionally I'll remove some dependencies (and appropriate configure switches). Here we are:
# $Id: PKGBUILD 74351 2010-03-30 20:17:03Z eric $
# Maintainer: Eric Belanger <eric@archlinux.org>
pkgname=imagemagick
pkgver=6.6.0.10
pkgrel=1
pkgdesc="An image viewing/manipulation program"
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
license=('custom')
depends=('libtool' 'lcms' 'libxt' 'gcc-libs' 'bzip2')
makedepends=('libxml2')
optdepends=('ghostscript: for Ghostscript support' \
'openexr: for OpenEXR support' \
'libwmf: for WMF support' \
'librsvg: for SVG support' \
'libxml2: for XML support' \
'jasper: for JPEG-2000 support')
options=('!makeflags' '!docs')
source=(libpng_mmx_patch_x86_64.patch perlmagick.rpath.patch)
md5sums=('069980fc2590c02aed86420996259302'\
'ff9974decbfe9846f8e347239d87e4eb')
sha1sums=('e42f3acbe85b6098af75c5cecc9a254baaa0482c'\
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
_svntrunk=https://www.imagemagick.org/subversion/ImageMagick/trunk
_svnmod=trunk
build() {
if [ -d $_svnmod/.svn ]; then
cd $_svnmod
svn up
else
svn co $_svntrunk
cd $_svnmod
fi
if [ "${CARCH}" = "x86_64" ]; then
patch -Np1 < ../libpng_mmx_patch_x86_64.patch || return 1
fi
patch -p0 < ../perlmagick.rpath.patch || return 1
./configure --prefix=/usr --with-modules --disable-static --enable-openmp \
--with-x --with-xml \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \
--without-gvc --without-djvu --without-autotrace \
--without-jbig --without-fpx --without-dps || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
install -D -m644 NOTICE "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE" || return 1
#Cleaning
find "${pkgdir}" -name '*.bs' -exec rm {} \; || return 1
rm -f "${pkgdir}"/usr/lib/*.la || return 1
}It's an absolutely normal configuration. If I tell it to use an official sources tarball (in the source section), it builds just fine. But if I leave it as it's given here (to grab sources from svn), it throws these errors just when "make || return 1" command runs:
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/virus_found/abs/imagemagick/src/trunk/config/missing --run autoconf
configure.ac:110: error: possibly undefined macro: AM_SANITY_CHECK
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:112: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.ac:115: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:235: error: possibly undefined macro: AC_PROG_LD
configure.ac:238: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:239: error: possibly undefined macro: AC_COMPILE_WARNINGS
configure.ac:244: error: possibly undefined macro: AM_WITH_DMALLOC
configure.ac:284: error: possibly undefined macro: AM_CONDITIONAL
configure.ac:437: error: possibly undefined macro: AC_LIBTOOL_DLOPEN
configure.ac:582: error: possibly undefined macro: AM_MAINTAINER_MODE
configure.ac:1046: error: possibly undefined macro: AC_CXX_HAVE_BOOL
configure.ac:1047: error: possibly undefined macro: AC_CXX_HAVE_NAMESPACES
configure.ac:1048: error: possibly undefined macro: AC_CXX_HAVE_STD_NAMESPACE
configure.ac:1049: error: possibly undefined macro: AC_CXX_HAVE_STD_LIBS
configure.ac:1050: error: possibly undefined macro: AC_CXX_HAVE_LSTRING
configure.ac:1848: error: possibly undefined macro: AC_CHECK_FRAMEWORK
configure.ac:2962: error: possibly undefined macro: AM_MISSING_PROG
configure.ac:3217: error: possibly undefined macro: AC_PROG_PERL_VERSION
make: *** [configure] Error 1So, the "reason" is within trunk sources. But what exactly is it? Do you have any clues? I've googled very much, it just tells, that automake must be to blame...
Last edited by virus_found (2010-04-12 07:17:25)
Offline
That PKGBUILD doesn't work, primarily because _svnmod is not set correctly. The remaining problems are mostly down to not being in the $srcdir directory when checking out the ImageMagick source. It's also good practice to copy the source and do the build in the copy. That way, it will be possible to successfully update the source and rebuild the package at a later date. Otherwise, the PKGBUILD certainly works with the following modifications but I've no idea whether the package is viable because I didn't try installing and testing it.
_svntrunk=https://www.imagemagick.org/subversion/ImageMagick/trunk
_svnmod=ImageMagick
build() {
cd ${srcdir}
if [ -d $_svnmod/.svn ]; then
cd $_svnmod
svn up
else
svn co $_svntrunk $_svnmod
fi
rm -r ${srcdir}/${_svnmod}-build
cp -r ${srcdir}/${_svnmod} ${srcdir}/${_svnmod}-build
cd ${srcdir}/${_svnmod}-build
if [ "${CARCH}" = "x86_64" ]; then
patch -Np1 < ../libpng_mmx_patch_x86_64.patch || return 1
fi
Etc., etc.Last edited by azleifel (2010-04-11 22:15:09)
Offline
It does work now! Thank you very much, I'm so absent-minded ![]()
Offline