On 7/28/11 10:07 PM, Daniel Johnson wrote:
>
> On Jul 28, 2011, at 5:01 PM, Alexander Hansen wrote:
>
>> I get a runtime error from drawtiming if using the libraries from
>> graphicsmagick-shlibs-1.3.12-1 (any Mac platform):
>>
>> $ drawtiming -o test.png /sw/share/drawtiming/samples/guenter.txt
>> Assertion failed: (semaphore_info != (SemaphoreInfo *) NULL), function
>> LockSemaphoreInfo, file magick/semaphore.c, line 525.
>>
>> By contrast, with graphicsmagick-shlibs-1.3.7-2 installed, I get the
>> following:
>>
>> $ drawtiming -o test.png /sw/share/drawtiming/samples/guenter.txt
>> $
>>
>> and test.png is generated
>>
>> Looking at the graphicsmagick sources, magick/semaphore.c has the
>> following on 1.3.12-1:
>>
>> MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
>> {
>> assert(semaphore_info != (SemaphoreInfo *) NULL);
>> assert(semaphore_info->signature == MagickSignature);
>> #if defined(USE_POSIX_THREADS)
>> PTHREAD_MUTEX_LOCK(&semaphore_info->mutex);
>> #endif
>> #if defined(USE_WIN32_THREADS)
>> EnterCriticalSection(&semaphore_info->mutex);
>> #endif
>> }
>>
>> and on 1.3.7-2:
>>
>> MagickExport MagickPassFail LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
>> {
>> MagickPassFail
>> status=MagickPass;
>>
>> assert(semaphore_info != (SemaphoreInfo *) NULL);
>> /* assert(semaphore_info->signature == MagickSignature); */
>> #if defined(USE_POSIX_THREADS)
>> {
>> int
>> err_status;
>>
>> if ((err_status = pthread_mutex_lock(&semaphore_info->mutex)) != 0)
>> {
>> errno=err_status;
>> status=MagickFail;
>> }
>> }
>> #endif
>> #if defined(USE_WIN32_THREADS)
>> EnterCriticalSection(&semaphore_info->mutex);
>> #endif
>> return(status);
>> }
>>
>>
>> --
>> Alexander Hansen, Ph.D.
>> Fink User Liaison
>> http://finkakh.wordpress.com/
>
> This is known:
> http://sourceforge.net/tracker/?func=detail&aid=3104518&group_id=73485&atid=537937
>
> The problem is actually in drawtiming. It's supposed to call
> InitializeMagick() before doing anything but isn't. Apparently while this was
> always supposed to be required, it used to work by accident. Now it's a hard
> requirement.
>
> Daniel
>
Thanks for finding this. Drawtiming is now fixed for all.
--
Alexander Hansen, Ph.D.
Fink User Liaison
http://finkakh.wordpress.com/
------------------------------------------------------------------------------
Got Input? Slashdot Needs You.
Take our quick survey online. Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Fink-devel mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel