How-To: Solving libXM.so.4 error in Citrix Receiver (ICAClient) on Ubuntu

Here is how solved the missing libXm.so.4 error while launching Citrix Receiver (installed through XenApp client plugin) on Ubuntu. For some one who does not know what is Citrix Receiver, here is what Citrix says,

Citrix Receiver™ with Citrix Dazzle™ gives users the power to go virtual and choose from where and how they will work. Users can access avirtual desktop with on-demand applicationsanywhere – from smartphone to netbook, PC to Mac – from company device to personal device, from one location to another.

The application can be launched using either Applications -> Internet -> Citrix Receiver (OR) through following command line. If you find that there is no response when you click the Citrix Receiver, try the following command line in console. You will get necessary error message to solve the issue.
$ /usr/lib/ICAClient/wfcmgr -icaroot /usr/lib/ICAClient
/usr/lib/ICAClient/wfcmgr: error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory
The issue is “missing libXm.so.4 library file”.  I searched for package which contains all versions of libXm.so.4 (more about apt-file usage here).
$ apt-file search libXm.so.4

It did not return any package name. So it is not in repository. Though libXm.so.4 is missing in the repository, we can try with other version. So we search for libXm.so and install the corresponding package libmotif-dev.
$ apt-file search libXm.so
lesstif2: /usr/lib/libXm.so.2
lesstif2: /usr/lib/libXm.so.2.0.1
lesstif2-dbg: /usr/lib/debug/usr/lib/libXm.so.2.0.1
lesstif2-dev: /usr/lib/libXm.so
libmotif-dev: /usr/lib/libXm.so
libmotif3: /usr/lib/libXm.so.3
libmotif3: /usr/lib/libXm.so.3.0.2
$ sudo apt-get install libmotif-dev
Then we create a symbolic link to libXm.so as libXm.so.4.
$ sudo ln -s /usr/lib/libXm.so /usr/lib/libXm.so.4
That is it. Now try running the Citrix Receiver 🙂

Citrix Receiver running on Ubuntu
Share this post

8 comments

  1. In my case, I compiled motif from source, and the default installation location of libXm.so is /usr/lib (My default setting is /usr/lib64 because I am using a 64bit system). So add /usr/lib to LD_LIBRARY_PATH can solve this problem.

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib

  2. It seems that Ubuntu has the necessary libs in the repositories after all.. at least with Ubuntu 11.04 (Natty) which is what I’m using.


    $ apt-file search libXm.so.4
    libmotif4: /usr/lib/libXm.so.4

    Don’t forget to do an “apt-file update” first if needed.

    So you can just install libmotif4 and everything should be dandy. It works for me.

  3. Pingback: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *