![]() |
|
|
![]()
|
|
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
Под ubuntu 12.04 собрал статически Qt 4.6 и статически же свою программу...при запуске (без пересборки!!!) этой программы под другой линуксоподобной ОС с, видимо, GLIBC другой версии (нежели в ОС, где собиралась статически эта программа) выдается ошибка "GLIBC_2.4. not found required by..."...как это исправить?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand, или установить GLIBC версии не ниже 2.4, либо собрать Qt и программу, с использованием той же версии glibc, что и на "другой линускоподобной ОС".
|
|||
|
||||
| gordmiand |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
запустил файл ./libc.so.6:
на компьютере с ubuntu 12.04, где собиралась программа, команда выдает
на компьютере со старенькой "линускоподобной ОС" эта же команда выдает
а как мне собрать свою программу (и еще Qt надо пересобрать?) с указанным мной GLIBC (т.е. взятой с компа с линуксоподобной ОС)? что мне надо для этого переписать с компа с линуксоподобной ОС: glibc - это только один файл libc-2.3.6.so (на него ссылается libc.so.6)), который кстати намного больше по размеру, чем его аналог от ubuntu (хотя вроде версия выше, а размер меньше)... |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand, в убунте используется eglibc - усовершенствованная gnu libc.
Одной libc-*.so будет недостаточно. Поэтому, тебе необходимо собрать Qt для этой версии glibc. Хотя, не уверен, что это получится. Более того, есть ограничения на версию gcc. Короче, если есть возможность, обнови свою "линуксоподобную ОС". Если нет, то готовься к большим проблемам. Возможно, придется пробовать разные версии Qt. |
|||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
bsa: а разве смена версий Qt может мне помочь? насколько я понял, glibc относится к ОС, а не к Qt? на линуксоподобной ОС стоит и работает Qt 4.7.2 (не я ставил, поэтому ничего сказать не могу), под ubuntu собирал программу на Qt 4.6.3 - при попытке установки Qt 4.6.3 SDK на линуксоподобную ОС в самом конце установки выдается все та же ошибка об отсутствии GLIBC_2.4...могу под ubuntu попробовать собрать программу с использованием Qt 4.7.2, но что это даст в отношении glibc?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand, то что там стоит и работает 4.7.2 - ни о чем еще не говорит, кроме того, что можно попробовать собрать и 4.8.x. Скорее всего, Qt необходимо собирать конкретно под твою ОС (кстати, ты так не определил еще дистрибутив?).
Если машина слабая, то сборку можно ускорить через копирование файлов ОС (все каталоги, кроме /dev, /home, /proc, /sys, /tmp) на мощный комп и вход в нее через chroot. |
|||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
так каким именно образом можно собрать Qt под конкретную ОС? можно ли к проекту подключить эту glibc и таскать с проектом файлики (какие именно?) этой библиотеки?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
||||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
собрать - это значит установить Qt (просто у меня целиком SDK) - для того, чтобы потом пересобрать там программу (чтобы она использовала glibc с данного компа)? как я уже говорил на линуксоподобной ОС уже собран Qt 4.7.2 и отлично работает.. но мне его использовать для пересборки программы не хотелось бы - долго, да и незачем...я для того на отдельном компьютере с ubuntu и собирал Qt статически, чтобы иметь возможность собирать программы, которые бы работали под другими линуксоподобными ОС без всякого Qt (чтобы таскать с собой только один бинарник программы)...
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand, ну тогда извиняй. ты хочешь слишком многого.
Попробуй еще и libc линковать статически. http://stackoverflow.com/questions/2474329...tically-with-qt |
|||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
пытаюсь себе на ubuntu 12.04 поставить нужный мне glibc:
скачал архив glibc_2.3.6, разархивировал его, зашел в его папку и пытаюсь дать команду
в ответ ошибка configure: error: you must configure in a separate build directory как мне ее исправить? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand, ты не то делаешь. Надо наоборот - компилировать программу на системе, на которой работать собираешься. Или хотя бы установи в chroot копию этой системы.
Кстати, запустить что-либо собранное под другую glibc можно так: 1. Создаем каталог /opt/MyApp 2. Создаем в нем стандартную структуру: bin, lib, share 3. Копируем в /opt/MyApp/lib ссылку libc.so.6 и файл на который она ссылается, а так же ld*.so и другие библиотеки 4. Копируем свою программу в /opt/MyApp/bin 5. Создаем скрипт запуска в /opt/MyApp/bin:
|
|||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
bsa: а почему нельзя попробовать на компе с ubuntu 12.04 попробовать собрать программу с нужной мне glibc (а не системной)? вот для этого я и пытаюсь поставить в отдельную папку glibc_2.3.6 : вышеуказанную ошибку исправил запускoм configure не из папки с дистрибутивом glibcб теперь выдается следующее
посмотрел я этот файлик INSTALL, да не понял что из него мне надо подчерпнуть полезного... |
|||
|
||||
| gordmiand |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
bsa:
1. что конкретно имелось ввиду под "ld*.so и другие библиотеки" (как мне понять какие из всех системных файлов нужно мне скопировать) 2. зачем создавать папку share - туда вроде ничего не копируется? 3. поясните пож-та (можно на примере) скрипт: что за dirname, myapp ? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
gordmiand
man dirname myapp - твоя программа. У кого как. У меня копируется
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |