`git describe' says V_7_3_P1-207-gc924b2ef (shouldn't it say V_7_4_P1-<yadayada>?). This is what I see: gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-strong -fPIE -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 sshkey.c -o sshkey.o sshkey.c: In function ?sshkey_size?: sshkey.c:274:28: error: dereferencing pointer to incomplete type ?RSA {aka struct rsa_st}? return BN_num_bits(k->rsa->n); ^~ sshkey.c:277:28: error: dereferencing pointer to incomplete type ?DSA {aka struct dsa_st}? return BN_num_bits(k->dsa->p); ^~ sshkey.c: In function ?sshkey_new?: sshkey.c:478:11: error: dereferencing pointer to incomplete type ?RSA {aka struct rsa_st}? (rsa->n = BN_new()) == NULL || ^~ sshkey.c:490:11: error: dereferencing pointer to incomplete type ?DSA {aka struct dsa_st}? (dsa->p = BN_new()) == NULL || ^~ sshkey.c: In function ?sshkey_parse_private_pem_fileblob?: sshkey.c:3792:8: error: dereferencing pointer to incomplete type ?EVP_PKEY {aka struct evp_pkey_st}? if (pk->type == EVP_PKEY_RSA && ^~ Cheers, -- Cristian
It looks to me like you're building against OpenSSL 1.1.0. This won't work. You need 1.0.2 or earlier. The OpenSSL guys changed the API on 1.1.0. -----Original Message----- From: openssh-unix-dev [mailto:openssh-unix-dev-bounces+scott_n=xypro.com at mindrot.org] On Behalf Of Cristian Ionescu-Idbohrn Sent: Friday, February 03, 2017 5:37 AM To: openssh-unix-dev at mindrot.org Subject: compilation errors on master `git describe' says V_7_3_P1-207-gc924b2ef (shouldn't it say V_7_4_P1-<yadayada>?). This is what I see: gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-strong -fPIE -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 sshkey.c -o sshkey.o sshkey.c: In function ?sshkey_size?: sshkey.c:274:28: error: dereferencing pointer to incomplete type ?RSA {aka struct rsa_st}? return BN_num_bits(k->rsa->n); ^~ sshkey.c:277:28: error: dereferencing pointer to incomplete type ?DSA {aka struct dsa_st}? return BN_num_bits(k->dsa->p); ^~ sshkey.c: In function ?sshkey_new?: sshkey.c:478:11: error: dereferencing pointer to incomplete type ?RSA {aka struct rsa_st}? (rsa->n = BN_new()) == NULL || ^~ sshkey.c:490:11: error: dereferencing pointer to incomplete type ?DSA {aka struct dsa_st}? (dsa->p = BN_new()) == NULL || ^~ sshkey.c: In function ?sshkey_parse_private_pem_fileblob?: sshkey.c:3792:8: error: dereferencing pointer to incomplete type ?EVP_PKEY {aka struct evp_pkey_st}? if (pk->type == EVP_PKEY_RSA && ^~ Cheers, -- Cristian _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev at mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev
On Fri, 3 Feb 2017, Scott Neugroschl wrote:> > It looks to me like you're building against OpenSSL 1.1.0. This > won't work. You need 1.0.2 or earlier. The OpenSSL guys changed > the API on 1.1.0.Yes, when I look closer :) checking OpenSSL header version... 1010003f (OpenSSL 1.1.0c 10 Nov 2016) checking OpenSSL library version... 1010003f (OpenSSL 1.1.0c 10 Nov 2016) I guess I was expecting ./configure to err out or at least warn about that and/or "OpenSSH has been configured with the following options:" would display the openssl version. That would help. I see there's a guard for lowest possible version, but not the higest. This is a debian box. I see: libssl1.0.0:amd64 libssl1.0.2:amd64 libssl1.1:amd64 installed. How does one go about to tell ./configure what to choose? I looked through, but couldn't find info on a clean way to do that :( Cheers, -- Cristian