As a bit of an update, After discussing with a colleague of mine, he suggested that I check what is used during compilation of rstudio server:
ldd /usr/lib/rstudio-server/bin/rserver
/usr/lib/rstudio-server/bin/rserver: /usr/lib/libssl.so.1.0.2: version `OPENSSL_1.0.2d' not found (required by /usr/lib/rstudio-server/bin/rserver)
linux-vdso.so.1 => (0x00007ffd85bfc000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffa64e62000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffa64c45000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007ffa64a42000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007ffa6483d000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ffa64635000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ffa6441b000)
libssl.so.1.0.2 => /usr/lib/libssl.so.1.0.2 (0x00007ffa641b2000)
libcrypto.so.1.0.2 => not found
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007ffa63fa4000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ffa63c22000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffa63919000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ffa63703000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffa63339000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa6581e000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007ffa62ef5000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007ffa62cce000)
The only one missing is libcrypto.so.1.0.2
, so I searched in Ubuntu repository to see which package has this file:
sudo apt install apt-file
apt-file update
apt-file find libcrypto.so
This resulted in
libssl-dev: /usr/lib/x86_64-linux-gnu/libcrypto.so
libssl1.0.0: /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
which means the file libcrypto.so.1.0.2
does not exist in the Ubuntu repository (my system is Ubuntu 16.04)
Then, it was time to check the package versions used in in the compiled file:
strings /usr/lib/rstudio-server/bin/rserver | grep OPENSSL
OPENSSL_add_all_algorithms_noconf
OPENSSL_1.0.2d
ERR_remove_thread_state@@OPENSSL_1.0.2d
CRYPTO_num_locks@@OPENSSL_1.0.2d
CRYPTO_free@@OPENSSL_1.0.2d
BIO_ctrl@@OPENSSL_1.0.2d
BIO_f_base64@@OPENSSL_1.0.2d
BIO_free_all@@OPENSSL_1.0.2d
ERR_free_strings@@OPENSSL_1.0.2d
BIO_new@@OPENSSL_1.0.2d
RSA_size@@OPENSSL_1.0.2d
ERR_load_crypto_strings@@OPENSSL_1.0.2d
EVP_sha256@@OPENSSL_1.0.2d
BIO_set_flags@@OPENSSL_1.0.2d
CONF_modules_unload@@OPENSSL_1.0.2d
BIO_s_mem@@OPENSSL_1.0.2d
OPENSSL_add_all_algorithms_noconf@@OPENSSL_1.0.2d
ENGINE_cleanup@@OPENSSL_1.0.2d
BIO_new_mem_buf@@OPENSSL_1.0.2d
ERR_error_string_n@@OPENSSL_1.0.2d
BIO_read@@OPENSSL_1.0.2d
SSL_COMP_free_compression_methods@@OPENSSL_1.0.2d
ERR_reason_error_string@@OPENSSL_1.0.2d
BN_bn2hex@@OPENSSL_1.0.2d
EVP_cleanup@@OPENSSL_1.0.2d
RAND_seed@@OPENSSL_1.0.2d
RSA_private_decrypt@@OPENSSL_1.0.2d
RSA_generate_key@@OPENSSL_1.0.2d
HMAC@@OPENSSL_1.0.2d
CRYPTO_set_locking_callback@@OPENSSL_1.0.2d
CRYPTO_cleanup_all_ex_data@@OPENSSL_1.0.2d
BIO_write@@OPENSSL_1.0.2d
ERR_get_error@@OPENSSL_1.0.2d
SSL_library_init@@OPENSSL_1.0.2d
BIO_push@@OPENSSL_1.0.2d
SSL_load_error_strings@@OPENSSL_1.0.2d
This shows that OPENSSL_1.0.2d
is used all through out the compilation (the focus is on the minor version "d" at the end of the library name)
Then, finally it was time to check what is provided in the latest version that I could find in Ubuntu repository:
strings /usr/lib/libssl.so.1.0.2 | grep OPENSSL
OPENSSL_cleanse
OPENSSL_DIR_read
OPENSSL_DIR_end
OPENSSL_1.0.0
OPENSSL_1.0.1
OPENSSL_1.0.1d
OPENSSL_1.0.2
OPENSSL_1.0.2g
OPENSSL_DIR_read(&ctx, '
OPENSSL_malloc Error
As you can see there is no 1.0.2d version. This simply means that Rstudio people have most probably changed their .deb building workflow!!!!!
For those who are stuck like me in this situation, the only way left is to download, complile and install Rstusio Server them selves on their own computer: