problems building on solaris 2.6

mouring at etoh.eviladmin.org mouring at etoh.eviladmin.org
Sat Oct 27 07:30:34 EST 2001


Does it hurt anything if we just include sys/resource.h if it exists
always.  If we are dealing with 64bit off_t or not?

- Ben

On Fri, 26 Oct 2001, Mark D. Baushke wrote:

> Using the latest cvs sources, the compilation of ssh.c fails.
> The 'struct rlimit rlim;' line is being expanded by cpp into
> 'struct rlimit64 rlim;' and there is no struct rlimit64 defined.
> In order to get the struct rlimit64 to be included when the
>
>   #include <sys/resource.h>
>
> is used, it appears to need the _LARGEFILE64_SOURCE symbol defined OR
> it needs the '#if _FILE_OFFSET_BITS == 64' to fail.
>
> I suspect this needs to be done with some kind of confgiure magic, but
> I don't have time to figure out what it is right now...
>
> 	-- Mark
>
> % ./configure --prefix=/usr/local/openssh-3.0p1 --with-pid-dir \
>   --with-ipv4-default --sysconfdir=/etc/openssh \
>   --with-libs=/usr/local/zlib-1.1.3/lib/libz.a \
>   --with-libs=/usr/local/openssl-0.9.6b/lib/libssl.a \
>   --with-cflags=-I/usr/local/zlib-1.1.3/include \
>   --with-cflags=-I/usr/local/openssl-0.9.6b/include
> 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 executable suffix...
> checking for object suffix... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking build system type... sparc-sun-solaris2.6
> checking host system type... sparc-sun-solaris2.6
> 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... /usr/local/bin/install -c
> checking for ar... /usr/local/bin/ar
> checking for perl5... no
> checking for perl... /usr/local/bin/perl
> checking for ent... no
> checking for filepriv... no
> checking for bash... /usr/local/bin/bash
> checking for ksh... (cached) /usr/local/bin/bash
> checking for sh... (cached) /usr/local/bin/bash
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... 64
> checking for _LARGE_FILES value needed for large files... no
> checking for login... /usr/bin/login
> checking for gcc option to accept ANSI C... none needed
> checking for inline... inline
> checking for obsolete utmp and wtmp in solaris2.x... no
> 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 login... no
> checking for login in -lutil... no
> checking for deflate in -lz... yes
> checking for regcomp... yes
> checking for strcasecmp... yes
> checking for utimes... yes
> checking for strftime... yes
> checking for bstring.h... no
> checking for crypt.h... yes
> checking for endian.h... no
> checking for floatingpoint.h... yes
> checking for getopt.h... no
> checking for glob.h... yes
> checking for lastlog.h... yes
> checking for limits.h... yes
> checking for login.h... no
> checking for login_cap.h... no
> checking for maillock.h... yes
> checking for netdb.h... yes
> checking for netgroup.h... no
> checking for netinet/in_systm.h... yes
> checking for paths.h... no
> checking for poll.h... yes
> checking for pty.h... no
> checking for regex.h... yes
> checking for security/pam_appl.h... yes
> checking for shadow.h... yes
> checking for stddef.h... yes
> checking for stdint.h... no
> checking for strings.h... yes
> checking for sys/bitypes.h... no
> checking for sys/bsdtty.h... no
> checking for sys/cdefs.h... yes
> checking for sys/poll.h... yes
> checking for sys/queue.h... yes
> checking for sys/select.h... yes
> checking for sys/stat.h... yes
> checking for sys/stropts.h... yes
> checking for sys/sysmacros.h... yes
> checking for sys/time.h... yes
> checking for sys/ttcompat.h... yes
> checking for sys/un.h... yes
> checking for time.h... yes
> checking for ttyent.h... no
> checking for usersec.h... no
> checking for util.h... no
> checking for utime.h... yes
> checking for utmp.h... yes
> checking for utmpx.h... 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 arc4random... no
> checking for atexit... yes
> checking for b64_ntop... 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 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 on_exit... no
> checking for openpty... no
> checking for readpassphrase... no
> checking for realpath... yes
> checking for rresvport_af... no
> checking for setdtablesize... no
> checking for setegid... yes
> checking for setenv... no
> checking for seteuid... yes
> checking for setlogin... 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... yes
> checking for strerror... yes
> checking for strlcat... no
> checking for strlcpy... no
> checking for strmode... no
> checking for strsep... no
> checking for sysconf... yes
> checking for tcgetpgrp... yes
> checking for utimes... (cached) yes
> checking for vhangup... yes
> checking for vsnprintf... yes
> checking for waitpid... yes
> checking for __b64_ntop... no
> checking for _getpty... no
> checking for dirname... yes
> checking for libgen.h... yes
> checking for gettimeofday... yes
> checking for time... yes
> checking for libutil.h... no
> checking for login... (cached) no
> checking for logout... no
> checking for updwtmp... yes
> checking for logwtmp... no
> 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 getuserattr... no
> checking for getuserattr in -ls... no
> checking for login... (cached) no
> checking for login in -lbsd... no
> checking for daemon... no
> checking for daemon in -lbsd... no
> checking for getpagesize... yes
> checking whether snprintf correctly terminates long strings... yes
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... (cached) yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... (cached) yes
> checking for inttypes.h... yes
> checking for stdint.h... (cached) no
> checking for unistd.h... yes
> checking whether getpgrp takes no argument... yes
> checking for OpenSSL directory... /usr/local/openssl
> checking for RSA support... yes
> 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... yes
> checking for int64_t type... yes
> 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 uintXX_t types... yes
> 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 size_t... yes
> checking for ssize_t... yes
> checking for clock_t... yes
> checking for sa_family_t... yes
> 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 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 if libc defines __progname... no
> checking whether getopt has optreset support... no
> checking if libc defines sys_errlist... yes
> checking if libc defines sys_nerr... yes
> checking for rsh... /usr/bin/rsh
> checking for xauth... /usr/openwin/bin/xauth
> checking for "/dev/ptmx"... yes
> checking for "/dev/ptc"... no
> checking for "/dev/urandom"... no
> checking for PRNGD/EGD socket... /var/run/egd-pool
> checking for ls... /usr/bin/ls
> checking for netstat... /usr/bin/netstat
> checking for arp... /usr/sbin/arp
> checking for ifconfig... /usr/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 nroff... /usr/bin/nroff
> checking if the systems has expire shadow information... yes
> Adding /usr/local/openssh-3.0p1/bin to USER_PATH so scp will work
> checking if we need to convert IPv4 in IPv6-mapped addresses... no (default)
> checking whether to install ssh as suid root... yes
> 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
>
> OpenSSH has been configured with the following options:
>                  User binaries: /usr/local/openssh-3.0p1/bin
>                System binaries: /usr/local/openssh-3.0p1/sbin
>            Configuration files: /etc/openssh
>                Askpass program: /usr/local/openssh-3.0p1/libexec/ssh-askpass
>                   Manual pages: /usr/local/openssh-3.0p1/man/manX
>                       PID file: /etc/openssh
>         sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/openssh-3.0p1/bin
>       Random number collection: PRNGD/EGD (socket /var/run/egd-pool)
>                 Manpage format: man
>                    PAM support: no
>             KerberosIV support: no
>              Smartcard support: no
>                    AFS support: no
>                  S/KEY support: no
>           TCP Wrappers support: no
>           MD5 password support: no
>    IP address in $DISPLAY hack: no
>       Use IPv4 by default hack: yes
>        Translate v4 in v6 hack: no
>
>               Host: sparc-sun-solaris2.6
>           Compiler: gcc
>     Compiler flags: -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I/usr/local/openssl-0.9.6b/include
> Preprocessor flags: -I/usr/local/openssl/include  -I/usr/local/include
>       Linker flags: -R/usr/local/openssl/lib -L/usr/local/openssl/lib  -L/usr/local/lib -R/usr/local/lib
>          Libraries: -lz -lsocket -lnsl  /usr/local/openssl-0.9.6b/lib/libssl.a -lcrypto
>
> % make
> ...elided...
> gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized \
> -I/usr/local/openssl-0.9.6b/include \
> -I. -I. -I/usr/local/openssl/include -I/usr/local/include \
> -DETCDIR=\"/etc/openssh\" \
> -D_PATH_SSH_PROGRAM=\"/usr/local/openssh-3.0p1/bin/ssh\" \
> -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/openssh-3.0p1/libexec/ssh-askpass\" \
> -D_PATH_SFTP_SERVER=\"/usr/local/openssh-3.0p1/libexec/sftp-server\" \
> -D_PATH_SSH_PIDDIR=\"/etc/openssh\" -DHAVE_CONFIG_H -c ssh.c
> In file included from /usr/include/sys/vnode.h:41,
>                  from /usr/include/sys/stream.h:21,
>                  from /usr/include/netinet/in.h:38,
>                  from defines.h:12,
>                  from config.h:828,
>                  from includes.h:22,
>                  from ssh.c:41:
> /usr/include/sys/resource.h:148: warning: `struct rlimit64' declared inside parameter list
> /usr/include/sys/resource.h:148: warning: its scope is only this definition or declaration,
> /usr/include/sys/resource.h:148: warning: which is probably not what you want.
> /usr/include/sys/resource.h:149: warning: `struct rlimit64' declared inside parameter list
> ssh.c: In function `main':
> ssh.c:283: storage size of `rlim' isn't known
> ssh.c:283: warning: unused variable `rlim'
> make: *** [ssh.o] Error 1
>
>
>




More information about the openssh-unix-dev mailing list