Hi, I have two problems concerning the tcltk-8.0.4-29.src.rpm. (same problem with tcltk-8.0.5-30.src.rpm from RawHide) My Platform: [based on Redhat5.0 + redhat's update files] P200MMX, glibc-2.0.19, binutils-2.9.1.0.13 Linux kernel 2.2.9ac3. Compiler: egcs-1.1.2 BUG 1 of 2) (I have contacted Don libes but he is on travel) When compiling the Expect 5.28, I got the following error. I learn from manpage that the function getpgrp() should take no argument. However, it is called with setpgrp(0,0), in expect_command.c. When I replace all setpgrp(0,0) call with setpgrp(), expect_command.c can be compiled. How does Redhat compile this file without any problem or this is my problem? ----------BUG 1 of 2-----error msg--------------- gcc -pipe -c -I. -I. -I/home/source/BUILD/tcltk-8.0.5/tcl8.0.5/generic -I/home/source/BUILD/tcltk-8.0.5/tk8.0.5/generic -I/usr/X11R6/include -DEXP_VERSION=\"5.28.1\" -DSCRIPTDIR=\"/usr/local/lib/expect5.28\" -DEXECSCRIPTDIR=\"/usr/local/lib/expect5.28\" -DTCL_DEBUGGER -DDFLT_STTY="\"sane\"" exp_command.c exp_command.c: In function `Exp_SpawnCmd': exp_command.c:1220: too many arguments to function `setpgrp' exp_command.c: In function `Exp_DisconnectCmd': exp_command.c:3188: too many arguments to function `setpgrp' make: *** [exp_command.o] Error 1 --------------BUG 1 of 2-----End of Error----------------- BUG 2 of 2) When compiling expect-5.28, the configure file seems to be unable to recognize the pty type of my RH system and I got this error : -----------Bug 2 --- Error msg ---------- gcc -pipe -c -I. -I. -I/home/source/BUILD/tcltk-8.0.5/tcl8.0.5/generic -I/home/source/BUILD/tcltk-8.0.5/tk8.0.5/generic -I/usr/X11R6/include -DEXP_VERSION=\"5.28.1\" -DSCRIPTDIR=\"/usr/local/lib/expect5.28\" -DEXECSCRIPTDIR=\"/usr/local/lib/expect5.28\" -DTCL_DEBUGGER -fPIC -DDFLT_STTY="\"sane\"" expect.c -o shared/expect.o ; \ fi make: *** No rule to make target `pty_.c', needed by `pty_.o'. Stop. Bad exit status from /var/tmp/rpm-tmp.76847 (%build) ---------------End of Bug 2 Error ------------------ I found the corresponding PTY_TYPE field in the Makefile of Expect is empty. --------Excerpt from Makefile of Expect5.28----- PTY_TYPE = PTY = pty_$(PTY_TYPE) CFILES = exp_command.c expect.c $(PTY).c \ exp_inter.c exp_regexp.c exp_tty.c \ exp_log.c exp_main_sub.c exp_pty.c \ exp_printify.c exp_trap.c exp_strf.c \ ------------------------------------------------- Expect has three pty_XXX.c files: pty_sgttyb.c pty_termios.c pty_unicos.c but I still can't compile "Expect" by modifying the Makefile to use one of the above pty file. Thanks. -e_chelon
I packaged and built tcltk-8.0.5-30.src.rpm recently with no problem. Are you using rpm to build as in rpm --rebuild tcltk-8.0.5-30.src.rpm becuase there is IIRC a post-configure patch to "fix" this wartlet? ------- Additional Comments From 06/10/99 22:00 ------- Thanks for your reply. I build it by 1) rpm -i tcltk-8.0.5-30.src.rpm 2) at the SPEC directory, rpm -bb tcltk.spec I don't think this build method would affect the result. Moreover, I don't think there are any patches in the tcltk-8.0.5-30 from RawHide to fix the setpgrp(0,0) problem I mentioned. Your help is needed since I still can't build the package tcltk-8.0.5-30.src.rpm and I can't use the tcltk-8.0.5-30.rpm binary since glibc2.1 is required. Thanks. ------- Additional Comments From 06/10/99 22:06 ------- Sorry I forgot to "sign" my previous reply concerning your question on my build method Thanks -e_chelon
Ah, you're compiling for 5.2. The setpgrp problem appears (I haven't checked) to be that DO_SETSID was not set. Add to RPM_OPT_FLAGS in the spec file if all else fails. To fix the pty problem, don't apply patch #5 (the one called expect-5.28-pty.patch). That patch "hot-wires" UNIX98 ptys.