We should probably have another sanity check at build time, similar to the one for libssh2 (might end up looking a bit different given that libvncclient provides its own handy macro for determining whether the library uses gcrypt):
https://github.com/apache/guacamole-server/blob/6d526cb60f3601c4d73f00fbd0daa72457d7df84/configure.ac#L919-L938 I think part of this is that the -dev / -devel package for libvncclient on the various distributions is technically incorrect (if it's build against libgcrypt, the -dev package should depend on libgcrypt-dev), but our build should at least display a meaningful warning if this condition occurs. - Mike On Sat, Jan 23, 2021 at 5:19 AM Nick Couchman <[email protected]> wrote: > Welp, looks like I have a little more work to do on this one... > > -Nick > > On Sat, Jan 23, 2021 at 6:44 AM Apache Jenkins Server < > [email protected]> wrote: > > > See < > > > https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-master-centos/CENTOS_RELEASE=7,JENKINS_LABEL_EXPRESSION=ubuntu/184/display/redirect?page=changes > > > > > > > Changes: > > > > [Nick Couchman] GUACAMOLE-1133: initialize GCrypt in VNC protocol prior > to > > client > > > > > > ------------------------------------------ > > [...truncated 158.79 KB...] > > CC libguac_la-id.lo > > CC libguac_la-palette.lo > > CC libguac_la-parser.lo > > CC libguac_la-pool.lo > > CC libguac_la-protocol.lo > > CC libguac_la-raw_encoder.lo > > CC libguac_la-socket.lo > > CC libguac_la-socket-broadcast.lo > > CC libguac_la-socket-fd.lo > > CC libguac_la-socket-nest.lo > > CC libguac_la-socket-tee.lo > > CC libguac_la-string.lo > > CC libguac_la-timestamp.lo > > CC libguac_la-unicode.lo > > CC libguac_la-user.lo > > CC libguac_la-user-handlers.lo > > CC libguac_la-user-handshake.lo > > CC libguac_la-wait-fd.lo > > CC libguac_la-wol.lo > > CC libguac_la-encode-webp.lo > > CC libguac_la-socket-ssl.lo > > CCLD libguac.la > > make[3]: Leaving directory `/build/guacamole-server/src/libguac' > > Making all in tests > > make[3]: Entering directory `/build/guacamole-server/src/libguac/tests' > > make[3]: Nothing to be done for `all'. > > make[3]: Leaving directory `/build/guacamole-server/src/libguac/tests' > > make[2]: Leaving directory `/build/guacamole-server/src/libguac' > > Making all in src/common > > make[2]: Entering directory `/build/guacamole-server/src/common' > > Making all in . > > make[3]: Entering directory `/build/guacamole-server/src/common' > > CC libguac_common_la-io.lo > > CC libguac_common_la-blank_cursor.lo > > CC libguac_common_la-clipboard.lo > > CC libguac_common_la-cursor.lo > > CC libguac_common_la-display.lo > > CC libguac_common_la-dot_cursor.lo > > CC libguac_common_la-ibar_cursor.lo > > CC libguac_common_la-iconv.lo > > CC libguac_common_la-json.lo > > CC libguac_common_la-list.lo > > CC libguac_common_la-pointer_cursor.lo > > CC libguac_common_la-recording.lo > > CC libguac_common_la-rect.lo > > CC libguac_common_la-string.lo > > CC libguac_common_la-surface.lo > > CCLD libguac_common.la > > make[3]: Leaving directory `/build/guacamole-server/src/common' > > Making all in tests > > make[3]: Entering directory `/build/guacamole-server/src/common/tests' > > make[3]: Nothing to be done for `all'. > > make[3]: Leaving directory `/build/guacamole-server/src/common/tests' > > make[2]: Leaving directory `/build/guacamole-server/src/common' > > Making all in src/common-ssh > > make[2]: Entering directory `/build/guacamole-server/src/common-ssh' > > Making all in . > > make[3]: Entering directory `/build/guacamole-server/src/common-ssh' > > CC libguac_common_ssh_la-buffer.lo > > CC libguac_common_ssh_la-dsa-compat.lo > > CC libguac_common_ssh_la-rsa-compat.lo > > CC libguac_common_ssh_la-sftp.lo > > CC libguac_common_ssh_la-ssh.lo > > CC libguac_common_ssh_la-key.lo > > CC libguac_common_ssh_la-user.lo > > CCLD libguac_common_ssh.la > > make[3]: Leaving directory `/build/guacamole-server/src/common-ssh' > > Making all in tests > > make[3]: Entering directory > `/build/guacamole-server/src/common-ssh/tests' > > make[3]: Nothing to be done for `all'. > > make[3]: Leaving directory `/build/guacamole-server/src/common-ssh/tests' > > make[2]: Leaving directory `/build/guacamole-server/src/common-ssh' > > Making all in src/terminal > > make[2]: Entering directory `/build/guacamole-server/src/terminal' > > CC libguac_terminal_la-buffer.lo > > CC libguac_terminal_la-char_mappings.lo > > CC libguac_terminal_la-color-scheme.lo > > CC libguac_terminal_la-common.lo > > CC libguac_terminal_la-display.lo > > CC libguac_terminal_la-named-colors.lo > > CC libguac_terminal_la-palette.lo > > CC libguac_terminal_la-scrollbar.lo > > CC libguac_terminal_la-select.lo > > CC libguac_terminal_la-terminal.lo > > CC libguac_terminal_la-terminal_handlers.lo > > CC libguac_terminal_la-terminal-stdin-stream.lo > > CC libguac_terminal_la-typescript.lo > > CC libguac_terminal_la-xparsecolor.lo > > CCLD libguac_terminal.la > > make[2]: Leaving directory `/build/guacamole-server/src/terminal' > > Making all in src/pulse > > make[2]: Entering directory `/build/guacamole-server/src/pulse' > > CC libguac_pulse_la-pulse.lo > > CCLD libguac_pulse.la > > make[2]: Leaving directory `/build/guacamole-server/src/pulse' > > Making all in src/protocols/kubernetes > > make[2]: Entering directory > > `/build/guacamole-server/src/protocols/kubernetes' > > CC libguac_client_kubernetes_la-argv.lo > > CC libguac_client_kubernetes_la-client.lo > > CC libguac_client_kubernetes_la-clipboard.lo > > CC libguac_client_kubernetes_la-input.lo > > CC libguac_client_kubernetes_la-io.lo > > CC libguac_client_kubernetes_la-pipe.lo > > CC libguac_client_kubernetes_la-settings.lo > > CC libguac_client_kubernetes_la-ssl.lo > > CC libguac_client_kubernetes_la-kubernetes.lo > > CC libguac_client_kubernetes_la-url.lo > > CC libguac_client_kubernetes_la-user.lo > > CCLD libguac-client-kubernetes.la > > make[2]: Leaving directory > > `/build/guacamole-server/src/protocols/kubernetes' > > Making all in src/protocols/rdp > > make[2]: Entering directory `/build/guacamole-server/src/protocols/rdp' > > GEN _generated_channel_entry_wrappers.c > > GEN _generated_keymaps.c > > [91mAdded: base > > [0m [91mAdded: failsafe > > [0m [91mAdded: de-de-qwertz > > [0m [91mAdded: de-ch-qwertz > > [0m [91mAdded: en-gb-qwerty > > [0m [91mAdded: en-us-qwerty > > [0m [91mAdded: es-es-qwerty > > [0m [91mAdded: es-latam-qwerty > > [0m [91mAdded: fr-be-azerty > > [0m [91mAdded: fr-ch-qwertz > > [0m [91mAdded: fr-fr-azerty > > [0m [91mAdded: hu-hu-qwertz > > [0m [91mAdded: it-it-qwerty > > [0m [91mAdded: ja-jp-qwerty > > [0m [91mAdded: pt-br-qwerty > > [0m [91mAdded: sv-se-qwerty > > [0m [91mAdded: da-dk-qwerty > > [0m [91mAdded: tr-tr-qwerty > > [0mmake all-recursive > > make[3]: Entering directory `/build/guacamole-server/src/protocols/rdp' > > Making all in . > > make[4]: Entering directory `/build/guacamole-server/src/protocols/rdp' > > CC > > plugins/guac-common-svc/libguac_common_svc_client_la-guac-common-svc.lo > > CCLD libguac-common-svc-client.la > > CC channels/audio-input/libguacai_client_la-audio-buffer.lo > > CC plugins/guacai/libguacai_client_la-guacai-messages.lo > > CC plugins/guacai/libguacai_client_la-guacai.lo > > CC plugins/libguacai_client_la-ptr-string.lo > > CCLD libguacai-client.la > > CC libguac_client_rdp_la-argv.lo > > CC libguac_client_rdp_la-beep.lo > > CC libguac_client_rdp_la-bitmap.lo > > CC channels/audio-input/libguac_client_rdp_la-audio-buffer.lo > > CC channels/audio-input/libguac_client_rdp_la-audio-input.lo > > CC channels/libguac_client_rdp_la-cliprdr.lo > > CC channels/libguac_client_rdp_la-common-svc.lo > > CC channels/libguac_client_rdp_la-disp.lo > > CC channels/libguac_client_rdp_la-pipe-svc.lo > > CC channels/libguac_client_rdp_la-rail.lo > > CC > > channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-dir-info.lo > > CC > > channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-file-info.lo > > CC > > channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-vol-info.lo > > CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages.lo > > CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs.lo > > CC channels/rdpdr/libguac_client_rdp_la-rdpdr-messages.lo > > CC channels/rdpdr/libguac_client_rdp_la-rdpdr-printer.lo > > CC channels/rdpdr/libguac_client_rdp_la-rdpdr.lo > > CC channels/rdpsnd/libguac_client_rdp_la-rdpsnd-messages.lo > > CC channels/rdpsnd/libguac_client_rdp_la-rdpsnd.lo > > CC libguac_client_rdp_la-client.lo > > CC libguac_client_rdp_la-color.lo > > CC libguac_client_rdp_la-decompose.lo > > CC libguac_client_rdp_la-download.lo > > CC libguac_client_rdp_la-error.lo > > CC libguac_client_rdp_la-fs.lo > > CC libguac_client_rdp_la-gdi.lo > > CC libguac_client_rdp_la-glyph.lo > > CC libguac_client_rdp_la-input.lo > > CC libguac_client_rdp_la-keyboard.lo > > CC libguac_client_rdp_la-keymap.lo > > CC libguac_client_rdp_la-log.lo > > CC libguac_client_rdp_la-ls.lo > > CC plugins/libguac_client_rdp_la-channels.lo > > CC plugins/libguac_client_rdp_la-ptr-string.lo > > CC libguac_client_rdp_la-pointer.lo > > CC libguac_client_rdp_la-print-job.lo > > CC libguac_client_rdp_la-rdp.lo > > CC libguac_client_rdp_la-resolution.lo > > CC libguac_client_rdp_la-settings.lo > > CC libguac_client_rdp_la-unicode.lo > > CC libguac_client_rdp_la-upload.lo > > CC libguac_client_rdp_la-user.lo > > CC libguac_client_rdp_la-sftp.lo > > CC libguac_client_rdp_la-_generated_channel_entry_wrappers.lo > > CC libguac_client_rdp_la-_generated_keymaps.lo > > CCLD libguac-client-rdp.la > > make[4]: Leaving directory `/build/guacamole-server/src/protocols/rdp' > > Making all in tests > > make[4]: Entering directory > > `/build/guacamole-server/src/protocols/rdp/tests' > > make[4]: Nothing to be done for `all'. > > make[4]: Leaving directory > > `/build/guacamole-server/src/protocols/rdp/tests' > > make[3]: Leaving directory `/build/guacamole-server/src/protocols/rdp' > > make[2]: Leaving directory `/build/guacamole-server/src/protocols/rdp' > > Making all in src/protocols/ssh > > make[2]: Entering directory `/build/guacamole-server/src/protocols/ssh' > > CC libguac_client_ssh_la-argv.lo > > CC libguac_client_ssh_la-client.lo > > CC libguac_client_ssh_la-clipboard.lo > > CC libguac_client_ssh_la-input.lo > > CC libguac_client_ssh_la-pipe.lo > > CC libguac_client_ssh_la-settings.lo > > CC libguac_client_ssh_la-sftp.lo > > CC libguac_client_ssh_la-ssh.lo > > CC libguac_client_ssh_la-ttymode.lo > > CC libguac_client_ssh_la-user.lo > > CCLD libguac-client-ssh.la > > make[2]: Leaving directory `/build/guacamole-server/src/protocols/ssh' > > Making all in src/protocols/telnet > > make[2]: Entering directory > `/build/guacamole-server/src/protocols/telnet' > > CC libguac_client_telnet_la-argv.lo > > CC libguac_client_telnet_la-client.lo > > CC libguac_client_telnet_la-clipboard.lo > > CC libguac_client_telnet_la-input.lo > > CC libguac_client_telnet_la-pipe.lo > > CC libguac_client_telnet_la-settings.lo > > CC libguac_client_telnet_la-telnet.lo > > CC libguac_client_telnet_la-user.lo > > CCLD libguac-client-telnet.la > > make[2]: Leaving directory `/build/guacamole-server/src/protocols/telnet' > > Making all in src/protocols/vnc > > make[2]: Entering directory `/build/guacamole-server/src/protocols/vnc' > > CC libguac_client_vnc_la-argv.lo > > CC libguac_client_vnc_la-auth.lo > > CC libguac_client_vnc_la-client.lo > > CC libguac_client_vnc_la-clipboard.lo > > CC libguac_client_vnc_la-cursor.lo > > CC libguac_client_vnc_la-display.lo > > CC libguac_client_vnc_la-input.lo > > CC libguac_client_vnc_la-log.lo > > CC libguac_client_vnc_la-settings.lo > > CC libguac_client_vnc_la-user.lo > > CC libguac_client_vnc_la-vnc.lo > > [91mvnc.c:56:20: fatal error: gcrypt.h: No such file or directory > > #include <gcrypt.h> > > ^ > > compilation terminated. > > [0m [91mmake[2]: *** [libguac_client_vnc_la-vnc.lo] Error 1 > > [0mmake[2]: Leaving directory > `/build/guacamole-server/src/protocols/vnc' > > make[1]: Leaving directory `/build/guacamole-server' > > [91mmake[1]: *** [all-recursive] Error 1 > > [0m [91mmake: *** [all] Error 2 > > [0mThe command '/bin/sh -c /bin/bash -e -x /build/build.sh' returned a > > non-zero code: 2 > > + docker rmi --force > > > guac-jenkins-guacamole-guacamole-server-master-centos-centos-release-7-jenkins-label-expression-ubuntu-184 > > Error: No such image: > > > guac-jenkins-guacamole-guacamole-server-master-centos-centos-release-7-jenkins-label-expression-ubuntu-184 > > Build step 'Execute shell' marked build as failure > > >
