Sunday, January 6, 2008

Getting Citrix for Carecast working on debian sid amd64

ok how did i get citrix working on the a debian64 machine.

download the latest citrix application from the website.

http://www.citrix.com/English/SS/downloads/details.asp?dID=2755&downloadID=3323&pID=186


Now citrix uses 32 bit libs not the 64 bit libs you have native so you need to use
ia32-libs
ia32-libs-gtk

lib32gcc1
lib32ncurses5
lib32stdc++6
lib32z1
libc6-i386

i actually don't know which of those. maybe just first one?


so then untar it and run the application

./setupwfc

which installs to
/usr/lib/ICAClient/

/usr/lib/ICAClient$ ldd wfcmgr
linux-gate.so.1 => (0xffffe000)
libXm.so.3 => not available (or something like that...)
libXp.so.6 => /usr/lib32/libXp.so.6 (0xf7d35000)
libXpm.so.4 => /usr/lib32/libXpm.so.4 (0xf7d25000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7d1d000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7d04000)
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7cef000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7ceb000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7cd4000)
libc.so.6 => /lib32/libc.so.6 (0xf7b8d000)
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7b3d000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7a50000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7a42000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7a3f000)
/lib/ld-linux.so.2 (0xf7fa2000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7a3a000)

thus notice that we need
libXm.so.3
(now this is what it shows after i did copied to /usr/lib32/

which as a 32 bit binary
does not seem to exist in debian sid at this moment? or i couldnt find it

so i went to a 32 bit debian sid machine and copied that file and put it in

/usr/lib32/libXm.so.3.0.2
and I did this linking...

ln -s /usr/lib32/libXm.so.3.0.2 /usr/lib32/libXm.so.3

now when i run

ldd wfcmgr


/usr/lib/ICAClient$ ldd wfcmgr
linux-gate.so.1 => (0xffffe000)
libXm.so.3 => /emul/ia32-linux/usr/lib/libXm.so.3 (0xf7d3c000)
libXp.so.6 => /usr/lib32/libXp.so.6 (0xf7d35000)
libXpm.so.4 => /usr/lib32/libXpm.so.4 (0xf7d25000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7d1d000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7d04000)
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7cef000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7ceb000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7cd4000)
libc.so.6 => /lib32/libc.so.6 (0xf7b8d000)
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7b3d000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7a50000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7a42000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7a3f000)
/lib/ld-linux.so.2 (0xf7fa2000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7a3a000)
thus
now it seems to find it, although I certainly did NOT put it in

/emul/ia32-linux/usr/lib/libXm.so.3

I put it in /usr/lib32/libXm.so.3 which is bizarre! But hell it works. who knows what magic?

and I was done.


( thus notice thus we need to have the
/lib32 and /usr/lib32 directories
it looks like the correct ones are /usr/lib32
)

then to run citrix. go to the web site you want to go to
log in to citrix application center
then when you click:

it tells you that :

"you have chosen to open
launch.jsp
which is a ICA file
from
https://remotedestination.whatever.org

open with "Browse for application"

and browse for the file

/usr/lib/ICAClient/wfcmgr

and select that and you will be ok.

then: Go to the Box:

"Citrix presentation server client for linux"

you will see the
Carecast Pool in the middle of box.
and go to the Connections menu
and select Connect
and you will open up a Carecast client

and you can log in!
Good Luck!

1 comment:

ronanb said...

Thanks for the tip. I was actually able to get Citrix working by making a link to version 2 of the libXm file (v2 is installed, in Debian testing amd64, but not v3). Like this:
>ls -l /usr/lib32/libXm.so.2
lrwxrwxrwx 1 root root 14 Feb 21 22:14 /usr/lib32/libXm.so.2 -> libXm.so.2.0.1
>ln -s /usr/lib32/libXm.so.2 /usr/lib32/libXm.so.3
>ldd ~/ICAClient/linuxx86/wfcmgr
linux-gate.so.1 => (0xffffe000)
libXm.so.3 => /emul/ia32-linux/usr/lib/libXm.so.3 (0xf7de5000)
libXp.so.6 => /usr/lib32/libXp.so.6 (0xf7dde000)
libXpm.so.4 => /usr/lib32/libXpm.so.4 (0xf7dce000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7dc6000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7dae000)
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7d99000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7d95000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7d7e000)
libc.so.6 => /lib32/libc.so.6 (0xf7c37000)
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7be7000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7afa000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7aec000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7ae9000)
/lib/ld-linux.so.2 (0xf7f37000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7ae4000)

And it works so far :)