Subject: OpenSSH fails to install on Solaris
To: None <tech-pkg@netbsd.org>
From: Ben Secrest <blsecres@ssdtgsm.com>
List: tech-pkg
Date: 03/29/2004 09:49:02
I'm not sure if the is a packaging problem or a build system problem.
I can build but not cleanly install openssh-3.8.1nb1 on my Solaris
2.7 system.  This system isn't patched to have a /dev/urandom.  I'm
using egd and a file system socket and that appears to be part of
the problem.

The install target of Makefile.in appears to automatically require
ssh_prng_cmds.out:

install: $(CONFIGFILES) ssh_prng_cmds.out $(MANPAGES) $(TARGETS) install-files host-key check-config

This file may or may not exist:

ssh_prng_cmds.out:      ssh_prng_cmds
        if test ! -z "$(INSTALL_SSH_PRNG_CMDS)"; then \
		$(PERL) $(srcdir)/fixprogs ssh_prng_cmds $(ENT); \
	fi

My configure script never sets any of the variables which turn
INSTALL_SSH_PRNG_CMDS to yes.  The build succeeds but installation
fails unless I cd into work/openssh-3.8p1 and by hand execute:

/opt/pkg/bin/perl ./fixprogs ssh_prng_cmds

The output of the build is below.
-- 
Ben Secrest <blsecres@ssdtgsm.com>


Script started on Fri Mar 26 11:13:30 2004
blsecres@waptest% bmake install
===> Checking for vulnerabilities in openssh-3.8.1nb1
===> Installing for openssh-3.8.1nb1
===> Becoming root@waptest.ssdtgsm.com to install openssh.
/opt/pkg/bin/sudo Password:
Group 'sshd' already exists.
User 'sshd' already exists.
if test ! -z ""; then  /opt/pkg/bin/perl ./fixprogs ssh_prng_cmds ;  fi
(cd openbsd-compat && /opt/pkg/bin/bmake)
./mkinstalldirs /opt/pkg/bin
./mkinstalldirs /opt/pkg/sbin
./mkinstalldirs /opt/pkg/man
./mkinstalldirs /opt/pkg/share
./mkinstalldirs /opt/pkg/man/man1
./mkinstalldirs /opt/pkg/man/man5
./mkinstalldirs /opt/pkg/man/man8
./mkinstalldirs /opt/pkg/libexec
(umask 022 ; ./mkinstalldirs /var/chroot/sshd)
/opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh /opt/pkg/bin/ssh
/opt/pkg/bin/install -c -o root -g root -m 0755 -s scp /opt/pkg/bin/scp
/opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh-add /opt/pkg/bin/ssh-add
/opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh-agent /opt/pkg/bin/ssh-agent
/opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh-keygen /opt/pkg/bin/ssh-keygen
/opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh-keyscan /opt/pkg/bin/ssh-keyscan
/opt/pkg/bin/install -c -o root -g root -m 0755 -s sshd /opt/pkg/sbin/sshd
if test ! -z "yes" ; then  /opt/pkg/bin/install -c -o root -g root -m 0755 -s ssh-rand-helper /opt/pkg/libexec/ssh-rand-helper ;  fi
/opt/pkg/bin/install -c -o root -g root -m 4711 -s ssh-keysign /opt/pkg/libexec/ssh-keysign
/opt/pkg/bin/install -c -o root -g root -m 0755 -s sftp /opt/pkg/bin/sftp
/opt/pkg/bin/install -c -o root -g root -m 0755 -s sftp-server /opt/pkg/libexec/sftp-server
/opt/pkg/bin/install -c -o root -g root -m 644 ssh.1.out /opt/pkg/man/man1/ssh.1
/opt/pkg/bin/install -c -o root -g root -m 644 scp.1.out /opt/pkg/man/man1/scp.1
/opt/pkg/bin/install -c -o root -g root -m 644 ssh-add.1.out /opt/pkg/man/man1/ssh-add.1
/opt/pkg/bin/install -c -o root -g root -m 644 ssh-agent.1.out /opt/pkg/man/man1/ssh-agent.1
/opt/pkg/bin/install -c -o root -g root -m 644 ssh-keygen.1.out /opt/pkg/man/man1/ssh-keygen.1
/opt/pkg/bin/install -c -o root -g root -m 644 ssh-keyscan.1.out /opt/pkg/man/man1/ssh-keyscan.1
/opt/pkg/bin/install -c -o root -g root -m 644 sshd_config.5.out /opt/pkg/man/man5/sshd_config.5
/opt/pkg/bin/install -c -o root -g root -m 644 ssh_config.5.out /opt/pkg/man/man5/ssh_config.5
/opt/pkg/bin/install -c -o root -g root -m 644 sshd.8.out /opt/pkg/man/man8/sshd.8
if [ ! -z "yes" ]; then  /opt/pkg/bin/install -c -o root -g root -m 644 ssh-rand-helper.8.out /opt/pkg/man/man8/ssh-rand-helper.8 ;  fi
/opt/pkg/bin/install -c -o root -g root -m 644 sftp.1.out /opt/pkg/man/man1/sftp.1
/opt/pkg/bin/install -c -o root -g root -m 644 sftp-server.8.out /opt/pkg/man/man8/sftp-server.8
/opt/pkg/bin/install -c -o root -g root -m 644 ssh-keysign.8.out /opt/pkg/man/man8/ssh-keysign.8
rm -f /opt/pkg/bin/slogin
ln -s ./ssh /opt/pkg/bin/slogin
rm -f /opt/pkg/man/man1/slogin.1
ln -s ./ssh.1 /opt/pkg/man/man1/slogin.1
if [ ! -d /opt/pkg/etc/ssh ]; then  ./mkinstalldirs /opt/pkg/etc/ssh;  fi
/opt/pkg/etc/ssh/ssh_config already exists, install will not overwrite
/opt/pkg/etc/ssh/sshd_config already exists, install will not overwrite
/opt/pkg/etc/ssh/moduli already exists, install will not overwrite
/opt/pkg/bin/install -d -o root -g root -m 755 /opt/pkg/share/examples/openssh
cd /opt/pkg/pkgsrc/security/openssh/work/openssh-3.8p1; for file in ssh_config sshd_config ssh_prng_cmds moduli; do                      /opt/pkg/bin/install -c -o root -g root -m 444 ${file}.out /opt/pkg/share/examples/openssh/${file};             done
/opt/pkg/bin/install: cannot stat `ssh_prng_cmds.out': No such file or directory
*** Error code 1

Stop.
bmake: stopped in /opt/pkg/pkgsrc/security/openssh
*** Error code 1

Stop.
bmake: stopped in /opt/pkg/pkgsrc/security/openssh
*** Error code 1

Stop.
bmake: stopped in /opt/pkg/pkgsrc/security/openssh
*** Error code 1

Stop.
bmake: stopped in /opt/pkg/pkgsrc/security/openssh
blsecres@waptest% exit
script done on Fri Mar 26 11:13:56 2004