|
|
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть блейд машина с 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-скриптов или питона. Конкретно вопрос такой: что где почитать про такие переносы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2015, 00:34 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budkaвижу это так: я собираю на тех виртуалках, которые у меня есть (преимущественно центось) и переношу бинарные файлы с библиотеками so. И на конечной машине все это работает. Компилятор везде gcc, система сборки - make плюс какой-то самопал типа bash-скриптов или питона.лучше готовить установочные пакеты под ту ОС, которая будет в продакшене budkaПробовал таскать с собой локальную рабочую версию этой либы с центось 4 х86, но на блейде ее не подхватывает почему-то (я пробовал таскать все so-файлы вместе с бинарником).переменные окружения корректно выставляются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2015, 08:31 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
bga83лучше готовить установочные пакеты под ту ОС, которая будет в продакшенеГде про это почитать? У меня ограниченные знания какие ОС будут у конечного потребителя, мне предоставили доступ на один из блейдов и на этом пока ограничились. bga83budkaпеременные окружения корректно выставляются?Какие именно переменные смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2015, 15:34 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budkaмне предоставили доступ на один из блейдов Для начала неплохо бы выяснить архитектуру процессора у этого лезвия... А то вдруг там ARM какой-нибудь, а ты ему подсовываешь библиотеку x86. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2015, 16:07 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budkabga83лучше готовить установочные пакеты под ту ОС, которая будет в продакшенеГде про это почитать?в соответствующей документации. Пример по RPM budkaУ меня ограниченные знания какие ОС будут у конечного потребителя, мне предоставили доступ на один из блейдов и на этом пока ограничились.так ведь можно узнать budkabga83пропущено... переменные окружения корректно выставляются?Какие именно переменные смотреть?для начала в которых пути указываются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2015, 19:47 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovbudkaмне предоставили доступ на один из блейдов Для начала неплохо бы выяснить архитектуру процессора у этого лезвия... А то вдруг там ARM какой-нибудь, а ты ему подсовываешь библиотеку x86.x86_64 судя по issie.net, так что либо интел, либо амд. bga83так ведь можно узнать Так уже задавал этот вопрос, внятного ответа не получил... bga83budkaдля начала в которых пути указываютсяКроме PATH что смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2015, 15:54 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budkaКроме PATH что смотреть?для либ используется LD_LIBRARY_PATH, а вообще начать стоит с того что посмотреть при помощи ldd какие именно библиотеки нужны приложению и что и именно не может быть найдено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 11:34 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budka, да слинкуйте статически на той виртуальной машине где собираете. Бывает, что коммерческие программы в двух версиях выпускают - и всем хорошо. Второй вариант подходит для сетевых программ, не обменивающихся файлами с другими : просто все нужные (да и не нужные на всякий случай) библиотеки запихиваете в отдельно созданную файловую систему и делаете chroot. Это практично, но программисты будут негодовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 00:51 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
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 в статике? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2015, 23:57 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budkaгде б почитать как собрать libXaw в статике?первым делом имеет смысл изучить параметры make файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 10:35 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
budka, не библиотеку собрать, а все приложение в той системе где она все же собирается и запускается. там где все эти библиотеки есть и нормальные. man ld : автор -static Do not link against shared libraries. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 10:37 |
|
||
|
Бинарная переносимость приложения?
|
|||
|---|---|---|---|
|
#18+
bga83budkaгде б почитать как собрать libXaw в статике?первым делом имеет смысл изучить параметры make файла netwindbudka, не библиотеку собрать, а все приложение в той системе где она все же собирается и запускается. там где все эти библиотеки есть и нормальные. man ld : автор -static Do not link against shared libraries. В общем идею понял, пытался впихнуть в настройки сборщика и вроде бы удалось. По крайней мере теперь не собирает потому, что не может найти статическую версию libXaw.a. Осталось ее собрать так сказать. Начал читать про сборку X11 и пока опух. Буду отпаиваться на майские, а там может и прояснится чего. В прицнипе, как я понял, в сборщие Х11 есть опция для статических либ. Но сама сборка у них довольно тяжеловесна, вплоть до того, что они свой менеджер сборки используют... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 01:42 |
|
||
|
|

start [/forum/topic.php?fid=25&fpage=31&tid=1482105]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 417ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...