Cannot install icaclient due to problem with ia32-libs

Finally, Citrix released a new version and Ubuntu updated their guide HERE (apparently, it were the dependecy changes as we found out). It should work now kind of out of the box.


I have a problem installing the package icaclient on 13.10 Saucy Salamander 64bit. It seems that there is a problem with ia32-libs and other dependencies.

 marc@PinballWizard:~$ sudo dpkg -i Downloads/icaclient_12.1.0_amd64.deb
 [sudo] password for marc: 
 Selecting previously unselected package icaclient.
 (Reading database ... 179461 files and directories currently installed.)
 Unpacking icaclient (from .../icaclient_12.1.0_amd64.deb) ...
 dpkg: dependency problems prevent configuration of icaclient:
  icaclient depends on ia32-libs; however:
   Package ia32-libs is not installed.
  icaclient depends on lib32z1; however:
   Package lib32z1 is not installed.
  icaclient depends on lib32asound2; however:
   Package lib32asound2 is not installed.

 dpkg: error processing icaclient (--install):
  dependency problems - leaving unconfigured
 Errors were encountered while processing:
  icaclient

Hence, other workarounds seem not to work. I followed the instructions here - and for the last two Ubuntu releases it was surely no problem.

When I try to install ia32-libs I get the following issue:

marc@PinballWizard:~$ sudo apt-get install ia32-libs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ia32-libs 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:
  lib32z1 lib32ncurses5 lib32bz2-1.0

E: Package 'ia32-libs' has no installation candidate

Is there any possibility to install icaclient?

The sources.list is here.


There is a way under 13.10 brought to us by dark_harmonics on ubuntuforums (last post) - I just quote him here:

Just to document this process so that when i google this problem i come across the compiled solution to this:

  1. Download citrix deb file from www.citrix.com. I used the new customer preview 12.9.999
  2. Open a terminal and change to the directory where the deb file is located
  3. Run the following commands

    mkdir ica_temp
    dpkg-deb -x icaclient-<tab> ica_temp
    dpkg-deb --control icaclient-<tab> ica_temp/DEBIAN
    sudo gedit ica_temp/DEBIAN/control
    
  4. Change the dependencies to be "Depends: libc6-i386 (>= 2.7-1), lib32z1, nspluginwrapper"

  5. Save and close the file

  6. Compile and install the deb file

    dpkg -b ica_temp icaclient-modified.deb
    sudo dpkg -i icaclient-modified.deb
    
  7. Cleanup with

    rm -r ica_temp
    

I also needed to run sudo apt-get install -f to install the dependencies I was still missing.

BTW: Customer Preview did not work for me, I used the official version.


I have a x64bit system

You have to edit out dependecies: ia23-libs and libaudio32 from the .deb package.

Create /dir_tmp and /dir_tmp/DEBIAN

dpkg-deb -x foo.deb dir_tmp
dpkg-deb --control foo.deb dir_tmp/DEBIAN

Edit /dir_tmp/DEBIAN/control and delete the dependencies.

dpkg -b dir_tmp foo.deb

Try install ICAclient again

If you get an exit status 2, please try:

Edit /var/lib/dpkg/info/icaclient.postinst

Find: echo $Arch|grep "i[0-9]86" >/dev/null and change it to echo $Arch|grep -E "i[0-9]86|x86_64" >/dev/null

If you get a SSL error when running Citrix reciver, try:

sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

These instructions works in Ubuntu 13.04 and prior:

  1. Get the official Citrix Receiver 12.1 64-bits .deb package. Make sure you grab the 64-bits one.
  2. Install gdebi:

    sudo apt-get install gdebi
    
  3. Run sudo gdebi Downloads/icaclient_12.1.0_amd64.deb the installer will ask you if you wants to install the package along all dependencies:

    Citrix Receiver for Linux
     The Citrix Receiver for Linux provides users with access to resources published
     on XenApp or XenDesktop servers. The clients combine ease of deployment and
     use, and offer quick, secure access to applications, content, and virtual
     desktops.
     .
     Users can connect to resources published on XenApp servers using either
     individual ICA connections or, if using Citrix XenApp, predefined ICA
     connection configurations from servers running the Web Interface.
     .
     Users can also connect to virtual desktops provided by XenDesktop, enabling
     them to use those virtual desktops as if they were connecting to a local
     Windows desktop.
    Do you want to install the software package? [y/N]:
    

    Select y then hit enter. Done.

This method has the advantage that doesn't require user intervention and resolves dependencies almost flawlessly.

While it resolves dependencies, the package itself has other issues:

dpkg: error processing icaclient (--install):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 icaclient

Furtulately, there is a solution:

sudo sed -i 's/grep \"i\[0\-9\]86\"/grep -E "i[0-9]86|x86_64"/g' /var/lib/dpkg/info/icaclient.postinst
sudo dpkg --configure icaclient

Citrix doesn't have that many certificates, so when you access your site, you can get SSL errors. If you have mozilla certificates, add them:

 sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

References: https://help.ubuntu.com/community/CitrixICAClientHowTo


Change the dependencies to be "Depends: libc6-i386 (>= 2.7-1), lib32z1, nspluginwrapper" Save and close the file Compile and install the deb file

Should be: Depends: libc6-i386 (>= 2.7-1), lib32asound2:i386, nspluginwrapper