[...] > $ ./configure [ with my annoying thoughts > interjected ] > checking for gcc... > /opt/studio/SOS12.1/SUNWspro/bin/cc > > Checking for gcc ? Why? Isn't a real C compiler > good enough ?
They're not being precise. The first check is really for _any_ C compiler, although setting CC alters the nature of the check by causing it to use that rather than search the PATH or whatever. > checking for C compiler default output file name... > a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... > no > > Well, no. That was determined above. Actually, it wasn't, since the previous mention of gcc was just naive chauvinism. _This_ check however, is specifically for gcc, and in support of _willful_ chauvinism, inasmuch as if they find gcc, they'll presumably feel free to have code #ifdef'd on that that uses gcc language extensions. > ing whether /opt/studio/SOS12.1/SUNWspro/bin/cc > accepts -g... yes > checking for /opt/studio/SOS12.1/SUNWspro/bin/cc > option to accept ISO > C89... none needed > checking how to run the C preprocessor... > /opt/studio/SOS12.1/SUNWspro/bin/cc -E > checking for a BSD-compatible install... > /usr/bin/ginstall -c > checking whether make sets $(MAKE)... yes > checking for ed... /usr/xpg6/bin/ed > checking for bash... /usr/bin/bash > checking build system type... i386-pc-solaris2.11 > checking host system type... i386-pc-solaris2.11 > checking for grep that handles long lines and -e... > /usr/bin/ggrep > checking for egrep... /usr/bin/ggrep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking minix/config.h usability... no > checking minix/config.h presence... no > checking for minix/config.h... no > checking whether it is safe to define > __EXTENSIONS__... yes > checking for /opt/studio/SOS12.1/SUNWspro/bin/cc > option to accept ISO > C99... none needed > checking for /opt/studio/SOS12.1/SUNWspro/bin/cc > option to accept ISO > Standard C... (cached) none needed > checking for special C compiler options needed for > large files... no > checking for _FILE_OFFSET_BITS value needed for large > files... 64 > checking for ANSI C header files... (cached) yes > checking fcntl.h usability... yes > checking fcntl.h presence... yes > checking for fcntl.h... yes > checking utime.h usability... yes > checking utime.h presence... yes > checking for utime.h... yes > checking for mode_t... yes > checking for off_t... yes > checking for stdbool.h that conforms to C99... yes > checking for _Bool... yes > checking sys/time.h usability... yes > checking sys/time.h presence... yes > checking for sys/time.h... yes > checking for utime.h... (cached) yes > checking for struct utimbuf... yes > checking for d_ino member in directory struct... yes > checking whether system is Windows or MSDOS... no > checking for long file names... yes > checking for pathconf... yes > checking whether // is distinct from /... no > checking whether strerror_r is declared... yes > checking for strerror_r... yes > checking whether strerror_r returns char *... no > checking for error_at_line... no > checking for memchr... yes > > Watch this *** > king whether strndup is declared... no > checking for working strndup... no > *** okay .. saw that ? > cking whether strnlen is declared... yes > checking for working strnlen... yes > *** and that ? Those are some of those new Open Group Issue 7 / IEEE 1003-1.2008 / ISO/IEC 9945:2009 functions that may or may not be present. In another post, I explained why strnlen() is present (and some of the others may not be). [...] > What if we go back a few mores revs? Right into the > basement ? [...] I don't have anything left running Solaris 8 to try this on myself. But I suspect your later problems were ultimately due to the self-configuring tests not being designed altogether properly, but rather making assumptions. Such things should ideally test for each desired feature (that they have their own implementation of if the system doesn't provide it) separately, not entangling them and as much as possible not trying to relate them to a particular OS version or vice versa. If the tests fail to do that, then when their assumptions are violated, the results won't be correct. That is, the auto-configuration may result in code that may not compile, link, or run correctly. That's probably the bottom line, even without knowing the details. The most "correct" fix would be to either the pre-autoconfiguration code, or automake, or something back that far up the chain, although if one didn't have all the tools needed to regenerate a new configure script, one could probably do hacky little things to get around the problem in that one particular case. (I've never used automake to create a configure script myself, not having needed anything more than a couple of #ifdef's to port short simple stuff to the handful of platforms that I'd typically needed to at any given time. So I can't tell you in any detail how to fix this the right way, without having a Solaris 8 environment set up (could in principle do that with a branded zone, except that would require a bloody expensive support contract for home use, I think; the alternative would be to reload one of my 2 UltraSPARC workstations, which would _not_ make me happy either!), and without first learning the tools used to generate the configure script.) -- This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list [email protected]
