Date: Wed, 22 Jan 2003 12:18:58 +0900 (JST) From: KANOU Hiroki <kanou@mil.allnet.ne.jp> To: FreeBSD-gnats-submit@FreeBSD.org Cc: kanou@mil.allnet.ne.jp Subject: ports/47344: ImageMagick fails to compile Message-ID: <200301220318.h0M3IwEb072108@kappa.allnet.ne.jp>
next in thread | raw e-mail | index | archive | help
>Number: 47344 >Category: ports >Synopsis: ImageMagick fails to compile >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 21 19:20:01 PST 2003 >Closed-Date: >Last-Modified: >Originator: KANOU Hiroki >Release: FreeBSD 4.7-STABLE i386 >Organization: >Environment: System: FreeBSD tin 4.7-STABLE FreeBSD 4.7-STABLE #0: Wed Oct 16 19:06:15 JST 2002 kanou@tin:/usr/src/sys/compile/TIN i386 # $FreeBSD: ports/graphics/ImageMagick/Makefile,v 1.158 2002/11/28 16:37:32 lioux Exp $ # $FreeBSD: ports/graphics/jasper/Makefile,v 1.4 2003/01/19 20:26:57 sobomax Exp $ >Description: ImageMagick fails to compile after jasper was updated. >How-To-Repeat: # cd /usr/ports/graphics/ImageMagick # make ===> Extracting for ImageMagick-5.5.1.4 >Fix: Update ImageMagick port to current (5.5.3-2) or apply this patch to the port. Code was taken from current jp2.c. This patch creates ImageMagic/files/patch-coders::jp2.c diff -uNr ImageMagick.orig/files/patch-coders::jp2.c ImageMagick/files/patch-coders::jp2.c --- ImageMagick.orig/files/patch-coders::jp2.c Thu Jan 1 09:00:00 1970 +++ ImageMagick/files/patch-coders::jp2.c Wed Jan 22 12:07:37 2003 @@ -0,0 +1,125 @@ +--- coders/jp2.c.orig Sun Oct 13 01:41:32 2002 ++++ coders/jp2.c Fri Dec 27 11:46:44 2002 +@@ -73,10 +74,16 @@ + #if !defined(ulonglong) + #define ulonglong unsigned long long + #endif ++#if !defined(JAS_IMAGE_CS_GRAY) ++#define JAS_IMAGE_CS_GRAY 1 ++#endif ++#if !defined(JAS_IMAGE_CS_RGB) ++#define JAS_IMAGE_CS_RGB 2 ++#endif + #ifdef __VMS +-#define JAS_VERSION 1.500.4 ++#define JAS_VERSION 1.600.0 + #define PACKAGE jasper +-#define VERSION 1.500.4 ++#define VERSION 1.600.0 + #endif + #include "jasper/jasper.h" + #endif +@@ -317,17 +324,17 @@ + image=AllocateImage(image_info); + status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception); + if (status == False) +- ThrowWriterException(FileOpenError,"Unable to open file",image); ++ ThrowWriterException(FileOpenError,"UnableToOpenFile",image); + /* + Initialize JPEG 2000 API. + */ + jas_init(); + jp2_stream=JP2StreamManager(image); + if (jp2_stream == (jas_stream_t *) NULL) +- ThrowReaderException(FileOpenError,"Unable to manage JP2 stream",image); ++ ThrowReaderException(DelegateError,"UnableToManageJP2Stream",image); + jp2_image=jas_image_decode(jp2_stream,-1,0); + if (jp2_image == (jas_image_t *) NULL) +- ThrowReaderException(FileOpenError,"Unable to decode image file",image); ++ ThrowReaderException(DelegateError,"UnableToDecodeImageFile",image); + /* + Convert JPEG 2000 pixels. + */ +@@ -337,10 +344,10 @@ + { + (void) jas_stream_close(jp2_stream); + jas_image_destroy(jp2_image); +- CloseBlob(image); + return(image); + } + number_components=Min(jas_image_numcmpts(jp2_image),4); ++ image->matte=number_components > 3; + for (i=0; i < (long) number_components; i++) + { + if (jas_image_cmptprec(jp2_image,i) <= 8) +@@ -349,8 +356,7 @@ + if (pixels[i] == (jas_matrix_t *) NULL) + { + jas_image_destroy(jp2_image); +- ThrowReaderException(ResourceLimitError,"Unable to allocate memory", +- image) ++ ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed",image) + } + } + for (y=0; y < (long) image->rows; y++) +@@ -415,7 +421,6 @@ + jas_matrix_destroy(pixels[i]); + (void) jas_stream_close(jp2_stream); + jas_image_destroy(jp2_image); +- CloseBlob(image); + return(image); + } + #endif +@@ -575,15 +582,15 @@ + assert(image->signature == MagickSignature); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + if (status == False) +- ThrowWriterException(FileOpenError,"Unable to open file",image); ++ ThrowWriterException(FileOpenError,"UnableToOpenFile",image); + /* + Intialize JPEG 2000 API. + */ +- (void) TransformRGBImage(image,RGBColorspace); ++ (void) TransformRGBImage(image,image->colorspace); + jas_init(); + jp2_stream=JP2StreamManager(image); + if (jp2_stream == (jas_stream_t *) NULL) +- ThrowWriterException(FileOpenError,"Unable to manage JP2 stream",image); ++ ThrowWriterException(DelegateError,"UnableToManageJP2Stream",image); + number_components=image->matte ? 4 : 3; + if ((image_info->type != TrueColorType) && + IsGrayImage(image,&image->exception)) +@@ -598,9 +605,9 @@ + component_info[i].prec=(unsigned int) image->depth <= 8 ? 8 : 16; + } + jp2_image=jas_image_create((short) number_components,component_info, +- number_components == 1 ? JAS_IMAGE_CM_GRAY : JAS_IMAGE_CM_RGB); ++ number_components == 1 ? JAS_IMAGE_CS_GRAY : JAS_IMAGE_CS_RGB); + if (jp2_image == (jas_image_t *) NULL) +- ThrowWriterException(FileOpenError,"Unable to create image",image); ++ ThrowWriterException(DelegateError,"UnableToCreateImage",image); + /* + Convert to JPEG 2000 pixels. + */ +@@ -612,8 +619,7 @@ + for (x=0; x < i; x++) + jas_matrix_destroy(pixels[x]); + jas_image_destroy(jp2_image); +- ThrowWriterException(ResourceLimitError,"Unable to allocate memory", +- image) ++ ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed",image) + } + } + for (y=0; y < (long) image->rows; y++) +@@ -686,10 +692,9 @@ + FormatString(options,"rate=%lf",(double) image_info->quality/100.0); + status=jas_image_encode(jp2_image,jp2_stream,format,options); + if (status) +- ThrowWriterException(FileOpenError,"Unable to encode image file",image); ++ ThrowWriterException(DelegateError,"UnableToEncodeImageFile",image); + (void) jas_stream_close(jp2_stream); + jas_image_destroy(jp2_image); +- CloseBlob(image); + return(True); + } + #endif >Release-Note: >Audit-Trail: >Unformatted: >> Checksum OK for ImageMagick-5.5.1-4.tar.gz. <snip> /bin/sh ../libtool --silent --mode=compile cc -DHAVE_CONFIG_H -I../ -I. -I. -I../magick -I.. -I.. -I../magick -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/X11R6/include -I/usr/local/include/libxml2 -O -pipe -Wall -Wall -c -o jp2.lo `test -f 'jp2.c' || echo './'`jp2.c In file included from /usr/local/include/jasper/jasper.h:121, from jp2.c:81: /usr/local/include/jasper/jas_image.h:152: warning: `/*' within comment jp2.c: In function `WriteJP2Image': jp2.c:601: `JAS_IMAGE_CM_GRAY' undeclared (first use in this function) jp2.c:601: (Each undeclared identifier is reported only once jp2.c:601: for each function it appears in.) jp2.c:601: `JAS_IMAGE_CM_RGB' undeclared (first use in this function) jp2.c:686: warning: use of `l' length character with `f' type character gmake[1]: *** [jp2.lo] Error 1 gmake[1]: Leaving directory `/usr/ports/graphics/ImageMagick/work/ImageMagick-5.5.1/coders' gmake: *** [all-recursive] Error 1 *** Error code 2 Stop in /usr/ports/graphics/ImageMagick. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301220318.h0M3IwEb072108>