ports/94287: graphics/ImageMagick does not link when WITH_IMAGEMAGICK_THREADS is on
Coleman Kane
cokane at FreeBSD.org
Thu Mar 9 21:50:13 UTC 2006
>Number: 94287
>Category: ports
>Synopsis: graphics/ImageMagick does not link when WITH_IMAGEMAGICK_THREADS is on
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 09 21:50:11 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Coleman Kane
>Release: 7.0-CURRENT
>Organization:
>Environment:
FreeBSD erwin 7.0-CURRENT FreeBSD 7.0-CURRENT #6: Sun Mar 5 03:16:45 EST 2006 root at erwin:/usr/obj/usr/src/sys/ERWIN amd64
>Description:
When ImageMagick threading is enabled, there is one call to pthread_equal in an assertion in semaphore.c. This function is not implemented on FreeBSD. Furthermore, the call is done in an assert(...) statement, debugging code, so I feel that it is safe to remove (or perhaps replace with a meaningful alternative).
I've attached a patch below to remove the offending statement.
>How-To-Repeat:
Build imagemagick and set WITH_IMAGEMAGICK_THREADS=yes
>Fix:
--- ImageMagick-6.2.5-orig/magick/semaphore.c Wed Jul 13 22:16:40 2005
+++ ImageMagick-6.2.5/magick/semaphore.c Thu Mar 9 16:01:49 2006
@@ -407,7 +407,7 @@
return(MagickFalse);
semaphore_info->lock=MagickFalse;
#if defined(HAVE_PTHREAD)
- assert(pthread_equal(semaphore_info->id,pthread_self()));
+ /* assert(pthread_equal(semaphore_info->id,pthread_self())); */
if (pthread_mutex_unlock(&semaphore_info->mutex) != 0)
return(MagickFalse);
#endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list