crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Не запускается статическая программа
KuvshinoF
  опции профиля:
сообщение 16.11.2020, 14:44
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 25.7.2013
Пользователь №: 3887

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть opengl-программа, собранная статически под ubuntu 14 - мне ее надо запустить под Аstra Linux. При запуске приложения выдается ошибка типа realloc from /lib/x86_64_linux-gnu/libc.so.6 invalid pointer под адресу .....В то же время пересобранное под AstraLinux данное приложение корректно запускается и работает. И статически собранные под Ubuntu 14 и простейшее приложение, и opengl Qt-пример тоже корректно работают под AstraLinux. Так в чем может быть дело с запуском моего приложения и как это поправить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 17.11.2020, 21:39
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


скорее всего, у тебя какие-то OpenGL-ные библиотеки юзают одну версию libc, а твоя статическая сборка пытается тащить с собой другую. не линкуй её статически.
там ещё могут быть и другие зависимости такого рода.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KuvshinoF
  опции профиля:
сообщение 18.11.2020, 22:20
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 25.7.2013
Пользователь №: 3887

Спасибо сказали: 0 раз(а)




Репутация:   0  


Понятно, только очень странно, что qt-ый opengl-ый пример работает корректно, да и моя программа ничего особенного из opengl не использует. А как именно можно не линковать статически libc?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 19.11.2020, 4:53
Сообщение #4


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


ну, это ты написал, что ты свою программу собираешь статически. там и смотри, где линкуешь. я хз как ты там это делаешь.
зачем ты вообще таким занимаешься? собери на целевом дистрибутиве и не мучайся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KuvshinoF
  опции профиля:
сообщение 19.11.2020, 18:00
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 25.7.2013
Пользователь №: 3887

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да описанным везде стандартным способом собрал Qt статически, в проекте прописал Qt+=static и все...А целевой дистрибутив не всегда есть под рукой, да и он достаточно большого размера, чтобы с собой таскать его.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 24.11.2020, 0:07
Сообщение #6


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


при сборке "статики" обычно наружу торчат уши стандартных системных библиотек и очень часто - различных реализаций библиотек криптографии. поэтому я бы не рекомендовала так делать. лучше всего предоставлять сорцы и юзеры сами соберут себе софт с теми библиотеками, которые у них установлены. ты не напасёшься сборок на все случаи жизни.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 1:00