Open Metzgermeister81 opened 2 years ago
Can confirm I'm getting the same issues - using the script and installing manually using "make"
This looks like the problem I had recently when updating my install to Jammy. The issue appears to be related to Jammy moving to OpenSSL 3.0, leaving behind some features needed by guac. I was able to work around it by manually installing libssl1.1 from the Lubuntu distribution:
wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb
dpkg -i libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb
This isn't really a long term solution, but I don't think this is something that the install script can fix until Guacamole updates to use libssl3.
Has there been any other solution for this? The package you mention is no longer available and I'm not sure what alternative one may work
Here is another method to manually install openSSL 1.1 by building from source. I haven't tested it, and while it will probably work, it may confuse other installations that are looking for openSSL 3.0.
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz -P ~
sudo tar -xzf openssl-1.1.1l.tar.gz
cd ~/openssl-1.1.1l
./config
make
sudo make install
sudo cp /usr/local/bin/openssl /usr/bin
sudo ldconfig
From: https://computingforgeeks.com/install-guacamole-remote-desktop-on-ubuntu-jammy-jellyfish/
If you compile from the git files rather than the archive with tar.gz it should work fine.
I tried to install guacamole aon a fresh Ubuntu 22.04 VM There is OpenSSL 3.0.x installed while on a 20.04 LTS there is OpenSSL 1.1.1 --- Error here --- Making install in src/common-ssh make[1]: Entering directory '/srv/guacamole-server-1.4.0/src/common-ssh' Making install in . make[2]: Entering directory '/srv/guacamole-server-1.4.0/src/common-ssh' CC libguac_common_ssh_la-key.lo key.c: In function ‘guac_common_ssh_key_alloc’: key.c:63:9: error: ‘PEM_read_bio_RSAPrivateKey’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 63 | rsa_key = PEM_read_bio_RSAPrivateKey(key_bio, NULL, NULL, passphrase); | ^
~~ In file included from key.c:33: /usr/include/openssl/pem.h:447:1: note: declared here 447 | DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA) | ^~~~~~ key.c:79:9: error: ‘RSA_get0_key’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 79 | RSA_get0_key(rsa_key, &key_n, &key_e, NULL); | ^~~~ In file included from common-ssh/rsa-compat.h:26, from key.c:25: /usr/include/openssl/rsa.h:217:28: note: declared here 217 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA r, | ^~~~ key.c:105:9: error: ‘PEM_read_bio_DSAPrivateKey’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 105 | dsa_key = PEM_read_bio_DSAPrivateKey(key_bio, NULL, NULL, passphrase); | ^~~ In file included from key.c:33: /usr/include/openssl/pem.h:453:1: note: declared here 453 | DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, DSAPrivateKey, DSA) | ^~~~~~ key.c:121:9: error: ‘DSA_get0_pqg’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 121 | DSA_get0_pqg(dsa_key, &key_p, &key_q, &key_g); | ^~~~ In file included from common-ssh/dsa-compat.h:26, from key.c:23: /usr/include/openssl/dsa.h:201:28: note: declared here 201 | OSSL_DEPRECATEDIN_3_0 void DSA_get0_pqg(const DSA d, const BIGNUM *p, | ^~~~ key.c:122:9: error: ‘DSA_get0_key’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 122 | DSA_get0_key(dsa_key, &pub_key, NULL); | ^~~~ In file included from common-ssh/dsa-compat.h:26, from key.c:23: /usr/include/openssl/dsa.h:204:28: note: declared here 204 | OSSL_DEPRECATEDIN_3_0 void DSA_get0_key(const DSA d, const BIGNUM *pub_key, | ^~~~ key.c: In function ‘guac_common_ssh_key_free’: key.c:164:9: error: ‘RSA_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 164 | RSA_free(key->rsa); | ^~~~ In file included from common-ssh/rsa-compat.h:26, from key.c:25: /usr/include/openssl/rsa.h:293:28: note: declared here 293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA r); | ^~~~ key.c:166:9: error: ‘DSA_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 166 | DSA_free(key->dsa); | ^~~~ In file included from common-ssh/dsa-compat.h:26, from key.c:23: /usr/include/openssl/dsa.h:127:28: note: declared here 127 | OSSL_DEPRECATEDIN_3_0 void DSA_free(DSA r); | ^~~~ key.c: In function ‘guac_common_ssh_key_sign’: key.c:202:13: error: ‘RSA_sign’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 202 | if (RSA_sign(NID_sha1, digest, dlen, sig, &len, key->rsa) == 1) | ^~ In file included from common-ssh/rsa-compat.h:26, from key.c:25: /usr/include/openssl/rsa.h:348:27: note: declared here 348 | OSSL_DEPRECATEDIN_3_0 int RSA_sign(int type, const unsigned char m, | ^~~~ key.c:208:13: error: ‘DSA_do_sign’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 208 | DSA_SIG dsa_sig = DSA_do_sign(digest, dlen, key->dsa); | ^~~ In file included from common-ssh/dsa-compat.h:26, from key.c:23: /usr/include/openssl/dsa.h:113:32: note: declared here 113 | OSSL_DEPRECATEDIN_3_0 DSA_SIG DSA_do_sign(const unsigned char *dgst, int dlen, | ^~~cc1: all warnings being treated as errors --- Error END ---Any advises?