Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: libssh (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libssh in Ubuntu.
https://bugs.launchpad.net/bugs/1847514

Title:
  libssh-0.8 is detected as 0.7

Status in libssh package in Ubuntu:
  Confirmed

Bug description:
  QEMU consumes the library and its configure script use the libssh pkg-config 
cflags.
  The it checks if ssh_get_server_publickey() is present and assume it is a 
libssh-0.8 based.

  Ubuntu libssh is not based on upstream 0.8 but on the 0.7 branch, with commit 
bbd052202 cherry-picked. This commit adds the ssh_get_server_publickey() 
function that QEMU uses to check 0.8 compatibility.
  Now commit 963c46e4f is present in libssh-0.8 but has not been cherry-picked 
by Ubuntu, so QEMU fails at compiling because the ssh_known_hosts_e enums this 
commit introduced are missing.

  QEMU tracker is https://bugs.launchpad.net/qemu/+bug/1838763

  How to reproduce:

  - install libssh-dev

  - try to build QEMU 4.1 (sources from
  https://www.qemu.org/download/#source)

  $ ./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

  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: libssh-dev 0.8.0~20170825.94fa1e38-1ubuntu0.2
  Uname: Linux 5.2.17-200.fc30.x86_64 x86_64
  ApportVersion: 2.20.9-0ubuntu7.7
  Architecture: amd64
  Date: Wed Oct  9 18:21:25 2019
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
  SourcePackage: libssh
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libssh/+bug/1847514/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to