Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Dec 2006 23:38:20 -0600
From:      "Bill Milford" <freebsd@milfordmail.com>
To:        "'Rong-En Fan'" <rafan@infor.org>, <freebsd-ports-bugs@FreeBSD.org>
Subject:   RE: ports/107121: GraphicsMagick 1.1.7 does not build
Message-ID:  <!&!AAAAAAAAAAAYAAAAAAAAAE09%2B/5QgBZBvgbigfttNszCgAAAEAAAAOmRUSsCH3dFiF43d80K%2B38BAAAAAA==@milfordmail.com>
In-Reply-To: <200612230410.kBN4AR80011605@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message-----
> From: owner-freebsd-ports-bugs@freebsd.org [mailto:owner-freebsd-ports-bugs@freebsd.org] On Behalf Of
> Rong-En Fan
> Sent: Friday, December 22, 2006 10:10 PM
> To: freebsd-ports-bugs@FreeBSD.org
> Subject: Re: ports/107121: GraphicsMagick 1.1.7 does not build
> 
> The following reply was made to PR ports/107121; it has been noted by GNATS.
> 
> From: Rong-En Fan <rafan@infor.org>
> To: Mark Jacobs <jacobsm@gate.net>
> Cc: freebsd-gnats-submit@freebsd.org, chinsan@freebsd.org
> Subject: Re: ports/107121: GraphicsMagick 1.1.7 does not build
> Date: Sat, 23 Dec 2006 12:06:10 +0800
> 
>  --Qxx1br4bt0+wmkIi
>  Content-Type: text/plain; charset=us-ascii
>  Content-Disposition: inline
>  Content-Transfer-Encoding: quoted-printable
> 
>  On Fri, Dec 22, 2006 at 11:03:07PM -0500, Mark Jacobs wrote:
>  > On Sat, 2006-12-23 at 10:21 +0800, Rong-En Fan wrote:
>  > > On Sat, Dec 23, 2006 at 01:00:58AM +0000, Mark Jacobs wrote:
>  > > > Building GraphicsMagick 1.1.7 port fails with the following error;
>  > > >=20
>  > > > png.c: In function `ReadOnePNGImage':
>  > > > png.c:1712: warning: implicit declaration of function `png_access_ver=
>  sion'
>  > > > png.c:1721: error: `png_ptr' undeclared (first use in this function)
>  > > > png.c:1721: error: (Each undeclared identifier is reported only once
>  > > > png.c:1721: error: for each function it appears in.)
>  > > > *** Error code 1
>  > > >=20
>  > > > Stop in /usr/ports/graphics/GraphicsMagick/work/GraphicsMagick-1.1.7/=
>  coders.
>  > > > *** Error code 1
>  > >=20
>  > > Could you show us your make.conf?
>  > >=20
>  > > Thanks,
>  > > Rong-En Fan
>  >=20
>  > Here it is
>  >=20
>  > # added by use.perl 2006-12-06 18:05:22
>  > PERL_VER=3D5.8.8
>  > PERL_VERSION=3D5.8.8
>  > CPUTYPE=3Dathlon-xp
>  > CFLAGS=3D -O2 -pipe
> 
>  Does remove CPUTYPE help?
> 
>  Thanks,
>  Rong-En Fan
> 
>  --Qxx1br4bt0+wmkIi
>  Content-Type: application/pgp-signature
>  Content-Disposition: inline
> 
>  -----BEGIN PGP SIGNATURE-----
>  Version: GnuPG v1.4.6 (FreeBSD)
> 
>  iD8DBQFFjKsx144QkYb9jGgRAnCHAJsGlRkUvcYVp0Y224LJmJwGCW/fAQCfQKMu
>  zrwxOG/1ZTd7HmIFXnU8WCA=
>  =VMiQ
>  -----END PGP SIGNATURE-----
> 
>  --Qxx1br4bt0+wmkIi--
> _______________________________________________
> freebsd-ports-bugs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports-bugs
> To unsubscribe, send any mail to "freebsd-ports-bugs-unsubscribe@freebsd.org"

A little google'ing help me find that the same error occurred in ImageMagick and was fixed with this patch
around April 30.

+++ coders/png.c	(working copy)
@@ -1755,7 +1755,7 @@
 #if defined(PNG_USE_PNGGCCRD) && defined(PNG_ASSEMBLER_CODE_SUPPORTED) \
 && (PNG_LIBPNG_VER >= 10200)
   /* Disable thread-unsafe features of pnggccrd */
-  if (png_access_version() >= 10200)
+  if (png_access_version_number() >= 10200)
   {
     png_uint_32 mmx_disable_mask=0;
     png_uint_32 asm_flags;
@@ -1764,8 +1764,8 @@
                         | PNG_ASM_FLAG_MMX_READ_FILTER_SUB   \
                         | PNG_ASM_FLAG_MMX_READ_FILTER_AVG   \
                         | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
-    asm_flags=png_get_asm_flags(png_ptr);
-    png_set_asm_flags(png_ptr, asm_flags & ~mmx_disable_mask);
+    asm_flags=png_get_asm_flags(ping);
+    png_set_asm_flags(ping, asm_flags & ~mmx_disable_mask);
   }
 #endif


The line numbers are different, but the code is the same.

Here are the comments from that fix:

There are two bugs here, both in the defined(PNG_USE_PNGGCCRD) &&
defined(PNG_ASSEMBLER_CODE_SUPPORTED) && (PNG_LIBPNG_VER >= 10200) block
around line 1750, both deriving from broken example code in the png.3
manpage (which I shall submit a separate patch against to the libpng
upstream):

 - The code calls png_access_version(), which doesn't exist: the
   correct name is png_access_version_number()

 - it also uses the png_ptr variable... only in this function the
   png_struct variable we want is called `ping'.

2006-04-30  Nix  <nix at esperi.org.uk>

	* coders/png.c (ReadOnePNGImage): Use png_access_version_number(),
        not png_access_version().
        Fix name of png_struct variable.

I have the same error and have CPU_TYPE set to p3.  I think configure enables that section of code if MMX
is supported.  I made the above change and all is well.

Bill Milford




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?!&!AAAAAAAAAAAYAAAAAAAAAE09%2B/5QgBZBvgbigfttNszCgAAAEAAAAOmRUSsCH3dFiF43d80K%2B38BAAAAAA==>