Opened 13 years ago

Closed 12 years ago

#15844 closed defect (fixed)

cgdb 0.6.4 Build failure

Reported by: nacho319@… Owned by: mf2k (Frank Schima)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: cgdb curses Cc: bob_rossi@…, mike@…, christophe.laferriere@…
Port: cgdb

Description

It seems that cgdb's build flags choose the wrong OS for curses compatibility, leading to a compile error:

Making all in various
Making all in util
Making all in src
if gcc -DHAVE_CONFIG_H -I. -I. -I../../..   -I/opt/local/include -I./../include -O2 -MT pseudo.o -MD -MP -MF ".deps/pseudo.Tpo" -c -o pseudo.o pseudo.c; \
	then mv -f ".deps/pseudo.Tpo" ".deps/pseudo.Po"; else rm -f ".deps/pseudo.Tpo"; exit 1; fi
pseudo.c: In function ‘pty_open’:
pseudo.c:338: error: ‘I_PUSH’ undeclared (first use in this function)
pseudo.c:338: error: (Each undeclared identifier is reported only once
pseudo.c:338: error: for each function it appears in.)
pseudo.c: At top level:
pseudo.c:736: fatal error: opening dependency file .deps/pseudo.Tpo: Permission denied
compilation terminated.
make[4]: *** [pseudo.o] Error 1

which corresponds to this snippet of code for cgdb getting a pseudo tty I believe:

	/* Turn the slave into a terminal */

#ifndef HAVE_CYGWIN 
#ifndef HAVE_LINUX /* linux does not use the streams module */
	/*
	 * Push the appropriate streams modules, as described in Solaris pts(7).
	 * HP-UX pts(7) doesn't have ttcompat module.
	 */
	if (ioctl(*slavefd, I_PUSH, "ptem") == -1)
	{
		close(*masterfd);
		close(*slavefd);
		return -1;
	}

	if (ioctl(*slavefd, I_PUSH, "ldterm") == -1)
	{
		close(*masterfd);
		close(*slavefd);
		return -1;
	}

#ifndef __hpux
	if (ioctl(*slavefd, I_PUSH, "ttcompat") == -1)
	{
		close(*masterfd);
		close(*slavefd);
		return -1;
	}
#endif
#endif
#endif

Attachments (1)

patch-various-util-src-pseudo.c.diff (670 bytes) - added by jauricchio@… 12 years ago.
Quick hack to get it to compile

Download all attachments as: .zip

Change History (10)

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Cc: jfrederich@… added

Cc: maintainer.

comment:2 Changed 13 years ago by ryandesign (Ryan Schmidt)

Cc: jfrederich@… removed
Owner: changed from macports-tickets@… to jfrederich@…

Assigning to maintainer.

comment:3 Changed 12 years ago by dweber@…

Cc: bob_rossi@… mike@… added

Adding the cgdb maintainers so we might get some action on this ticket and get it working for OSX.

Maybe the configure options can be adapted to avoid this build error.

comment:4 Changed 12 years ago by christophe.laferriere@…

Cc: christophe.laferriere@… added

Cc Me!

comment:5 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Changed 12 years ago by jauricchio@…

Quick hack to get it to compile

comment:6 Changed 12 years ago by jauricchio@…

Here's a simple patch to kludge around the code the original reporter mentioned. Compiles and launches. Not tested yet; I'm new to cgdb but if I encounter tty-related bugs or oddness, I'll see if they're caused by my changes and report back here.

This code is from libslack, not cgdb proper. There has been a new release of libslack, and it claims to support OS X. A good fix would be a patch to bring cgdb in line with whatever libslack does to build on OS X. A better fix would be getting upstream cgdb to update their libslack.

comment:7 Changed 12 years ago by mf2k (Frank Schima)

Port: cgdb added

comment:8 Changed 12 years ago by mf2k (Frank Schima)

Owner: changed from jfrederich@… to macsforever2000@…
Status: newassigned

Maintainer timeout.

comment:9 Changed 12 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: assignedclosed

Committed revision r52098. Now it compiles and runs. Thanks!

Note: See TracTickets for help on using tickets.