Cannot install icaclient due to problem with ia32-libs

13,103

Solution 1

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.

Solution 2

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/

Solution 3

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

Solution 4

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

Share:
13,103

Related videos on Youtube

Marc
Author by

Marc

I am an Ubuntu user.

Updated on September 18, 2022

Comments

  • Marc
    Marc over 1 year

    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.

    • chronitis
      chronitis over 10 years
      ia32-libs has been obsolete since 11.10. It used to consist of a single large collection of 32-bit libraries, but with the addition of multi-arch support packages should now depend on package:architecture pairs, eg libbz2-1.0:i386. You could perhaps edit the package's control file with new dependencies, but the source package needs to be updated. Alternatively, you might just be able to install the ..._i386.deb 32-bit version directly.
    • chronitis
      chronitis over 10 years
      (see askubuntu.com/questions/107230/… for more about ia32-libs/multiarch)
    • Marc
      Marc over 10 years
  • spoorcc
    spoorcc over 10 years
    I followed these steps and installed without errors, but I'm still missing the 32-bit version of libXp.so.6. ldd /opt/Citrix/ICAClient/wfcmgr gives as only missing dependency libXp.so.6 => not found. I do have the 64-bit version in /usr/lib/x86_64-linux-gnu/libXp.so.6
  • spoorcc
    spoorcc over 10 years
    Ok, sudo apt-get install libXp6:i386 solved it
  • Marc
    Marc over 10 years
    sudo apt-get -f install installs missing dependencies... That was the clue for me.
  • Marc
    Marc over 10 years
    Are you sure that it resolves dependencies? I get Dependency is not satisfiable: ia32-libs when trying to do sudo gdebi Downloads/icaclient_12.1.0_amd64.deb
  • Marc
    Marc over 10 years
    Just again: I cannot install via gdebi. I get the above mentioned dependency error, what makes me unable to install icaclient.
  • Eris
    Eris over 10 years
    I also had to do the following step from the CitrixICAClientHowto :[Change] line 2648 in ica_temp/DEBIAN/postinst: echo $Arch|grep "i[0-9]86" >/dev/null to: echo $Arch|grep -E "i[0-9]86|x86_64" >/dev/null
  • Marc
    Marc over 10 years
    So they finally updated the page - and Citrix updated their receiver. Should work now.