#2126: Tcl-8.4.17/Tcl-8.5.0
------------------------------------------+---------------------------------
 Reporter:  [EMAIL PROTECTED]  |        Owner:  [email protected]
     Type:  enhancement                   |       Status:  new                  
        
 Priority:  normal                        |    Milestone:  7.0                  
        
Component:  Book                          |      Version:  SVN                  
        
 Severity:  normal                        |   Resolution:                       
        
 Keywords:                                |  
------------------------------------------+---------------------------------
Comment (by Bryan Kadzban):

 The relevant change was in unix/tcl.m4.  In Tcl 8.4.17, the
 SC_MISSING_POSIX_HEADERS macro checks for a different set of headers than
 in Tcl 8.5.0 -- in 8.4.17, it's possible for that macro to AC_DEFINE both
 NO_ERRNO_H and HAVE_UNISTD_H (if the relevant header is either missing or
 present), but neither of those is possible in 8.5.0.  Of course, on Linux,
 NO_ERRNO_H isn't supposed to be defined (since the file does exist), so
 this one won't cause a problem.  But on any OS that does have a unistd.h,
 if HAVE_UNISTD_H doesn't get AC_DEFINE'd, but other headers use that
 symbol (like tclUnixPort.h), then Tcl will have a problem.

 The CVS checkin that made this change is
 [http://tcl.cvs.sourceforge.net/tcl/tcl/unix/tcl.m4?r1=1.118&r2=1.119
 here].  From the log, it sounds like the idea was to "consolidate calls to
 limit redundancy in configure", although I'm not exactly sure what those
 calls are to.  In any case, it looks like this needs to be fixed somehow
 or other.

 There are a couple solutions I can think of.  First, we could patch the
 unistd.h header check back into unix/tcl.m4.  The downside to this is that
 we'd have to rerun all the autofoo on the package, and since Tcl is one of
 the first packages in chapter 6, I'm not sure I'd want to rely on the
 host's autofoo.

 Second, we could patch unix/tclUnixPort.h to just assume that
 HAVE_UNISTD_H is defined, since that '''seems''' to be the intent of the
 change.  We'd also want to patch the value of ac_includes_default in
 unix/configure to either always include <unistd.h>, or never include it --
 I'd recommend always including it.  I can see broken configure tests if
 that header is needed but isn't included (in other words, I'm not sure
 that the 8.5.0 configure script is detecting everything properly).

 It may also be possible to add a -DHAVE_UNISTD_H to the compilation
 command line, but I think we'd have to do that to '''every''' compilation
 command.  So it'd be easier to either keep doing the test, or remove any
 reference to the symbol.

-- 
Ticket URL: <http://wiki.linuxfromscratch.org/lfs/ticket/2126#comment:3>
LFS Trac <http://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to