blob: 1076a4073f47cd07673404987efdb5134bcb98cd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
graphic: 0.981
device: 0.970
semantic: 0.960
mistranslation: 0.960
instruction: 0.957
other: 0.951
vnc: 0.950
KVM: 0.949
assembly: 0.939
socket: 0.932
boot: 0.854
network: 0.833
Bugs in SSH module (ssh.c)
I installed gcc-8&libssh* on my Ubuntu 18.04 arm64.When I was compiling any version of qemu like 3.1.0 4.0.0or 4.1.0 with SSH support,the GCC went wrong.It said some vars undeclared like'SSH_KNOWN_HOSTS_OTHER','SSH_KNOWN_HOST_UNKNOWN',etc.
$ uname -smrv
Linux 5.1.17 #7 SMP Wed Jul 10 08:35:08 UTC 2019 aarch64
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
$ dpkg -l|fgrep libssh
ii libssh-4:arm64 0.8.0~20170825.94fa1e38-1ubuntu0.2 arm64 tiny C SSH library (OpenSSL flavor)
ii libssh-dev 0.8.0~20170825.94fa1e38-1ubuntu0.2 arm64 tiny C SSH library. Development files (OpenSSL flavor)
$ ./configure
...
libssh support yes
...
$ make
...
CC block/ssh.o
block/ssh.c: In function 'check_host_key_knownhosts':
block/ssh.c:281:28: error: storage size of 'state' isn't known
enum ssh_known_hosts_e state;
^~~~~
block/ssh.c:289:13: error: implicit declaration of function 'ssh_session_is_known_server' [-Werror=implicit-function-declaration]
state = ssh_session_is_known_server(s->session);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
block/ssh.c:289:13: error: nested extern declaration of 'ssh_session_is_known_server' [-Werror=nested-externs]
block/ssh.c:293:10: error: 'SSH_KNOWN_HOSTS_OK' undeclared (first use in this function); did you mean 'SSH_OPTIONS_HOSTKEYS'?
case SSH_KNOWN_HOSTS_OK:
^~~~~~~~~~~~~~~~~~
SSH_OPTIONS_HOSTKEYS
block/ssh.c:293:10: note: each undeclared identifier is reported only once for each function it appears in
block/ssh.c:297:10: error: 'SSH_KNOWN_HOSTS_CHANGED' undeclared (first use in this function); did you mean 'SSH_KNOWN_HOSTS_OK'?
case SSH_KNOWN_HOSTS_CHANGED:
^~~~~~~~~~~~~~~~~~~~~~~
SSH_KNOWN_HOSTS_OK
block/ssh.c:301:48: error: 'SSH_PUBLICKEY_HASH_SHA256' undeclared (first use in this function); did you mean 'SSH_PUBLICKEY_HASH_SHA1'?
r = ssh_get_publickey_hash(pubkey, SSH_PUBLICKEY_HASH_SHA256,
^~~~~~~~~~~~~~~~~~~~~~~~~
SSH_PUBLICKEY_HASH_SHA1
block/ssh.c:307:27: error: implicit declaration of function 'ssh_get_fingerprint_hash'; did you mean 'ssh_get_pubkey_hash'? [-Werror=implicit-function-declaration]
fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA256,
^~~~~~~~~~~~~~~~~~~~~~~~
ssh_get_pubkey_hash
block/ssh.c:307:27: error: nested extern declaration of 'ssh_get_fingerprint_hash' [-Werror=nested-externs]
block/ssh.c:324:10: error: 'SSH_KNOWN_HOSTS_OTHER' undeclared (first use in this function); did you mean 'SSH_KNOWN_HOSTS_OK'?
case SSH_KNOWN_HOSTS_OTHER:
^~~~~~~~~~~~~~~~~~~~~
SSH_KNOWN_HOSTS_OK
block/ssh.c:329:10: error: 'SSH_KNOWN_HOSTS_UNKNOWN' undeclared (first use in this function); did you mean 'SSH_KNOWN_HOSTS_CHANGED'?
case SSH_KNOWN_HOSTS_UNKNOWN:
^~~~~~~~~~~~~~~~~~~~~~~
SSH_KNOWN_HOSTS_CHANGED
block/ssh.c:333:10: error: 'SSH_KNOWN_HOSTS_NOT_FOUND' undeclared (first use in this function); did you mean 'SSH_KNOWN_HOSTS_UNKNOWN'?
case SSH_KNOWN_HOSTS_NOT_FOUND:
^~~~~~~~~~~~~~~~~~~~~~~~~
SSH_KNOWN_HOSTS_UNKNOWN
block/ssh.c:337:10: error: 'SSH_KNOWN_HOSTS_ERROR' undeclared (first use in this function); did you mean 'SSH_KNOWN_HOSTS_OTHER'?
case SSH_KNOWN_HOSTS_ERROR:
^~~~~~~~~~~~~~~~~~~~~
SSH_KNOWN_HOSTS_OTHER
block/ssh.c:281:28: error: unused variable 'state' [-Werror=unused-variable]
enum ssh_known_hosts_e state;
^~~~~
cc1: all warnings being treated as errors
rules.mak:69: recipe for target 'block/ssh.o' failed
make: *** [block/ssh.o] Error 1
May be related to https://www.redhat.com/archives/libvir-list/2018-May/msg00597.html
As suggested by Richard in [*], filled a libssh report:
https://bugs.launchpad.net/ubuntu/+source/libssh/+bug/1847514
[*] https://lists.gnu.org/archive/html/qemu-devel/2019-08/msg02506.html
I think that libssh in Ubuntu 18.04 is just broken. I don't think that we'll include a work-around in QEMU for this anymore, now that 20.04 is already released and works fine. Thus closing this as WONTFIX.
|