I'm running a fresh install of Solaris 10-sparc, and am having a helluvatime getting stunnel to configure. I come from a Gentoo background, where compiling apps is second nature, and I'm not used to this kind of problem!
I originally installed gcc3.3.2 using the sunfreeware package, and as an afterthought went back again using pkg-get to make sure I had all the dependencies I needed. When I run ./configure, it errors out:
# ./configure configure: **************************************** initialization checking for a BSD-compatible install... /opt/sfw/bin/ginstall -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking build system type... sparc-sun-solaris2.10 checking host system type... sparc-sun-solaris2.10 checking for gcc... gcc 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... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for a BSD-compatible install... /opt/sfw/bin/ginstall -c checking whether make sets $(MAKE)... (cached) yes configure: **************************************** libtool checking for a sed that does not truncate output... /opt/sfw/bin/gsed checking for egrep... egrep checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r checking for BSD-compatible nm... /opt/sfw/lib/bin//nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... /lib/cpp configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details.
relevant chunk of config.log:
configure:2615: checking whether gcc accepts -g configure:2636: gcc -c -g conftest.c >&5 configure:2642: $? = 0 configure:2645: test -z || test ! -s conftest.err configure:2648: $? = 0 configure:2651: test -s conftest.o configure:2654: $? = 0 configure:2665: result: yes configure:2682: checking for gcc option to accept ANSI C configure:2752: gcc -c -g -O2 conftest.c >&5 In file included from conftest.c:13: /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:36:27: iso/stdio_iso.h: No such file or directory /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:105:27: iso/stdio_c99.h: No such file or directory In file included from conftest.c:13: /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:210: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:246: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:247: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:256: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:258: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:282: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:284: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:295: error: parse error before '*' token /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/stdio.h:296: error: parse error before "FILE" In file included from conftest.c:14: /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:27:31: sys/feature_tests.h: No such file or directory /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:28 :26: sys/isa_defs.h: No such file or directory /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:33:27: sys/machtypes.h: No such file or directory /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:45:27: sys/int_types.h: No such file or directory In file included from conftest.c:14: /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:68: error: parse error before "int32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:72: error: parse error before "uint32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:214: error: parse error before "int32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:219: error: parse error before "uint32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:225: error: parse error before "int32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:230: error: parse error before "uint32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:233: error: parse error before "offset_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:234: error: parse error before "u_offset_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:235: error: parse error before "len_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:236: error: parse error before "diskaddr_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:395: error: parse error before "uint16_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:397: error: parse error before "__pthread_mutex_ceiling" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:398: error: parse error before "__pthread_mutex_type" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:399: error: parse error before "__pthread_mutex_magic" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:403: error: parse error before "uint8_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:406: error: parse error before "uint32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:409: error: parse error before "__pthread_mutex_owner64" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:411: error: parse error before "__pthread_mutex_data" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:416: error: parse error before "uint8_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:418: error: parse error before "__pthread_cond_magic" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:420: error: parse error before "__pthread_cond_data" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:427: error: parse error before "int32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:429: error: parse error before "__pthread_rwlock_magic" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:430: error: parse error before "__pthread_rwlock_mutex" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:431: error: parse error before "__pthread_rwlock_readercv" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:432: error: parse error before "__pthread_rwlock_writercv" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:439: error: parse error before "uint32_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:441: error: parse error before "__pthread_barrier_cycle" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:442: error: parse error before "__pthread_barrier_reserved" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:443: error: parse error before "__pthread_barrier_lock" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:444: error: parse error before "__pthread_barrier_cond" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:447: error: parse error before "pthread_spinlock_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:474: error: parse error before "upad64_t" /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/include/sys/types.h:618:24: sys/select.h: No such file or directory conftest.c:15:22: sys/stat.h: No such file or directory conftest.c:18: error: parse error before '*' token conftest.c:18: warning: `struct stat' declared inside parameter list conftest.c:18: warning: its scope is only this definition or declaration, which is probably not what you want conftest.c:18: warning: data definition has no type or storage class conftest.c:47: error: parse error before "FILE" conftest.c:47: warning: `struct stat' declared inside parameter list conftest.c:47: error: `pairnames' declared as function returning a function conftest.c:47: error: parse error before "int" configure:2758: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "stunnel" | #define PACKAGE_TARNAME "stunnel" | #define PACKAGE_VERSION "4.14" | #define PACKAGE_STRING "stunnel 4.14" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "stunnel" | #define VERSION "4.14" | #define HOST "sparc-sun-solaris2.10" | /* end confdefs.h. */ | #include <stdarg.h> | #include <stdio.h> | #include <sys/types.h> | #include <sys/stat.h> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | }
I'm at my wits end at this point. Any help would be greatly appreciated!
# uname -a SunOS foobar 5.10 Generic sun4u sparc SUNW,Sun-Blade-100
# gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.3.2
# make -v GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Thanks
Cam