Bug 29791 - Citrix Client для armhf версии 13.0.0 работает только на Debian-based openssl
: Citrix Client для armhf версии 13.0.0 работает только на Debian-based openssl
Status: REOPENED
: Branch p7
(All bugs in Branch p7/altlinux-release-p7)
: не указана
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2014-02-02 21:18 by
Modified: 2014-04-08 16:10 (History)


Attachments
Лог неудачного подключения к серверу (1.67 KB, text/x-log)
2014-03-20 19:20, Andrey Cherepanov
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2014-02-02 21:18:09
Наша версия openssl собрана таким образом, что с ней не работает официальный
клиент Citrix Receiver.

Проверить можно следующим образом:
1) зарегистрироваться на демо-версии CitrixCloud: http://www.citrixcloud.net/
2) скачать последнюю версию Citrix Receiver под свою архитектуру:
http://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-130.html
3) запустить Receiver и попытаться подключиться к demo-аккаунту на citrixcloud.
В нашем случае выводится ошибка подключения, на других системах подключение
проходит.

Нужен инструмент, позволяющий запускать Citrix Receiver на нашей системе.

Аналогичная проблема на Sisyphus
------- Comment #1 From 2014-02-02 21:50:49 -------
На Сизиф с обязательным внесением исправлений в *7
------- Comment #2 From 2014-02-02 22:16:08 -------
http://support.citrix.com/product/ica/unix/topic/icaconn/

2rider: какая диагностика?
------- Comment #3 From 2014-02-02 22:41:47 -------
(In reply to comment #0)
> Наша версия openssl собрана таким образом, что с ней не работает официальный
> клиент Citrix Receiver.

Какие есть основания подозревать именно openssl?

> В нашем случае выводится ошибка подключения, на других системах подключение
проходит.

Диагностика есть какая-нибудь?
В каких системах ошибка не воспроизводится?
------- Comment #4 From 2014-02-03 02:48:07 -------
(В ответ на комментарий №0)
> Проверить можно следующим образом:
> 1) зарегистрироваться на демо-версии CitrixCloud: http://www.citrixcloud.net/
> 2) скачать последнюю версию Citrix Receiver под свою архитектуру:
> http://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-130.html
> 3) запустить Receiver и попытаться подключиться к demo-аккаунту на citrixcloud.

Прошу описать п.3  подробнее.
------- Comment #5 From 2014-02-03 15:39:40 -------
Проверял нашу сборку citrix-client, поставляемую с дистрибутивами
(i586-citrix-client-12.1.0-alt2.M70C.1) на p7.
На указанном демо-стенде (а там даётся не обычный десктопный сеанс, а набор
XenApps, который и нужно выбрать в меню), всё работает без каких-либо проблем.

Версия с офсайта ICAClient-13.0.0.256735-0.x86_64.rpm требует 
        nspluginwrapper нужен для ICAClient-13.0.0.256735-0
        libcurl.so.4 >= 7.19.1 нужен для ICAClient-13.0.0.256735-0
        libxerces-c-3.1.so нужен для ICAClient-13.0.0.256735-0
        libwebkitgtk-1.0.so.0 нужен для ICAClient-13.0.0.256735-0

Кроме nspluginwrapper, это есть в пакетах libcurl libwebkitgtk2 libxerces-c.

Установил их и пакет с офсайта с --nodeps.

При запуске 64-битной версии возникла ошибка:
$ LD_LIBRARY_PATH=/opt/Citrix/ICAClient:/usr/lib64 /opt/Citrix/ICAClient/wfica
/opt/Citrix/ICAClient/wfica: error while loading shared libraries:
libpng12.so.0: wrong ELF class: ELFCLASS64 (что решается доустановкой
i586-libpng12 и i586-libGL).

Однако в 13-ой версии исчез графический интерфейс по конфигурированию. А как
выбрать в клиенте запуск в режиме XenApp - не знаю. Но это не значит, что
клиенты не работают (что 12-ый, что 13-ый).
------- Comment #6 From 2014-02-03 15:41:27 -------
Параметры подключения:
Username:    Andrey.Cherepanov1
Password:    demo
Domain:    citrixcloud
Address:    demo.citrixcloud.net

~/.ICAClient/appsrv.ini 

;******************************************************************************
;
;    appsrv.ini
;    Session configuration file for Citrix Receiver for Unix
;
;    Copyright 1994-2002, 2006, 2009 Citrix Systems, Inc. All rights reserved.
;
;******************************************************************************

[WFClient]
Version=135291471

[ApplicationServers]
CitrixCloud (demo)=

[CitrixCloud (demo)]
WinStationDriver=ICA 3.0
TransportDriver=TCP/IP
DisableCtrlAltDel=On
DoNotUseDefaultCSL=On
LocHttpBrowserAddress=demo.citrixcloud.net
EncryptionLevelSession=RC5 (128 bit - Login Only)
Compress=On
TransportReconnectDefault=True
UseAlternateAddress=0
ProxyUseDefault=On
EnableAudioInput=No
AudioBandwidthLimit=1
ClientAudio=On
MouseSendsControlV=On
PersistentCacheEnabled=On
CDMAllowed=On
UseDefaultSettingForColormap=Yes
ZLMouseMode=2
ZLKeyboardMode=0
Password=00050723412b43
Domain=citrixcloud
Username=Andrey.Cherepanov1
Address=demo.citrixcloud.net
Launcher=Custom
------- Comment #7 From 2014-02-03 21:59:30 -------
наш потенциальный заказчик интересуется версией под ARMv7.
Где мне взять рабочий под нашей системой ICAClient для ARM ? 
Почему-то их интересует 13-ая версия.

openssl - это предположение. Посмотрите разницу в версиях символов openssl у
нас и в, например, ubuntu.
------- Comment #8 From 2014-02-03 22:03:22 -------
п.3 подробнее выглядит так (нет сейчас под рукой 32-х битной системы, а на 64-х
битной системе пакет ICAClient не устанавливается), что при попытке подключения
с параметрами CitrixCloud вылезает окошко с ошибкой. 
Вы можете это воспроизвести на 32-х битной системе, скачав тарболл с
официального сайта.

x86_64 rpm не устанавливается с такой диагностикой:

# apt-get install ~rider/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting ICAClient for
'/home/rider/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  ICAClient: Depends: nspluginwrapper but it is not installable
             Depends: libcurl.so.4 (>= 7.19.1)
E: Broken packages


устанвленный с --nodeps - не запускается.
------- Comment #9 From 2014-02-03 22:52:26 -------
(В ответ на комментарий №7)
> наш потенциальный заказчик интересуется версией под ARMv7.
> Где мне взять рабочий под нашей системой ICAClient для ARM ? 
> Почему-то их интересует 13-ая версия.

Их интересует 13 версия, потому что для прежних версий не было сборок armhf,
только armel. 
Думаю, что надо тестировать именно armhf-версию.
------- Comment #10 From 2014-02-04 00:07:51 -------
(В ответ на комментарий №8)
> The following packages have unmet dependencies:
>   ICAClient: Depends: nspluginwrapper but it is not installable
>              Depends: libcurl.so.4 (>= 7.19.1)
> E: Broken packages

nspluginwrapper можно собрать:

http://mirror.yandex.ru/fedora/linux/development/rawhide/source/SRPMS/n/nspluginwrapper-1.4.4-19.fc20.src.rpm

А вот почему не находит libcurl -- не знаю. 

cas@ завтра попробует Fedora.
------- Comment #11 From 2014-02-04 00:20:21 -------
(In reply to comment #3)
> (In reply to comment #0)
> > Наша версия openssl собрана таким образом, что с ней не работает официальный
> > клиент Citrix Receiver.
> 
> Какие есть основания подозревать именно openssl?
> 
> > В нашем случае выводится ошибка подключения, на других системах подключение
> проходит.
> 
> Диагностика есть какая-нибудь?
> В каких системах ошибка не воспроизводится?

одна из библиотек из состава citrix receiver, а именно
/opt/Citrix/ICAClient/libctxssl.so
динамически слинкована с libcrypto.so.1.0.0, причём  ~150 символов оттуда
версионированы,
первые три для демонстрации:
$ readelf -s libctxssl.so|grep 'UND.\+OPENSSL'|head -3
    55: 00000000     0 FUNC    GLOBAL DEFAULT  UND sk_push@OPENSSL_1.0.0 (3)
    57: 00000000     0 FUNC    GLOBAL DEFAULT  UND
ASN1_BIT_STRING_free@OPENSSL_1.0.0 (3)
    72: 00000000     0 FUNC    GLOBAL DEFAULT  UND
ASN1_INTEGER_get@OPENSSL_1.0.0 (3)

такое же версионирование я видел, кажется, в ubuntu.
------- Comment #12 From 2014-02-04 00:39:27 -------
При необходимости можно собрать отдельный костыль, имитирующий любое
версионирование.
------- Comment #13 From 2014-02-04 01:01:09 -------
(В ответ на комментарий №12)
> При необходимости можно собрать отдельный костыль, имитирующий любое
> версионирование.

Необходимость обеспечить работу клиента citrix, особенно на ARM, есть.
Но я все же прошу cas@ проверить на Fedora. Тем более, что поставляются пакеты
и rpm, и deb.
------- Comment #14 From 2014-02-04 01:47:42 -------
(In reply to comment #13)
> (В ответ на комментарий №12)
> > При необходимости можно собрать отдельный костыль, имитирующий любое
> > версионирование.
> 
> Необходимость обеспечить работу клиента citrix, особенно на ARM, есть.
> Но я все же прошу cas@ проверить на Fedora. Тем более, что поставляются пакеты
> и rpm, и deb.

Если речь идет об ARMHF, то у них там Receiver for Linux есть только для Debian
(linuxarmhf-13.0.0.256735.tar.gz и icaclient_13.0.0.256735_armhf.deb).

Пакет ICAClient-13.0.0.256735-0.x86_64.rpm явно собран не под Debian, но там
тоже попадаются какие-то кривые зависимости, например,
libcurl.so.4 >= 7.19.1

В любом случае без костылей не обойтись, но для armhf и x86-64 они понадобятся
разные.

Ну и к основному пакету openssl это, очевидно, никакого отношения не имеет.
------- Comment #15 From 2014-02-04 01:57:11 -------
(В ответ на комментарий №14)
> В любом случае без костылей не обойтись, но для armhf и x86-64 они понадобятся
> разные.

Замечу, что по договоренности с местным Citrix (или как там его хозяина теперь
зовут), мы можем (пере)собрать пакет с клиентом.
------- Comment #16 From 2014-02-04 13:25:16 -------
Нет смысла проверять на Fedora, если на ALT Linux прекрасно работает.
1. Устанавливаем ICAClient по инструкции, которую я давал выше (с --nodeps).
Да, на 64-битной системе это немного нетривиально (см. #5).
2. Создаём правильный appsrv.ini (см. #6).
3. Запускаем /opt/Citrix/ICAClient/util/pnabrowse -E demo.citrixcloud.net -c
'WWco Desktop'  '/'     'Application'   ''
'WWCo Company Overview' '/'     'Application'   ''
'HTML5 Apple Showcase'  '/'     'Content'       ''
'Citrix Video Showcase' '/'     'Content'       ''
'WWCo Documents'        '/Office Apps'  'Application'   ''
'Microsoft Word'        '/Office Apps'  'Application'   ''
'Microsoft PowerPoint'  '/Office Apps'  'Application'   ''
'Microsoft Excel'       '/Office Apps'  'Application'   ''
'Financials Dashboard'  '/Financial Solutions'  'Application'   ''
'Event Budget'  '/Financial Solutions'  'Application'   ''
'Watercraft Design'     '/Design Solutions'     'Application'   ''
'Design Archive'        '/Design Solutions'     'Application'   ''
'Architectural Design'  '/Design Solutions'     'Application'   ''
'1 About the WWCo Demo' '/Demo Help'    'Application'   ''
'Whats new in XenDesktop 56'    '/About Citrix' 'Application'   ''
'Whats new in XenApp 65'        '/About Citrix' 'Application'   ''
'Learn The Basics'      '/About Citrix' 'Application'   ''
'Citrix XenMobile Overview'     '/About Citrix' 'Application'   ''
'Citrix Virtual Computing'      '/About Citrix' 'Application'   ''
'About Citrix'  '/About Citrix' 'Content'       ''
4. Запускаем
/opt/Citrix/ICAClient/util/pnabrowse -L 'WWco Desktop' demo.citrixcloud.net

и работаем в Windows. 

Ещё раз: нет никаких проблем с запуском на ALT Linux. Есть кривособранный и
слабодокументированный пакет с офсайта без центра управления. Подозреваю, что
его можно и пересобрать и нормально настроить.
------- Comment #17 From 2014-02-04 13:31:06 -------
2cas: спасибо. Но баг уже про ARM, потому не надо закрывать.
------- Comment #18 From 2014-02-05 22:10:22 -------
2sbolshakov: проверь на ARM плз по инструкции Андрея.
------- Comment #19 From 2014-02-18 18:21:09 -------
Интерфейс по конфигурированию - это /opt/Citrix/ICAClient/selfservice
Он у нас тоже не работает:
LD_LIBRARY_PATH=/opt/Citrix/ICAClient:/usr/lib64
/opt/Citrix/ICAClient/selfservice 
libwebkit: libwebkit-1.0.so: cannot open shared object file: No such file or
directory
------- Comment #20 From 2014-02-18 18:27:19 -------
(В ответ на комментарий №19)
> Интерфейс по конфигурированию - это /opt/Citrix/ICAClient/selfservice
> Он у нас тоже не работает:
> LD_LIBRARY_PATH=/opt/Citrix/ICAClient:/usr/lib64
> /opt/Citrix/ICAClient/selfservice 
> libwebkit: libwebkit-1.0.so: cannot open shared object file: No such file or
> directory

О какой версии идет речь?
Об этой : http://packages.altlinux.org/en/p7/srpms/citrix-client ?
------- Comment #21 From 2014-02-18 18:31:10 -------
Если о 13.0 и для armh, то давайте приведем параметры бага в соответствие.
------- Comment #22 From 2014-02-18 18:36:06 -------
(В ответ на комментарий №19)
> Интерфейс по конфигурированию - это /opt/Citrix/ICAClient/selfservice
> Он у нас тоже не работает:
> LD_LIBRARY_PATH=/opt/Citrix/ICAClient:/usr/lib64
> /opt/Citrix/ICAClient/selfservice 
> libwebkit: libwebkit-1.0.so: cannot open shared object file: No such file or
> directory
Стоит i586-libwebkitgtk2 (как я же рекомендовал в комментарии #5).

[cas@cas alterator-l10n]$ /opt/Citrix/ICAClient/selfservice
/opt/Citrix/ICAClient/selfservice: /usr/lib/libcurl.so.4: no version
information available (required by /opt/Citrix/ICAClient/selfservice)
Icaroot=/opt/Citrix/ICAClient, argLineIcaRoot=
Starting AuthManagerDaemon
Starting ServiceRecord daemon
thread icon worker - waiting for signal
/opt/Citrix/ICAClient/AuthManagerDaemon: /usr/lib/libcurl.so.4: no version
information available (required by /opt/Citrix/ICAClient/AuthManagerDaemon)
/opt/Citrix/ICAClient/ServiceRecord: /usr/lib/libcurl.so.4: no version
information available (required by /opt/Citrix/ICAClient/ServiceRecord)
Could not load file
Could not load file
Another Instance Already Running
Another Instance Already Running

(selfservice:15596): Gtk-WARNING **: Загружаемый модуль тем не найден в
module_path: «oxygen-gtk»,

(selfservice:15596): Gtk-WARNING **: Загружаемый модуль тем не найден в
module_path: «oxygen-gtk»,

(selfservice:15596): GdkPixbuf-WARNING **: Cannot open pixbuf loader module
file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': Нет такого файла или
каталога

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

(selfservice:15596): Gtk-WARNING **: Error loading icon from file
'/opt/Citrix/ICAClient/icons/receiver.png':
        Не удалось распознать формат изображения для файла
«/opt/Citrix/ICAClient/icons/receiver.png»
Cancelled by user

Всё работает
------- Comment #23 From 2014-02-18 18:50:44 -------
2aen: забудь про 12-ую версию. Её уже даже скачать негде, кроме Sisyphus.
Надо собрать в сизиф 13-ую. Ну и прежде чем о ARM говорить, давайте заставим
его хотя-бы на x86 работать.

2cas: стоит конечно, но selfservice просит libwebkit-1.0.so

А у нас такого нет.
 fgrep libwebkit-1.0.s0 /raid/p7/i586/base/contents_index
Симлинк сделал, оно запускается, но дальше второго шага не идёт (после ввода
адреса сервера).
------- Comment #24 From 2014-02-18 18:54:07 -------
(В ответ на комментарий №23)
> 2aen: забудь про 12-ую версию. Её уже даже скачать негде, кроме Sisyphus.
> Надо собрать в сизиф 13-ую. Ну и прежде чем о ARM говорить, давайте заставим
> его хотя-бы на x86 работать.

 Эта бага про ARM. 12-я стабильна и в p7
Повесь FR на сборку 13-й, пожалуйста.
------- Comment #25 From 2014-02-18 18:55:29 -------
(В ответ на комментарий №23)
> 2aen: забудь про 12-ую версию. Её уже даже скачать негде, кроме Sisyphus.
> Надо собрать в сизиф 13-ую. Ну и прежде чем о ARM говорить, давайте заставим
> его хотя-бы на x86 работать.
> 
> 2cas: стоит конечно, но selfservice просит libwebkit-1.0.so
Не просит.
ICAClient-13.0.0.256735-0.x86_64.rpm

# ldd /opt/Citrix/ICAClient/selfservice  | grep webkit
#

Какая у тебя версия?
------- Comment #26 From 2014-02-18 18:56:37 -------
Добавлю, что рецепт из комментария #5 тоже не сработал:
$ /opt/Citrix/ICAClient/util/pnabrowse -L 'WWco Desktop' demo.citrixcloud.net
Citrix XenApp - Cannot Contact the Citrix Server: Unable to connect to the
remote server URL
'http://demo.citrixcloud.net/Citrix/Store/PNAgent/config.xml'. The remote
server URL may not be entered correctly or the remote server may be down. Would
you like to re-enter the server URL?

Оно вообще живое ? У тебя работает ?
------- Comment #27 From 2014-02-18 18:57:26 -------
2aen: на arm можем собрать только 13-ую версию. Я могу экспериментировать и на
ARM, но у Андрея x86.
2cas: rpm -qa|grep ICA
ICAClient-13.0.0.256735-0
------- Comment #28 From 2014-02-18 19:08:19 -------
(В ответ на комментарий №26)
> Добавлю, что рецепт из комментария #5 тоже не сработал:
> $ /opt/Citrix/ICAClient/util/pnabrowse -L 'WWco Desktop' demo.citrixcloud.net
> Citrix XenApp - Cannot Contact the Citrix Server: Unable to connect to the
> remote server URL
> 'http://demo.citrixcloud.net/Citrix/Store/PNAgent/config.xml'. The remote
> server URL may not be entered correctly or the remote server may be down. Would
> you like to re-enter the server URL?
> 
> Оно вообще живое ? У тебя работает ?
Ресурсы показываются, но залогиниться не даёт. Или лицензия или учётная запись
заэкспайрилась.
------- Comment #29 From 2014-02-18 19:42:04 -------
$ md5sum ~/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm 
6797a443e64346cf682042bea99926a6 
/home/rider/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm 

Такой ?

Я не понимаю, в чём у нас разница ? покажи /usr/lib/libwebkit*
------- Comment #30 From 2014-02-19 11:03:50 -------
(В ответ на комментарий №29)
> $ md5sum ~/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm 
> 6797a443e64346cf682042bea99926a6 
> /home/rider/Загрузки/ICAClient-13.0.0.256735-0.x86_64.rpm 
> 
> Такой ?
Да.

> Я не понимаю, в чём у нас разница ? покажи /usr/lib/libwebkit*
$ ll /usr/lib/libwebkit*
lrwxrwxrwx 1 root root       26 фев 18 18:33 /usr/lib/libwebkitgtk-1.0.so.0 ->
libwebkitgtk-1.0.so.0.18.5
-rw-r--r-- 1 root root 28768992 апр 11  2013
/usr/lib/libwebkitgtk-1.0.so.0.18.5
------- Comment #31 From 2014-02-19 11:04:27 -------
$ rpm -qf /usr/lib/libwebkit*
i586-libwebkitgtk2-2.0.0-alt1
i586-libwebkitgtk2-2.0.0-alt1
------- Comment #32 From 2014-02-19 14:28:52 -------
Да, у меня тоже самое. Удивительно, но сегодня оно уже запускается.
Дальше ввода адреса сервера не идёт. А у тебя ?

IMHO надо просить поддержки в Citrix.
------- Comment #33 From 2014-02-19 14:53:01 -------
на ubuntu, кстати, selfservice работает.
Выглядит так: http://imagebin.ca/v/1CrvzxLFehYt

после ввода адреса сервера предлагает ввести логин, пароль и домен. После этого
скачивает с citrixcloud доступные приложения и позволяет их настраивать.

tcpdump показывает, что в ALT никаких запросов от selfservice не отправляется.
Что-то не то с окружением.
------- Comment #34 From 2014-02-28 14:34:17 -------
(В ответ на комментарий №33)
> на ubuntu, кстати, selfservice работает.
> Выглядит так: http://imagebin.ca/v/1CrvzxLFehYt
> 
> после ввода адреса сервера предлагает ввести логин, пароль и домен. После этого
> скачивает с citrixcloud доступные приложения и позволяет их настраивать.
> 
> tcpdump показывает, что в ALT никаких запросов от selfservice не отправляется.
> Что-то не то с окружением.
Антон, я сегодня собрал в Sisyphus (и p7) пакет nspluginwrapper. Нужно с ним
попробовать. Может, заработает.
------- Comment #35 From 2014-02-28 14:37:49 -------
А у тебя заработал ?
------- Comment #36 From 2014-03-20 14:15:59 -------
(В ответ на комментарий №35)
> А у тебя заработал ?
Ситуация следующая:
1. на i586 работает без проблем. Единственная проблемка - в зависимостях лежат
библиотеки, но это можно починить пакетом ICAClient-preinstall
2. На x86_64 не работает, так как налетает на проблему вызова libgdk-pixbuf,
которая на x86_64 генерирует только куш для него, без учёта arepo. 

Ребята сказали, что такое уже фиксили и нужно подружить
/usr/lib/rpm/gdk-pixbuf-loaders.filetrigger с arepo.
------- Comment #37 From 2014-03-20 19:19:51 -------
Собрал
#116725 TESTED #3 [test-only] sisyphus
ICAClient-preinstall.git=13.0.0.256735-alt1

Он позволяет безшовно установить ICAClient даже на x86_64. Но есть два
недостатка:
1. не показываются значки (см. предыдущий комментарий)
2. не соединяется с сервером (даже после явной установки i586-libnss-mdns и
i586-libnss-myhostname. См. вложение.

Если есть мысли - пишите.
------- Comment #38 From 2014-03-20 19:20:56 -------
Created an attachment (id=6065) [details]
Лог неудачного подключения к серверу
------- Comment #39 From 2014-04-02 12:22:38 -------
Из хешерницы не работает точно так же. Видимо, чего-то всё-таки не хватает
------- Comment #40 From 2014-04-08 16:10:02 -------
Прислали демо-вход. С libgdk-pixbuf-2.28.2-alt1.M70P.1 (или последней версией
этого пакета в Sisyphus) работает и на 64-битной системе.