I can't find ports or binaries for tclMagick, and the auto* is a bit
problematic (so what else is new?). Has anyone had any joy in compiling
the cvs version of tclMagick/tkMagick against Imagemagick 6.2.3 on FreeBSD
6.1-Release?
Cheers,
Rob.
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= East/West-Coast Server Farms - Total Privacy via Encryption =---
You may have better luck using the unversioned gnu-autotools port. Install,
then add /usr/local/gnu-autotools/bin to your PATH.
>Has anyone had any joy in compiling
>the cvs version of tclMagick/tkMagick against Imagemagick 6.2.3 on FreeBSD
>6.1-Release?
Never dabbled in it myself. What is it, anyway?
--
Conrad J. Sabatier <con...@cox.net> -- "In Unix veritas"
> I can't find ports or binaries for tclMagick, and the auto* is a bit
> problematic (so what else is new?). Has anyone had any joy in compiling
> the cvs version of tclMagick/tkMagick against Imagemagick 6.2.3 on FreeBSD
> 6.1-Release?
I compile successfully w/ FBSD 4.8. Shouldn't be much different w/ 6.1
Start with the cvs version of TclMagick
I then rebuild all the auto stuff using automake 1.9 and autoconf 2.59.
Why? I just do -- gotten into the habit of doing this for most things
since it saves tons of disk space. In any event, even if running the
supplied configure results in a Makefile that doesn't work, it's pretty
easy to either fix it by hand (since there are only two .c's that need
to be compiles) or just make your own makefile.
There are a couple of bugs -- I've submitted these to sourceforge but it
seems that no one really looks at them. The patch is below.
The docs are really lacking... it's like pulling teeth to figure out
how to use it, and trying to find out just what exactly each
ImageMagick command does is also frustrating even with the official
ImageMagick docs.
I use the result with Tcl on both FBSD and Cygwin (compiled for Cygwin,
of course). I'm up to v. 6.2.8 of ImageMagick.
----------
Clear exception from wand after extracting the pertinent information,
otherwise the next time the wand is used the exception will still be
present
Fix wrong sense of compare of objc
=============================================================================
--- TclMagick.c 2005/01/22 21:38:52 0.45
+++ TclMagick.c 2006/02/22 06:22:31 0.45.1.2
@@ -61,6 +61,7 @@
if( description != NULL ) {
MagickRelinquishMemory(description);
}
+ MagickClearException(wandPtr);
/*
* if(severity < ErrorException) --> warning
* return TCL_OK ???
@@ -463,7 +464,7 @@
"resourceType", 0, &resourceIdx) != TCL_OK) {
return TCL_ERROR;
}
- if (objc == 3) {
+ if (objc == 4) {
/*
* Set channel depth
*/
> You may have better luck using the unversioned gnu-autotools port. Install,
> then add /usr/local/gnu-autotools/bin to your PATH.
>
Hmmm ... seems like good advice to me ... 8-)
> >Has anyone had any joy in compiling
> >the cvs version of tclMagick/tkMagick against Imagemagick 6.2.3 on FreeBSD
> >6.1-Release?
>
> Never dabbled in it myself. What is it, anyway?
Tcl/Tk binding for ImageMagick ... a really nice image manipulation
tool(s) with batch capabilities, image conversion, overlays, and many
sophisticated graphical operations ...
Thanks for the auto* info.
Cheers,
Rob
> I compile successfully w/ FBSD 4.8. Shouldn't be much different w/ 6.1
>
> Start with the cvs version of TclMagick
> I then rebuild all the auto stuff using automake 1.9 and autoconf 2.59.
> Why? I just do -- gotten into the habit of doing this for most things
> since it saves tons of disk space. In any event, even if running the
> supplied configure results in a Makefile that doesn't work, it's pretty
> easy to either fix it by hand (since there are only two .c's that need
> to be compiles) or just make your own makefile.
> There are a couple of bugs -- I've submitted these to sourceforge but it
> seems that no one really looks at them. The patch is below.
> The docs are really lacking... it's like pulling teeth to figure out
> how to use it, and trying to find out just what exactly each
> ImageMagick command does is also frustrating even with the official
> ImageMagick docs.
Actually, it seems that the CVS TclMagick is wonky just now. I took the
0.45 release from sf.net, and that has a pre-build configure file, and
seems to work ok ...
>
> I use the result with Tcl on both FBSD and Cygwin (compiled for Cygwin,
> of course). I'm up to v. 6.2.8 of ImageMagick.
>
Have you compiled with MingW32? That's my next mission ...
> ----------
>
> Clear exception from wand after extracting the pertinent information,
> otherwise the next time the wand is used the exception will still be
> present
Patch noted, accepted and applied ... thanks ...
Cheers,
Rob.
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Oops...guess it doesn't automatically notify the maintainers. I'll try
and remember to fix that in CVS when I'm back from vacation.
Thanks!
Dave
> Actually, it seems that the CVS TclMagick is wonky just now. I took the
> 0.45 release from sf.net, and that has a pre-build configure file, and
> seems to work ok ...
The cvs version has the following fix:
--- TkMagick.c 2005/01/12 15:02:57 0.45
+++ TkMagick.c 2005/02/19 08:02:40 0.45.1.1
@@ -56,7 +56,7 @@
photoname = Tcl_GetStringFromObj(objv[2], NULL);
photohandle = Tk_FindPhoto(interp, photoname);
if (photohandle == NULL) {
- Tcl_AddErrorInfo(interp, "Not a photo image.");
+ Tcl_AppendResult(interp, "Not a photo image.", NULL);
return TCL_ERROR;
}
@@ -147,7 +147,7 @@
photohandle = Tk_FindPhoto(
interp, photoname);
if (photohandle == NULL) {
- Tcl_AddErrorInfo(interp, "Not a photo image.");
+ Tcl_AppendResult(interp, "Not a photo image.", NULL);
return TCL_ERROR;
}
Tk_PhotoGetImage(photohandle, &photoblock);
@@ -183,7 +183,7 @@
}
break;
default:
- Tcl_AddErrorInfo(interp, "Unsupported pixelSize in Tk image.");
+ Tcl_AppendResult(interp, "Unsupported pixelSize in Tk image.", NULL);
return TCL_ERROR;
};
>>I use the result with Tcl on both FBSD and Cygwin (compiled for Cygwin,
>>of course). I'm up to v. 6.2.8 of ImageMagick.
>>
>
>
> Have you compiled with MingW32? That's my next mission ...
Using cygwin's gcc (some of the compiler args come from the t*Config.sh's):
$ gcc -mno-cygwin -DVERSION=\"0.45.1\" -DHAVE_NO_LPFN_DECLS=1 -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -Igeneric -I'C:/Program Files/Tcl'/include -I'C:/Program Files/ImageMagick/include' -Wall -Wconversion -Wno-implicit-int -c -o TclMagick.o TclMagick.c
$ gcc -mno-cygwin -shared -L'C:/Program Files/Tcl'/lib -L'C:/Program Files/ImageMagick/lib' -L'C:/Program Files/ImageMagick' -o libTclMagick.dll TclMagick.o -ltclstub84 -lCORE_RL_wand_ -lCORE_RL_magick_
$ gcc -mno-cygwin -DVERSION=\"0.45.1\" -DHAVE_NO_LPFN_DECLS=1 -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -Igeneric -I'C:/Program Files/Tcl'/include -I'C:/Program Files/ImageMagick/include' -Wall -Wconversion -Wno-implicit-int -c -o TkMagick.o TkMagick.c
$ gcc -mno-cygwin -shared -L'C:/Program Files/Tcl'/lib -L'C:/Program Files/ImageMagick/lib' -L'C:/Program Files/ImageMagick' -o libTkMagick.dll TkMagick.o libTclMagick.dll -ltkstub84 -ltclstub84 -lCORE_RL_wand_ -lCORE_RL_magick_
I know next to nothing about programming windoze, but this produces .dll's
that work with Active State's TCL
On Wed, 26 Jul 2006, Dave Bodenstab wrote:
> Date: Wed, 26 Jul 2006 17:39:40 GMT
> From: Dave Bodenstab <dave_bo...@sbcglobal.net>
> Newsgroups: comp.unix.bsd.freebsd.misc, comp.lang.tcl
> Subject: Re: Help on tclMagick on FreeBSD 6.1 ... any joy?
>
> sp...@controlq.com wrote:
>
> > Actually, it seems that the CVS TclMagick is wonky just now. I took the
> > 0.45 release from sf.net, and that has a pre-build configure file, and
> > seems to work ok ...
>
> The cvs version has the following fix:
>
> --- TkMagick.c 2005/01/12 15:02:57 0.45
> +++ TkMagick.c 2005/02/19 08:02:40 0.45.1.1
> @@ -56,7 +56,7 @@
> photoname = Tcl_GetStringFromObj(objv[2], NULL);
> photohandle = Tk_FindPhoto(interp, photoname);
Dave,
Thanks patch and info ack.