Here is a small patch to get meteor_fgrab_widget_0.8 framegrabber widget working with Tcl/Tk 8.0 on Linux RedHat 6.1. With this, I have it working. The colors are a bit strange, but I guess that is a local problem. :-) diff -ru meteor_fgrab_widget_0.8/Makefile meteor_fgrab_widget_0.8-pere/Makefile --- meteor_fgrab_widget_0.8/Makefile Mon Feb 10 22:54:51 1997 +++ meteor_fgrab_widget_0.8-pere/Makefile Tue Dec 14 14:27:05 1999 @@ -9,7 +9,7 @@ fgrab_wish: fgrab_tkAppInit.o fgrab_meteor.o cc -o fgrab_wish-$(VERSION) fgrab_tkAppInit.o $(FGRAB_METEOR).o\ -L/usr/X11R6/lib\ - -ltk4.1 -ltcl7.5 -lXext -lX11 -lm -ldl + -ltk8.0 -ltcl8.0 -lXext -lX11 -lm -ldl fgrab_tkAppInit.o: fgrab_tkAppInit.c; cc -c -g fgrab_tkAppInit.c fgrab_meteor.o: $(FGRAB_METEOR).c; cc -D$(FORMAT) -D$(DEVICE) -D$(BOARD) -c -g $(FGRAB_METEOR).c diff -ru meteor_fgrab_widget_0.8/fgrab_meteor-0.8.c meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.c --- meteor_fgrab_widget_0.8/fgrab_meteor-0.8.c Mon Feb 10 23:22:16 1997 +++ meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.c Tue Dec 14 14:43:25 1999 @@ -55,18 +55,8 @@ static struct meteor_geomet geo; static struct meteor_frame_offset off; - - -static struct sigaction sigact = -((struct sigaction){ sa_handler: FGrabGotFrame, - sa_mask: (sigset_t)0, - sa_flags: SA_RESTART }); - -static struct sigaction sigalrm = -((struct sigaction){ sa_handler: FGrabCountFrame, - sa_mask: (sigset_t)SIGUSR2, - sa_flags: SA_RESTART }); - +static struct sigaction sigact; +static struct sigaction sigalrm; static void FGrabCountFrame( int signum ) { @@ -953,6 +943,12 @@ if (!(FGrabReg & FPSCOUNT)) { FGrabReg |= FPSCOUNT; /* hier muß noch der alte Wert von Sigaction gespeichert werden !! */ + + sigalrm.sa_handler = FGrabCountFrame; + sigalrm.sa_flags = SA_RESTART; + sigemptyset(&sigalrm.sa_mask); + sigaddset(&sigalrm.sa_mask, SIGUSR2); + if (sigaction (SIGALRM, &sigalrm, NULL)) { Tcl_AppendResult (interp, "alrmaction failed", (char *) NULL); return TCL_ERROR; @@ -1012,6 +1008,9 @@ geo.frames = NOFRAMES; geo.oformat = fgrabPtr->video.oformat | fgrabPtr->fieldmode; + sigact.sa_handler = FGrabGotFrame; + sigact.sa_flags = SA_RESTART; + sigemptyset(&sigact.sa_mask); if (sigaction (SIGUSR2, &sigact, NULL)) { Tcl_AppendResult (interp, "sigaction failed", (char *) NULL); return TCL_ERROR; Only in meteor_fgrab_widget_0.8-pere: fgrab_meteor-0.8.c~ diff -ru meteor_fgrab_widget_0.8/fgrab_meteor-0.8.h meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.h --- meteor_fgrab_widget_0.8/fgrab_meteor-0.8.h Mon Feb 10 22:53:23 1997 +++ meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.h Tue Dec 14 13:59:54 1999 @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -37,7 +38,10 @@ #include #include +/* Does not compile on newer glibc */ +#if 0 #include +#endif #include #include Only in meteor_fgrab_widget_0.8-pere: fgrab_meteor-0.8.o Only in meteor_fgrab_widget_0.8-pere: fgrab_tkAppInit.o Binary files meteor_fgrab_widget_0.8/fgrab_wish-0.8 and meteor_fgrab_widget_0.8-pere/fgrab_wish-0.8 differ Only in meteor_fgrab_widget_0.8-pere: meteor_fgrab_widget_0.8.lsm