jamesj629
Posts: 2
Joined: Sat Aug 10, 2019 12:36 pm

raspberry pi 4 Buster getting libcurl3 error when trying to launch Citrix: CURL_OPENSSL_3 not found [solved]

Sat Aug 10, 2019 12:45 pm

Hi all,

I'm a bit new to Raspberry Pi but recently got a v4 up and running (yesterday!) with 2 HDMI screens. Very impressed so far!

I was hoping to use the Citrix remote connection software for work ( https://www.citrix.com/en-gb/downloads/ ... atest.html ) and I have managed to install it, but when running it I get the following error:

Code: Select all

/opt/Citrix/ICAClient/wfica: /usr/lib/arm-linux-gnueabihf/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /opt/Citrix/ICAClient/libAnalyticsInterfacePd.so)
EULA was rejected.
I seem to have v4 of libcurl installed (probably via the automatic update?)

Code: Select all

pi@raspberrypi:/opt/Citrix/ICAClient $ sudo apt-get install libcurl3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libcurl3 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libcurl4

E: Package 'libcurl3' has no installation candidate
Has anybody had a similar problem with curl? Is the a way to fix it?

Thanks very much!

James

jamesj629
Posts: 2
Joined: Sat Aug 10, 2019 12:36 pm

Re: raspberry pi 4 Buster getting libcurl3 error when trying to launch Citrix: CURL_OPENSSL_3 not found [solved]

Sat Aug 17, 2019 4:06 pm

I've worked out how to do this:

I installed raspex exton: build 190812 at http://raspex.exton.se/
(not sure this is required but I gave it a go, will try with Raspbian at a later date)


read instructions from https://www.raspberrypi.org/forums/view ... 8&t=248904
i.e. download Raspbian Stretch image: https://downloads.raspberrypi.org/raspb ... 017-09-08/
unzip then mount the .img (see https://raspberrypi.stackexchange.com/q ... stro-image)

search for these files under /usr/lib/arm-linux-gnueabihf/ and copy to a local area like so:

Code: Select all

aspex@raspberry:/usr/local/share/libcurlhack$ ls -lh
total 2.8M
-rw-r--r-- 1 root root 1.5M Aug 17 00:13 libcrypto.so.1.0.2
lrwxrwxrwx 1 root root   19 Aug 17 00:04 libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
lrwxrwxrwx 1 root root   23 Aug 17 00:03 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.4.0
-rw-r--r-- 1 root root 422K Aug 16 23:59 libcurl-gnutls.so.4.4.0
lrwxrwxrwx 1 root root   12 Aug 17 00:10 libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx 1 root root   16 Aug 17 00:10 libcurl.so.4 -> libcurl.so.4.4.0
-rw-r--r-- 1 root root 430K Aug 17 00:10 libcurl.so.4.4.0
lrwxrwxrwx 1 root root   16 Aug 17 00:11 libssh2.so.1 -> libssh2.so.1.0.1
-rw-r--r-- 1 root root 146K Aug 17 00:11 libssh2.so.1.0.1
-rw-r--r-- 1 root root 314K Aug 17 00:12 libssl.so.1.0.2
the libcurlhack dir needs to be added to the LD_LIBRARY_PATH var. I adjusted the wfica.sh script (part of the Citrix package but I would follow a similar tactic for other problems)

Code: Select all

#!/bin/sh
ICAROOT=/opt/Citrix/ICAClient 
export ICAROOT
LD_LIBRARY_PATH=/usr/local/share/libcurlhack:/opt/Citrix/ICAClient/lib
export LD_LIBRARY_PATH
$ICAROOT/wfica -file $1

Now follow the instructions here:
https://askubuntu.com/questions/901448/ ... or-1000119

so that you have

Code: Select all

raspex@raspberry:/opt/Citrix/ICAClient$ ls -lh keystore/
total 4.0K
lrwxrwxrwx 1 root root   15 Aug 17 14:34 cacerts -> /etc/ssl/certs/
drwxr-xr-x 2 root root 4.0K Aug 11 13:29 intcerts
run the certificate rehash:

Code: Select all

raspex@raspberry:/opt/Citrix/ICAClient/util$ ./ctx_rehash
then when you log in and download the ica file for your citrix session, run

Code: Select all

raspex@raspberry:/opt/Citrix/ICAClient$ ./wfica.sh ~/Downloads/your_downloaded_file.ica
if you get any other 'module missing' errors, maybe try to copy them over from Stretch into the libcurlhack dir.

This is a bit specific to Citrix but I'm sure could be useful for other libcurl missing errors with other software

TheCJMan
Posts: 6
Joined: Thu Sep 12, 2013 7:25 am

Re: raspberry pi 4 Buster getting libcurl3 error when trying to launch Citrix: CURL_OPENSSL_3 not found [solved]

Wed Dec 25, 2019 2:44 pm

Good day all
I have upgraded my RPI3b from Stretch to Buster and go the same problem, I have fixed this problem in the same way as described here.

I used Sudo to create the directory in question and so to Sudo to copy the files to this directory
After copying the files to "/usr/local/share/libcurlhack"
Then you need to change script:

Code: Select all

/opt/retropie/supplementary/emulationstation/emulationstation.sh

Code: Select all

#!/bin/sh

# CJM -  Added these 2 lines to fix upgraded version of Curl
LD_LIBRARY_PATH=/usr/local/share/libcurlhack
export LD_LIBRARY_PATH

esdir="$(dirname $0)"
while true; do
    rm -f /tmp/es-restart /tmp/es-sysrestart /tmp/es-shutdown
    "$esdir/emulationstation" "$@"
    ret=$?
    [ -f /tmp/es-restart ] && continue
    if [ -f /tmp/es-sysrestart ]; then
        rm -f /tmp/es-sysrestart
        sudo reboot
        break
    fi
    if [ -f /tmp/es-shutdown ]; then
        rm -f /tmp/es-shutdown
        sudo poweroff
        break
    fi
    break
done
exit $ret

thats all i did.
Hope it helps

Return to “Troubleshooting”