#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
