darcs

Issue 571 Build error in darcs-unstable on Mac OS X 10.4.11

Title Build error in darcs-unstable on Mac OS X 10.4.11
Priority bug Status resolved
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, fx, kowey, thorkilnaur, tommy, tuxedo
Assigned To
Topics

Created on 2007-12-17.15:49:09 by tuxedo, last changed 2009-08-27.13:52:15 by admin.

Messages
msg2285 (view) Author: tuxedo Date: 2007-12-17.15:49:08
I'm getting a build error with the latest darcs-unstable tree on my Mac 
OS X 10.4.11 (Intel) machine:

[ghc] src/Darcs/External.o

/tmp/ghc26955_0/ghc26955_0.hc:6:20:
      error: termio.h: No such file or directory
make: *** [src/Darcs/External.o] Error 1

Earlier, the configure step gives this output:

checking termio.h usability... no
checking termio.h presence... no
checking for termio.h... no

but it looks like the build is still expecting to find termio.h on the 
system.

I'm able to work around the issue by editing GNUmakefile:

ifeq ($(HAVE_TERMIO_H),True)
# This termio bit is a grim hack for Solaris 10 (at least).
# Without it, SGTTY isn't declared.  Something in the ghc C headers
# which get included before term.h in the generated C is clobbering
# it.  (If you edit that C and put the curses.h and term.h first, the
# error goes away.)
GHCFLAGS_src__Darcs__External.o += '-\#include <termio.h>'
endif

After removing this section of the makefile, I'm able to complete the build.

Keith Browne
tuxedo@funkrehab.com
msg2286 (view) Author: droundy Date: 2007-12-18.02:57:32
On Mon, Dec 17, 2007 at 03:49:09PM -0000, Keith Browne wrote:
> I'm able to work around the issue by editing GNUmakefile:
> 
> ifeq ($(HAVE_TERMIO_H),True)
> # This termio bit is a grim hack for Solaris 10 (at least).
> # Without it, SGTTY isn't declared.  Something in the ghc C headers
> # which get included before term.h in the generated C is clobbering
> # it.  (If you edit that C and put the curses.h and term.h first, the
> # error goes away.)
> GHCFLAGS_src__Darcs__External.o += '-\#include <termio.h>'
> endif
> 
> After removing this section of the makefile, I'm able to complete the build.

Thanks for the bug report!

When you did your build, did you perform

autoconf
./configure
make

Or did you skip the first couple of steps? Normally skipping the first
couple steps is harmless (because GNUMakefile knows how to do them) but I
can't help but wonder if this could be related.

Also, can you look at your autoconf.make, and see what value it has for
HAVE_TERMIO_H? And could you try (on the clean copy) editing that value
to give it some bogus value (like False), and see if that makes any
difference?

This is a rather puzzling bug.  :( (and thanks again for reporting it!)
-- 
David Roundy
Department of Physics
Oregon State University
msg2287 (view) Author: tuxedo Date: 2007-12-18.11:07:45
David Roundy wrote:

> When you did your build, did you perform
> 
> autoconf
> ./configure
> make
> 
> Or did you skip the first couple of steps? Normally skipping the first
> couple steps is harmless (because GNUMakefile knows how to do them) but I
> can't help but wonder if this could be related.

I ran autoconf, configure, make.

> Also, can you look at your autoconf.make, and see what value it has for
> HAVE_TERMIO_H? And could you try (on the clean copy) editing that value
> to give it some bogus value (like False), and see if that makes any
> difference?

After running autoconf and configure, autoconf.mk contains: 
"HAVE_TERMIO_H   := True".  Thing is, there isn't a termio.h under 
/usr/include, and there isn't one under /opt/local (where MacPorts, the 
dread packaging solution, lives), so True is the bogus value, not False.

I'm not sure what you mean by editing the value on the clean copy. 
Which clean copy of what?

Thanks for your quick reply,

Keith Browne
tuxedo@funkrehab.com
msg2288 (view) Author: fx Date: 2007-12-18.13:45:39
Sorry.  I messed up my fix for HAVE_TERMIO_H in the absence of a
platform without the header.  $ac_cv_header_... has values yes or no
-- I must be getting rusty on autoconf.

I'll send a patch when I figure out why I can't unrecord a version
I've recorded with a bad log message.
History
Date User Action Args
2007-12-17 15:49:10tuxedocreate
2007-12-18 02:57:34droundysetstatus: unread -> unknown
nosy: + fx
messages: + msg2286
2007-12-18 11:07:47tuxedosetmessages: + msg2287
2007-12-18 13:45:41fxsetmessages: + msg2288
2008-01-05 15:15:09droundysetstatus: unknown -> resolved
2009-08-06 17:40:25adminsetnosy: + markstos, jast, Serware, dmitry.kurochkin, darcs-devel, zooko, dagit, mornfall, simon, thorkilnaur, - droundy, fx, tuxedo
2009-08-06 20:37:37adminsetnosy: - beschmi
2009-08-10 22:10:05adminsetnosy: + fx, tuxedo, - markstos, darcs-devel, zooko, jast, dagit, Serware, mornfall
2009-08-25 17:53:58adminsetnosy: + darcs-devel, - simon
2009-08-27 13:52:15adminsetnosy: tommy, kowey, fx, darcs-devel, thorkilnaur, tuxedo, dmitry.kurochkin