Здравствуйте.Дано. Несколько исполняемых файлов собранных под gentoo'ой gcc версии 4.5.3. Прямые зависимости QtCore, QtGui, QtNetwork, QtWebKit, OpenSSL.
Требуется заставить все это дело работать на ubuntu, начиная с 6-й версии.
Софт _очень_ узкоспециализированный для embedded систем, поставка deb-пакетами исключена. Дистр требуют оформить в стиле windows - скачал, запустил, все заработало. От пакетных менеджеров, своих репозиториев и т.д. категорически отказываются.
Собственно сейчас оно работает на ubuntu 10-й и 11-й версии путем LD_PRELOAD="/path/to/qt/and/openssl/libs" ./my_embedded_app. Зависимости тащатся вместе с программой, лежат в локальном подкаталоге программы, и используются именно они независимо от того присутствуют ли в системе свои версии этих либ.
На более старых версиях запускаться отказывается - старый gcc и иже с ним. Пробовал построить дерево зависимостей, засунуть в поставку все либы, включая libstdc++, libc и т.д. - результат:
./my_app: symbol lookup error: ./libs/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4
Уважаемые, что я делаю не так? Есть вообще возможность распространять бинарники, собранные в окружении отличном от целевого, не прибегая к пакетному менеджеру дистрибутива? Спасайте, завтра требуют готовый дистр.