`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