Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Бинарная переносимость приложения? / 13 сообщений из 13, страница 1 из 1
18.04.2015, 00:34
    #38939722
budka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
Добрый день.
Есть блейд машина с RH5.1, 64 бит и с довольно запутанной системой линковок бибилиотек и прочего окружения.
Есть приложение, написанное в конце 80-х, которое в принципе собирается (какие-то исходники и дурацкая система сборки есть). На Centos 4/5/6 убунту 14.04 федора какая-то последняя на архитектурах 86/64 и работает. Причем собранное на Centos4 x86 легко переносится на все мои центоси/убунты/федоры (и скорее всего похожие дистрибы).
На блейд не переносится.

Конкретно с этим приложением вылезает косяк - запрашивается 32-битная версия библиотеки libXaw.so.7, которая именно 32-битная отсутсвует, а 64бит оно не хочет. Собрать приложение на блейде без заголовочников не получится, а установить их нельзя. Пробовал таскать с собой локальную рабочую версию этой либы с центось 4 х86, но на блейде ее не подхватывает почему-то (я пробовал таскать все so-файлы вместе с бинарником). Отсутсвует export, и поиск либ в директории запуска не производится.

Кроме этого приложения мне предстоит еще переносить и другие. Они в прицнипе то собираются, но хотелось бы ограничится небольшим кругом ОС вроде редхата и передавать только бинарные файлы, не заморачиваясь с исходниками. Я вижу это так: я собираю на тех виртуалках, которые у меня есть (преимущественно центось) и переношу бинарные файлы с библиотеками so. И на конечной машине все это работает. Компилятор везде gcc, система сборки - make плюс какой-то самопал типа bash-скриптов или питона.

Конкретно вопрос такой: что где почитать про такие переносы?
...
Рейтинг: 0 / 0
18.04.2015, 08:31
    #38939757
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budkaвижу это так: я собираю на тех виртуалках, которые у меня есть (преимущественно центось) и переношу бинарные файлы с библиотеками so. И на конечной машине все это работает. Компилятор везде gcc, система сборки - make плюс какой-то самопал типа bash-скриптов или питона.лучше готовить установочные пакеты под ту ОС, которая будет в продакшене


budkaПробовал таскать с собой локальную рабочую версию этой либы с центось 4 х86, но на блейде ее не подхватывает почему-то (я пробовал таскать все so-файлы вместе с бинарником).переменные окружения корректно выставляются?
...
Рейтинг: 0 / 0
18.04.2015, 15:34
    #38939823
budka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
bga83лучше готовить установочные пакеты под ту ОС, которая будет в продакшенеГде про это почитать?
У меня ограниченные знания какие ОС будут у конечного потребителя, мне предоставили доступ на один из блейдов и на этом пока ограничились.


bga83budkaпеременные окружения корректно выставляются?Какие именно переменные смотреть?
...
Рейтинг: 0 / 0
18.04.2015, 16:07
    #38939830
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budkaмне предоставили доступ на один из блейдов
Для начала неплохо бы выяснить архитектуру процессора у этого лезвия... А то вдруг там ARM
какой-нибудь, а ты ему подсовываешь библиотеку x86.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2015, 19:47
    #38939875
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budkabga83лучше готовить установочные пакеты под ту ОС, которая будет в продакшенеГде про это почитать?в соответствующей документации. Пример по RPM

budkaУ меня ограниченные знания какие ОС будут у конечного потребителя, мне предоставили доступ на один из блейдов и на этом пока ограничились.так ведь можно узнать
budkabga83пропущено...
переменные окружения корректно выставляются?Какие именно переменные смотреть?для начала в которых пути указываются
...
Рейтинг: 0 / 0
19.04.2015, 15:54
    #38940106
budka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
Dimitry Sibiryakovbudkaмне предоставили доступ на один из блейдов
Для начала неплохо бы выяснить архитектуру процессора у этого лезвия... А то вдруг там ARM
какой-нибудь, а ты ему подсовываешь библиотеку x86.x86_64 судя по issie.net, так что либо интел, либо амд.
bga83так ведь можно узнать
Так уже задавал этот вопрос, внятного ответа не получил...

bga83budkaдля начала в которых пути указываютсяКроме PATH что смотреть?
...
Рейтинг: 0 / 0
20.04.2015, 11:34
    #38940436
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budkaКроме PATH что смотреть?для либ используется LD_LIBRARY_PATH, а вообще начать стоит с того что посмотреть при помощи ldd какие именно библиотеки нужны приложению и что и именно не может быть найдено
...
Рейтинг: 0 / 0
21.04.2015, 00:51
    #38941173
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budka, да слинкуйте статически на той виртуальной машине где собираете. Бывает, что коммерческие программы в двух версиях выпускают - и всем хорошо.

Второй вариант подходит для сетевых программ, не обменивающихся файлами с другими : просто все нужные (да и не нужные на всякий случай) библиотеки запихиваете в отдельно созданную файловую систему и делаете chroot. Это практично, но программисты будут негодовать.
...
Рейтинг: 0 / 0
28.04.2015, 23:57
    #38948008
budka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
bga83budkaКроме PATH что смотреть?для либ используется LD_LIBRARY_PATH, а вообще начать стоит с того что посмотреть при помощи ldd какие именно библиотеки нужны приложению и что и именно не может быть найденоПрошу прощения, что долго не отвечал - был занят.

Судя по ldd кроме основных системных типа linux***.so используются
libX11.so.6
libXaw.so.7 (вот эта и дает затруднения)
libXext.so.6
libXmu.so.6
libXpm.so.4
libXt.so.6

думаю - можно ли собрать с этой либой в статике?
netwindbudka, да слинкуйте статически на той виртуальной машине где собираете. Бывает, что коммерческие программы в двух версиях выпускают - и всем хорошо.

Второй вариант подходит для сетевых программ, не обменивающихся файлами с другими : просто все нужные (да и не нужные на всякий случай) библиотеки запихиваете в отдельно созданную файловую систему и делаете chroot. Это практично, но программисты будут негодовать.
где б почитать как собрать libXaw в статике?
...
Рейтинг: 0 / 0
29.04.2015, 10:35
    #38948229
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budkaгде б почитать как собрать libXaw в статике?первым делом имеет смысл изучить параметры make файла
...
Рейтинг: 0 / 0
29.04.2015, 10:37
    #38948233
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
budka, не библиотеку собрать, а все приложение в той системе где она все же собирается и запускается. там где все эти библиотеки есть и нормальные.

man ld :
автор -static
Do not link against shared libraries.
...
Рейтинг: 0 / 0
30.04.2015, 01:42
    #38949148
budka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
bga83budkaгде б почитать как собрать libXaw в статике?первым делом имеет смысл изучить параметры make файла
netwindbudka, не библиотеку собрать, а все приложение в той системе где она все же собирается и запускается. там где все эти библиотеки есть и нормальные.

man ld :
автор -static
Do not link against shared libraries.
В общем идею понял, пытался впихнуть в настройки сборщика и вроде бы удалось. По крайней мере теперь не собирает потому, что не может найти статическую версию libXaw.a.
Осталось ее собрать так сказать. Начал читать про сборку X11 и пока опух. Буду отпаиваться на майские, а там может и прояснится чего. В прицнипе, как я понял, в сборщие Х11 есть опция для статических либ. Но сама сборка у них довольно тяжеловесна, вплоть до того, что они свой менеджер сборки используют...
...
Рейтинг: 0 / 0
05.05.2015, 09:49
    #38951444
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бинарная переносимость приложения?
>Есть блейд машина
блейды бывают с интел итаниум, это принципиально другой проц и другой порядок байт в слове.
uname -a
cat /proc/cpuinfo
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Бинарная переносимость приложения? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]