I got a build error:
gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfimage.o -MD -MP -MF .deps/bjfimage.Tpo -c -o bjfimage.o bjfimage.c
bjfimage.c: In function ‘png_image_init’:
bjfimage.c:1335:6: error: dereferencing pointer to incomplete type
bjfimage.c:1347:16: warning: passing argument 3 of ‘png_get_IHDR’ from incompatible pointer type [enabled by default]
In file included from bjfimage.c:44:0:
/usr/include/png.h:2187:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’
bjfimage.c:1347:16: warning: passing argument 4 of ‘png_get_IHDR’ from incompatible pointer type [enabled by default]
In file included from bjfimage.c:44:0:
/usr/include/png.h:2187:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’
It's because it is expecting an older version of libpng, libpng12.
This is what I did to the PKGBUILD:
# Contributor: Roman Abreu <romanlx at gmail.com>
pkgname=pixmaip1500
_casepkgname=iP1500Linux
pkgver=2.5
pkgrel=3
pkgdesc="Printer driver for Canon Pixma ip1500"
arch=('i686')
url="http://www.canon.com/"
license=('custom')
depends=('rpmextract' 'hplip' 'ghostscript' 'libpng12')
source=("http://software.canon-europe.com/files/soft22415/software/${_casepkgname}.tar.gz" 'bjfilter-switch-to-libpng12.patch')
md5sums=('a77599e93a334107eb003e656ff6893b'
'3849d67c44622c93db402ba864cedf89')
build() {
cd "$srcdir/iP1500"
rpmextract.sh bjfilter-common-2.50-2.src.rpm
tar xvf bjfilter-common-2.50-2.tar.gz
cd bjfilter-common-2.50
mkdir -p "$pkgdir/usr/share/cups/model"
cp ppd/canonpixmaip1500.ppd "$pkgdir/usr/share/cups/model"
mkdir -p "$pkgdir/usr/lib/bjlib"
cp 214/database/* "$pkgdir/usr/lib/bjlib"
cp -a 214/libs_bin/* "$pkgdir/usr/lib"
cd libs
./autogen.sh --prefix="$pkgdir/usr/local"
make
make install
cd ..
cd bjfilter
patch -p0 <"$srcdir/bjfilter-switch-to-libpng12.patch"
./autogen.sh --prefix="$pkgdir/usr/local" --program-suffix=pixmaip1500
make
make install
cd ..
cd pstocanonbj
mkdir -p "$pkgdir/usr/lib/cups/filter/"
./autogen.sh --prefix="$pkgdir/usr/local"
make
make install
cd ..
cp "$srcdir/iP1500/bjfilter-common-2.50/pstocanonbj/filter/pstocanonbj" "$pkgdir/usr/lib/cups/filter/"
}
and the patch, bjfilter-switch-to-libpng12.patch:
--- src/bjfimage.c.old 2012-09-11 23:51:09.312181009 -0400
+++ src/bjfimage.c 2012-09-11 23:51:32.205868378 -0400
@@ -41,7 +41,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include <png.h>
+#include <libpng12/png.h>
#include "cpktypes.h"
Search Criteria
Package Details: pixmaip1500 2.5-2
Package Actions
- View PKGBUILD
- Download tarball
- Search wiki
- Flagged out-of-date (2012-09-12)
| Package Base: | pixmaip1500 |
|---|---|
| Description: | Printer driver for Canon Pixma ip1500 |
| Upstream URL: | http://www.canon.com/ |
| Category: | lib |
| Licenses: | |
| Submitter: | None |
| Maintainer: | None |
| Last Packager: | None |
| Votes: | 4 |
| First Submitted: | 2006-03-24 22:03 |
| Last Updated: | 2007-11-05 06:09 |
Dependencies (4)
Required by (0)
Sources
Latest Comments
Comment by ewtoombs
Comment by ewtoombs
'foomatic' is not a necessary dependency. It is pulled in automatically from hplip. In any case, it was spelt wrong. The package is called foomatic-db.
Anonymous comment
Could you build the package for 64-bit systems?