[Bug 601] configure script doesen't setup preprocessor flags properly

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Tue Jun 24 16:01:18 EST 2003


http://bugzilla.mindrot.org/show_bug.cgi?id=601

           Summary: configure script doesen't setup preprocessor flags
                    properly
           Product: Portable OpenSSH
           Version: 3.6.1p2
          Platform: Sparc
        OS/Version: Solaris
            Status: NEW
          Severity: major
          Priority: P2
         Component: Build system
        AssignedTo: openssh-bugs at mindrot.org
        ReportedBy: tedm at toybox.placo.com


The target system is a Sun Sparc 5, running Solaris 2.5.1 with all the
OS patches.  OpenSSL version 0.9.7b is installed and passed all tests.
Perl version 5.8.0 is installed.

Note that Solaris 2.5.1 does not come with openSSL installed, so the
openssl include files are NOT present in /usr/include.  They are
only available in /usr/local/ssl/include and for whatever reason
openssl puts them in a subdir of that, /usr/local/ssl/include/openssl

The initial run of configure aborted when it couldn't find openSSL installed.
A subsequent run of configure was made with the following invocation:

CFLAGS="-I/usr/local/ssl/include/openssl" LDFLAGS="-
L /usr/local/lib:/usr/local/ssl/lib" ./configure --with-skey --with-ssl-
dir=/usr/local/ssl

configure did properly detect openssl and completed it's run, however it
produced the following output, note the correct compiler flag and the
differing and incorrect C preprocessor flag:

.
.
.
config.status: creating config.h

OpenSSH has been configured with the following options:
                     User binaries: /usr/local/bin
                   System binaries: /usr/local/sbin
               Configuration files: /usr/local/etc
                   Askpass program: /usr/local/libexec/ssh-askpass
                      Manual pages: /usr/local/man/manX
                          PID file: /usr/local/etc
  Privilege separation chroot path: /var/empty
            sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
                    Manpage format: man
                       PAM support: no
                KerberosIV support: no
                 KerberosV support: no
                 Smartcard support: no
                       AFS support: no
                     S/KEY support: yes
              TCP Wrappers support: no
              MD5 password support: no
       IP address in $DISPLAY hack: no
          Use IPv4 by default hack: no
           Translate v4 in v6 hack: no
                  BSD Auth support: no
              Random number source: OpenSSL internal ONLY

              Host: sparc-sun-solaris2.5.1
          Compiler: gcc
    Compiler flags: -I/usr/local/ssl/include/openssl -Wall -Wpointer-arith -Wno-
uninitialized
Preprocessor flags: -I/usr/local/ssl/include  -I/usr/local/include
      Linker flags: -L/usr/local/ssl/lib -R/usr/local/ssl/lib -
L /usr/local/lib:/usr/local/ssl/lib -L/usr/local/lib -R/usr/local/lib
         Libraries:   -lgen -lposix4 -lskey -lz -lsocket -lnsl  -lcrypto  


also on Solaris pid files normally go in /var/run

Also note on Solaris 2.5.1 that the out of the box openssl config builds with 
static, not shared, libraries.  Thus the -R flag is unneeded because openSSH 
has to statically link in libcrypto.a


Here is the configure run:

# CFLAGS="-I/usr/local/ssl/include/openssl" LDFLAGS="-
L /usr/local/lib:/usr/local/ssl/lib" ./configure --with-skey --with-ssl-
dir=/usr/local/ssl
checking for gcc... gcc
checking for C compiler default output... 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 build system type... sparc-sun-solaris2.5.1
checking host system type... sparc-sun-solaris2.5.1
checking whether byte ordering is bigendian... yes
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for a BSD-compatible install... ./install-sh -c
checking for ar... /usr/ccs/bin/ar
checking for perl5... no
checking for perl... /usr/bin/perl
checking for sed... /usr/bin/sed
checking for ent... no
checking for bash... no
checking for ksh... /usr/bin/ksh
checking for sh... (cached) /usr/bin/ksh
checking for sh... /usr/bin/sh
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for login... /usr/bin/login
checking for inline... inline
checking for obsolete utmp and wtmp in solaris2.x... no
checking for egrep... egrep
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... no
checking for stdint.h... no
checking for unistd.h... yes
checking bstring.h usability... no
checking bstring.h presence... no
checking for bstring.h... no
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking endian.h usability... no
checking endian.h presence... no
checking for endian.h... no
checking floatingpoint.h usability... yes
checking floatingpoint.h presence... yes
checking for floatingpoint.h... yes
checking getopt.h usability... no
checking getopt.h presence... no
checking for getopt.h... no
checking glob.h usability... yes
checking glob.h presence... yes
checking for glob.h... yes
checking ia.h usability... no
checking ia.h presence... no
checking for ia.h... no
checking lastlog.h usability... yes
checking lastlog.h presence... yes
checking for lastlog.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking login.h usability... no
checking login.h presence... no
checking for login.h... no
checking login_cap.h usability... no
checking login_cap.h presence... no
checking for login_cap.h... no
checking maillock.h usability... yes
checking maillock.h presence... yes
checking for maillock.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netgroup.h usability... no
checking netgroup.h presence... no
checking for netgroup.h... no
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking paths.h usability... no
checking paths.h presence... no
checking for paths.h... no
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking readpassphrase.h usability... no
checking readpassphrase.h presence... no
checking for readpassphrase.h... no
checking rpc/types.h usability... yes
checking rpc/types.h presence... yes
checking for rpc/types.h... yes
checking security/pam_appl.h usability... no
checking security/pam_appl.h presence... no
checking for security/pam_appl.h... no
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) no
checking for strings.h... (cached) yes
checking sys/bitypes.h usability... no
checking sys/bitypes.h presence... no
checking for sys/bitypes.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/cdefs.h usability... no
checking sys/cdefs.h presence... no
checking for sys/cdefs.h... no
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/stat.h... (cached) yes
checking sys/stropts.h usability... yes
checking sys/stropts.h presence... yes
checking for sys/stropts.h... yes
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timers.h usability... no
checking sys/timers.h presence... no
checking for sys/timers.h... no
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking tmpdir.h usability... no
checking tmpdir.h presence... no
checking for tmpdir.h... no
checking ttyent.h usability... no
checking ttyent.h presence... no
checking for ttyent.h... no
checking usersec.h usability... no
checking usersec.h presence... no
checking for usersec.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking utmp.h usability... yes
checking utmp.h presence... yes
checking for utmp.h... yes
checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes
checking for yp_match... no
checking for yp_match in -lnsl... yes
checking for setsockopt... no
checking for setsockopt in -lsocket... yes
checking for getspnam... yes
checking for deflate in -lz... yes
checking for strcasecmp... yes
checking for utimes... yes
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking for library containing login... no
checking for logout... no
checking for updwtmp... yes
checking for logwtmp... no
checking for strftime... yes
checking for GLOB_ALTDIRFUNC support... no
checking for gl_matchc field in glob_t... no
checking whether struct dirent allocates space for d_name... no
checking for s/key support... yes
checking for arc4random... no
checking for __b64_ntop... no
checking for b64_ntop... no
checking for __b64_pton... no
checking for b64_pton... no
checking for basename... no
checking for bcopy... yes
checking for bindresvport_sa... no
checking for clock... yes
checking for fchmod... yes
checking for fchown... yes
checking for freeaddrinfo... no
checking for futimes... no
checking for gai_strerror... no
checking for getaddrinfo... no
checking for getcwd... yes
checking for getgrouplist... no
checking for getnameinfo... no
checking for getopt... yes
checking for getpeereid... no
checking for _getpty... no
checking for getrlimit... yes
checking for getrusage... yes
checking for getttyent... no
checking for glob... yes
checking for inet_aton... no
checking for inet_ntoa... yes
checking for inet_ntop... no
checking for innetgr... yes
checking for login_getcapbool... no
checking for md5_crypt... no
checking for memmove... yes
checking for mkdtemp... no
checking for mmap... yes
checking for ngetaddrinfo... no
checking for nsleep... no
checking for ogetaddrinfo... no
checking for openpty... no
checking for pstat... no
checking for readpassphrase... no
checking for realpath... yes
checking for recvmsg... yes
checking for rresvport_af... no
checking for sendmsg... yes
checking for setdtablesize... no
checking for setegid... yes
checking for setenv... no
checking for seteuid... yes
checking for setgroups... yes
checking for setlogin... no
checking for setpcred... no
checking for setproctitle... no
checking for setresgid... no
checking for setreuid... yes
checking for setrlimit... yes
checking for setsid... yes
checking for setvbuf... yes
checking for sigaction... yes
checking for sigvec... no
checking for snprintf... no
checking for socketpair... yes
checking for strerror... yes
checking for strlcat... no
checking for strlcpy... yes
checking for strmode... no
checking for strnvis... no
checking for sysconf... yes
checking for tcgetpgrp... yes
checking for truncate... yes
checking for utimes... (cached) yes
checking for vhangup... yes
checking for vsnprintf... no
checking for waitpid... yes
checking for library containing nanosleep... -lposix4
checking for library containing basename... -lgen
checking whether strsep is declared... no
checking for dirname... yes
checking for libgen.h... (cached) yes
checking for gettimeofday... yes
checking for time... yes
checking for endutent... yes
checking for getutent... yes
checking for getutid... yes
checking for getutline... yes
checking for pututline... yes
checking for setutent... yes
checking for utmpname... yes
checking for endutxent... yes
checking for getutxent... yes
checking for getutxid... yes
checking for getutxline... yes
checking for pututxline... yes
checking for setutxent... yes
checking for utmpxname... yes
checking for daemon... no
checking for daemon in -lbsd... no
checking for getpagesize... yes
checking whether getpgrp requires zero arguments... yes
checking OpenSSL header version... 90702f (OpenSSL 0.9.7b 10 Apr 2003)
checking OpenSSL library version... 90702f (OpenSSL 0.9.7b 10 Apr 2003)
checking whether OpenSSL's headers match the library... yes
checking whether OpenSSL's PRNG is internally seeded... yes
checking for ls... /usr/bin/ls
checking for netstat... /usr/bin/netstat
checking for arp... /usr/sbin/arp
checking for ifconfig... /sbin/ifconfig
checking for jstat... no
checking for ps... /usr/bin/ps
checking for sar... /usr/bin/sar
checking for w... /usr/bin/w
checking for who... /usr/bin/who
checking for last... /usr/bin/last
checking for lastlog... no
checking for df... /usr/bin/df
checking for vmstat... /usr/bin/vmstat
checking for uptime... /usr/bin/uptime
checking for ipcs... /usr/bin/ipcs
checking for tail... /usr/bin/tail
checking for char... yes
checking size of char... 1
checking for short int... yes
checking size of short int... 2
checking for int... yes
checking size of int... 4
checking for long int... yes
checking size of long int... 4
checking for long long int... yes
checking size of long long int... 8
checking for u_int type... yes
checking for intXX_t types... no
checking for int64_t type... no
checking for u_intXX_t types... no
checking for u_intXX_t types in sys/socket.h... no
checking for u_int64_t types... no
checking for u_int64_t type in sys/bitypes.h... no
checking for uintXX_t types... no
checking for uintXX_t types in stdint.h... no
checking for u_char... yes
checking for socklen_t... no
checking for socklen_t equivalent... int
checking for sig_atomic_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for clock_t... yes
checking for sa_family_t... no
checking for pid_t... yes
checking for mode_t... yes
checking for struct sockaddr_storage... no
checking for struct sockaddr_in6... no
checking for struct in6_addr... no
checking for struct addrinfo... no
checking for struct timeval... yes
checking for struct timespec... yes
checking for ut_host field in utmp.h... no
checking for ut_host field in utmpx.h... yes
checking for syslen field in utmpx.h... yes
checking for ut_pid field in utmp.h... yes
checking for ut_type field in utmp.h... yes
checking for ut_type field in utmpx.h... yes
checking for ut_tv field in utmp.h... no
checking for ut_id field in utmp.h... yes
checking for ut_id field in utmpx.h... yes
checking for ut_addr field in utmp.h... no
checking for ut_addr field in utmpx.h... no
checking for ut_addr_v6 field in utmp.h... no
checking for ut_addr_v6 field in utmpx.h... no
checking for ut_exit field in utmp.h... yes
checking for ut_time field in utmp.h... yes
checking for ut_time field in utmpx.h... yes
checking for ut_tv field in utmpx.h... yes
checking for struct stat.st_blksize... yes
checking for ss_family field in struct sockaddr_storage... no
checking for __ss_family field in struct sockaddr_storage... no
checking for pw_class field in struct passwd... no
checking for pw_expire field in struct passwd... no
checking for pw_change field in struct passwd... no
checking for msg_accrights field in struct msghdr... yes
checking for msg_control field in struct msghdr... no
checking if libc defines __progname... no
checking whether gcc implements __FUNCTION__... yes
checking whether gcc implements __func__... yes
checking whether getopt has optreset support... no
checking if libc defines sys_errlist... yes
checking if libc defines sys_nerr... yes
checking for xauth... /usr/openwin/bin/xauth
checking for "/dev/ptmx"... yes
checking for "/dev/ptc"... no
checking for nroff... /usr/bin/nroff
checking if the systems has expire shadow information... yes
Adding /usr/local/bin to USER_PATH so scp will work
checking if we need to convert IPv4 in IPv6-mapped addresses... no (default)
checking if your system defines LASTLOG_FILE... no
checking if your system defines _PATH_LASTLOG... no
checking if your system defines UTMP_FILE... yes
checking if your system defines WTMP_FILE... yes
checking if your system defines UTMPX_FILE... yes
checking if your system defines WTMPX_FILE... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating openbsd-compat/Makefile
config.status: creating scard/Makefile
config.status: creating ssh_prng_cmds
config.status: creating config.h



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.




More information about the openssh-bugs mailing list