latest minicom/cvs missing required TCGETS symbol on osx

Adam Lackorzynski adam at os.inf.tu-dresden.de
Thu Nov 8 22:11:24 UTC 2007


On Wed Nov 07, 2007 at 14:42:21 -0800, snowcrash wrote:
> on/about Sep 4, i'd co'd minicom cvs/head, and built without problem
> on osx 10.4.10.
> 
> i've recently upgrade to osx 10.5.0 (Leopard).
> 
> and, i've just co'd a fresh minicom cvs/head.
 
Thanks for testing.

> building,
> 
> 	./configure ...
> 
> completes without error.
> 
> subsequent,
> 
> 	make
> 
> fails at,
> 
> 	...
> 	gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/local/include/ncurses
> -I/usr/local/include/ -I../lib -DCONFDIR=\"/usr/local/etc\"
> -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include/ncurses
> -I/usr/local/include/ -g -O2 -Wall -W -g -O2 -c main.c
> 	main.c: In function 'get_device_status':
> 	main.c:533: error: 'TCGETS' undeclared (first use in this function)
> 	main.c:533: error: (Each undeclared identifier is reported only once
> 	main.c:533: error: for each function it appears in.)
> 	make[2]: *** [main.o] Error 1
> 	make[1]: *** [all-recursive] Error 1
> 	make: *** [all] Error 2
> 
> exploring, and comparing with minicom release v2.2,
> 
> 	grep -rlni TCGETS /build/minicom-2.2
> 		(empty)
> 	
> 	grep -rlni TCGETS /build/minicom-cvs
> 		./src/main.c
> 	
> 	grep TCGETS -B5 -A5 ./src/main.c
> 		static int get_device_status(int fd)
> 		{
> 		  struct termios t;
> 		  if (portfd_is_socket && portfd_is_connected)
> 			return 1;
> 		  return !ioctl(fd, TCGETS, &t);
> 		}
> 		
> 		/* Update the timer display. This can also be called from updown.c */
> 		void timer_update(void)
> 		{
> 
> it seems minicom's reference to TCGETS is new/recent.
> 
> unfortunately, it's not found in my dev env.
> 
> can someone point me to the symbol source, or help a bit with a workaround?

Ok, unfortunate. I added this for detecting when a device disappears
(e.g. USB devices). I'd like to know what happens on MacOS X there. Do
you happen to have a USB-Serial device which you could unplug while
minicom listens on this device? (I guess a recent Mac won't have a
serial port so a USB-Serial device isn't that unlikely).
As a workaround you can change the return !ioctl(fd, TCGETS, &t); to
return 1;


Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/



More information about the minicom-devel mailing list