https://bugzilla.mindrot.org/show_bug.cgi?id=2034 Priority: P5 Bug ID: 2034 Assignee: unassigned-bugs at mindrot.org Summary: make fails Severity: critical Classification: Unclassified OS: FreeBSD Reporter: kris.universe at gmail.com Hardware: amd64 Status: NEW Version: 6.0p1 Component: Build system Product: Portable OpenSSH Pristine FreeBSD 9.0-RELEASE Just building the stack with dependencies in proper order. For e.g.: Zlib 1.2.7 in place OpenSSL 1.0.1c in place Needed to compile OpenSSH-6.0p1 outside of FreeBSD ports since the latest available port was 5.8p2 Downloaded the latest version afresh (opens-6.0p1.tar.gz) ./configure (no issues) make breaks at loginrec.c compilation - displayed errors below: gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -fstack-protector-all -I. -I. -DSSHDIR=\"/usr/local/etc\" -D_PATH_SSH_PROGRAM=\"/usr/local/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/local/libexec/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/local/libexec/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/local/libexec/ssh-pkcs11-helper\" -D_PATH_SSH_PIDDIR=\"/var/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c loginrec.c loginrec.c:633: warning: 'struct utmp' declared inside parameter list loginrec.c:633: warning: its scope is only this definition or declaration, which is probably not what you want loginrec.c:645: warning: 'struct utmp' declared inside parameter list loginrec.c: In function 'construct_utmp': loginrec.c:651: error: dereferencing pointer to incomplete type loginrec.c:676: warning: passing argument 2 of 'set_utmp_time' from incompatible pointer type loginrec.c:678: error: dereferencing pointer to incomplete type loginrec.c:678: error: dereferencing pointer to incomplete type loginrec.c:694: error: dereferencing pointer to incomplete type loginrec.c:695: error: dereferencing pointer to incomplete type loginrec.c:695: error: dereferencing pointer to incomplete type loginrec.c: At top level: loginrec.c:1090: warning: 'struct utmp' declared inside parameter list loginrec.c: In function 'wtmp_write': loginrec.c:1101: error: dereferencing pointer to incomplete type loginrec.c:1101: error: dereferencing pointer to incomplete type loginrec.c: In function 'wtmp_perform_login': loginrec.c:1114: error: storage size of 'ut' isn't known loginrec.c:1114: warning: unused variable 'ut' loginrec.c: In function 'wtmp_perform_logout': loginrec.c:1124: error: storage size of 'ut' isn't known loginrec.c:1124: warning: unused variable 'ut' loginrec.c: At top level: loginrec.c:1165: warning: 'struct utmp' declared inside parameter list loginrec.c: In function 'wtmp_islogin': loginrec.c:1167: error: dereferencing pointer to incomplete type loginrec.c:1168: error: dereferencing pointer to incomplete type loginrec.c:1168: error: dereferencing pointer to incomplete type loginrec.c: In function 'wtmp_get_entry': loginrec.c:1183: error: storage size of 'ut' isn't known loginrec.c:1202: error: invalid application of 'sizeof' to incomplete type 'struct utmp' loginrec.c:1237: error: invalid application of 'sizeof' to incomplete type 'struct utmp' loginrec.c:1183: warning: unused variable 'ut' *** Error code 1 Stop in /var/new/openssh-6.0p1. PLEASE HELP! Thanks!! -- You are receiving this mail because: You are watching the assignee of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dtucker at zip.com.au Severity|critical |normal --- Comment #1 from Darren Tucker <dtucker at zip.com.au> --- are you starting with a clean unpack of the tarball? You can see things like this if, eg, you have config.h from a different platform. I tried to reproduce on a freshly installed freebsd 9.0 VM and it worked fine: $ uname -sr FreeBSD 9.0-RELEASE $ rm -rf openssh-6.0p1 $ tar xfz openssh-6.0p1.tar.gz $ cd openssh-6.0p1 $ ./configure && make [lots of output] $ ./ssh -V OpenSSH_6.0p1, OpenSSL 0.9.8q 2 Dec 2010 -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #2 from Darren Tucker <dtucker at zip.com.au> --- Also works with the versions of openssl and zlib that you specified, installed under /usr/local/ $ ./configure --with-zlib=/usr/local --with-ssl-dir=/usr/local/ssl && make [...] $ ./ssh -V OpenSSH_6.0p1, OpenSSL 1.0.1c 10 May 2012 How exactly did you run configure? Are you sure there's no missing include files in /usr/include? Here's all of the UTMP-related config entries I ended up with: $ egrep '#define.*TMP' config.h #define DISABLE_UTMP 1 #define DISABLE_WTMP 1 #define DISABLE_WTMPX 1 #define HAVE_HOST_IN_UTMPX 1 #define HAVE_ID_IN_UTMPX 1 #define HAVE_TV_IN_UTMPX 1 #define HAVE_TYPE_IN_UTMPX 1 #define HAVE_UTMPX_H 1 -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #3 from Kris <kris.universe at gmail.com> --- Yes, I am starting each attempt (from the very first one when I encountered the problem) with a fresh, clean unpack of the tarball. I have attempted with the following configure styles: Attempt-1} ./configure --with-zlib=/usr/local --with-ssl-dir=/usr/local Attempt-2} ./configure Attempt-3} ./configure --with-zlib=/usr/local --with-ssl-dir=/usr/local/ssl Attempt-1 was, of course, the first time I encountered the break in make. I filed the report after Attempt-2. I also tried Attempt-3 based on Darren's comment, although there was 'No such file or directory' in /usr/local/ssl. Yes, the latest OpenSSL is in /usr/local. As are all the ports listed below. I have never encountered this problem before on local (machine sitting next to me) for FreeBSD 8.2-RELEASE nor the FreeBSD 9.0-RELEASE. Also, I never faced this predicament while building the stack on Amazon (AWS) with FreeBSD 8.2-RELEASE. But I'm stuck while building the stack on AWS with FreeBSD 9.0-RELEASE 32-bit (i386) right now. I'm building the FreeBSD server (as with all of those successful builds except for port versions that were available at the times of those builds for FreeBSD 8.2) with the latest version stack of dependencies in the following order: {In each case, all the old version files of these ports (that came with the base OS) such as in /usr/bin, /usr/lib, etc., were replaced with hard/soft links to the corresponding new versions under /usr/local so that any other piece of software that needed them 'saw' the correct version only.} All were installed through the ports system (make install) and not as packages. The two that were (of necessity, for want of port availability) installed directly (from tarballs, configure && make...) were Zlib 1.2.7 and OpenSSH 6.0p1. Zlib 1.2.7 (Not through ports) gnugrep-2.12 (following dependencies got installed as well) libtool-2.4.2 libiconv-1.14 gettext-0.18.1.1 pkgconf 0.8.6 libltdl-2.4.2 gmake-3.82 xproto-7.0.22 makedepend-1.0.3,1 perl-5.16 openssl 1.0.1_4 automake-1.12.2 (following dependencies got installed as well autoconf-2.69 automake-wrapper-20101119 m4-1.4.16_1,1 help2man-1.40.11 autoconf-wrapper-20101119 p5-Locale-gettext-1.05_3 ntp 4.2.6p5_1 libsmi 0.4.8 bison-2.5.1,1 libpcap-1.3.0 tcpdump 4.3.0 And then... openssh 6.0p1 (Not through ports) ***Here is where 'the party crashed' with the problem at hand. No, I did not mess with config.h, nor with any other *.h, nor with any other component. What these packages installed is what we have. As of now, dead in the water with this 'make break'. :-( Are there environment variables or other settings that can help? Or, anything else? Thanks! -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #4 from Kris <kris.universe at gmail.com> --- I also tried the following in the folder that the freshest OpenSSH-6.0p1 tarball untars into (where compilation was done): fBSD9 > egrep '#define.*TMP' config.h And received the following (which is different from Darren's output): #define CONF_WTMP_FILE "/var/log/wtmp" #define DISABLE_UTMP 1 #define DISABLE_WTMPX 1 #define HAVE_HOST_IN_UTMPX 1 #define HAVE_ID_IN_UTMPX 1 #define HAVE_TV_IN_UTMPX 1 #define HAVE_TYPE_IN_UTMPX 1 #define HAVE_UTMPX_H 1 The 'diff' in outputs is: The line #define DISABLE_WTMP 1 is missing in my config.h The line #define CONF_WTMP_FILE "/var/log/wtmp" is missing in Darren's config.h And, yes, I do have a /var/log/wtmp without any content (0 bytes). -rw-r--r-- 1 root wheel 0 Aug 15 22:17 /var/log/wtmp Thanks! -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #5 from Kris <kris.universe at gmail.com> --- I wanted to try something... I deleted the /var/log/wtmp Untarred a fresh openssh-6.0p1 tarball Proceeded as usual: fBSD9 > ./configure --with-zlib=/usr/local --with-ssl-dir=/usr/local fBSD9 > make It went through! fBSD9 > ./ssh -V OpenSSH_6.0p1, OpenSSL 1.0.1c 10 May 2012 Boy, am I a happy camper! Thanks much to Darren for pointing out probable causes. If any of you have a caution, comment or advice, feel free. I have no idea who should or how this Bug 2034 must be closed. This is my first on Bugzilla! And it was probably not a bug at all! Please let me know if I must close it (and a pointer to how). Much obliged, Ladies and Gentlemen! Thanks again, Darren! Sincerely, Kris -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #6 from Kris <kris.universe at gmail.com> --- PS: I did a sanity check as well right after configure and before make: fBSD9 > ll config.h -rw-r--r-- 1 root wheel 43176 Aug 16 17:35 config.h fBSD9 > egrep '#define.*TMP' config.h #define DISABLE_UTMP 1 #define DISABLE_WTMP 1 #define DISABLE_WTMPX 1 #define HAVE_HOST_IN_UTMPX 1 #define HAVE_ID_IN_UTMPX 1 #define HAVE_TV_IN_UTMPX 1 #define HAVE_TYPE_IN_UTMPX 1 #define HAVE_UTMPX_H 1 This is the same as the output that Darren posted. Just wanted to mention it and complete the picture! Thanks again! -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #7 from Darren Tucker <dtucker at zip.com.au> --- does any package claim to own the wtmp file? ie "pkg_info -W /var/log/wtmp"? anyway I'm going to close this bug. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 --- Comment #8 from Kris <kris.universe at gmail.com> --- No, no package claimed ownership! pkg_info -W /var/log/wtmp produced nothing. Thanks for checking on that! Appreciate closing this bug entry as well. Have a nice evening/day/morning! -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
https://bugzilla.mindrot.org/show_bug.cgi?id=2034 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #9 from Damien Miller <djm at mindrot.org> --- closing resolved bugs as of 8.6p1 release -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.