LINUX.ORG.RU

Qt - изменить название дллки


0

2

Здравствуйте. Надо переименовать имя кутешных дллок. Было libQtCore.so, стало libMyPacketQtCore.so. Это я сделал. Далее надо как-то сказать Qt что именно эти файлы линковать надо. Как это сделать? Я не нашел. Т.е. ldd prog_name показывает что у нас зависимости не от libMyPacketQtCore.so. Везде менял, не знаю как сделать.



Последнее исправление: facelift (всего исправлений: 1)

«100500 способов отстрелить себе ногу. Изд. Просвищение, 2012»
я давно слежу за твоими извратами с твоей прогой. ты что-то делаешь не так...

aol ★★★★★
()
Ответ на: комментарий от aol

Я решил сделать пакет с кутешными библиотеками и распространять его. Т.е. прога будет часто меняться то каждый раз качать всё, включая две библиотеки (Gui - 12MB, Core- 3MB) вовем не айс. Учитывая что у нас под линуксом пакетный менеджер есть я решил замутить пакетик с двумя этими библиотеками, и распространять его. Хотя х3, мб проще один пакет распространять.

facelift
() автор топика
Ответ на: комментарий от facelift

Учитывая что у нас под линуксом пакетный менеджер есть я решил замутить пакетик с двумя этими библиотеками, и распространять его.

Т.е. у многих в системе будут qt и еще копии библиотек qt, а в будущем будут еще и копии копий библиотек qt? По-моему, в правильном направлении движешься.

damnemall
()
Ответ на: комментарий от facelift

Я решил сделать пакет с кутешными библиотеками и распространять его

Внезапно, но почему не стандартные? Они у тебя модифицированные что-ли?

Dragon59 ★★
()

при линковке -lMyPacketQtCore вместо -lQtCore
а ваще бред

POLTER ★★
()

Напиши название программы, что бы я её случайно не поставил бы и не засрал бы пол системы.

alpha4
()
Ответ на: комментарий от facelift

Т.е. ldd prog_name показывает что у нас зависимости не от libMyPacketQtCore.so.

Открою тебе страшную тайну: даже если программу ты сможешь слинковать с libMyPacketQtGui.so, которая была libQtGui.so, то окажется, что сама библиотека libQtGui.so зависит от libQtCore.so, а не от libMyPacketQtCore.so:

$ ldd /usr/lib/x86_64-linux-gnu/libQtGui.so | grep Qt
	libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fe575e37000)

А без пересборки Qt это не исправить.

Т.е. прога будет часто меняться то каждый раз качать всё, включая две библиотеки (Gui - 12MB, Core- 3MB) вовем не айс. Учитывая что у нас под линуксом пакетный менеджер есть я решил замутить пакетик с двумя этими библиотеками, и распространять его. Хотя х3, мб проще один пакет распространять.

Не-не-не, ты всё делаешь неправильно. В бинарных дистрибутивах Qt не идёт одним пакетом, там отдельные пакеты для QtCore, QtGui, QtXml, QtWebkit и т.д., поэтому перепакетировать Qt не нужно — оно уже разбито на пакеты. Свою программу тоже делаешь отдельным пакетом и ставишь зависимости от пакетов с QtCore и QtGui.

gentoo_root ★★★★★
()
Ответ на: комментарий от Dragon59

Мне нужны самые новые дллки, потому что старые бажут. А новых в репах нет. Надо их мне самому распространять. Но чтобы ниче не сломать новыми старые заменять не надо. А прога активно пишется и часто выходят апдейты. Но каждые раз все это качать - это бред. Дллки кароче надо отдельным пакетом сделать и в репозиторий кинуть и зависимости прописать.

facelift
() автор топика
Ответ на: комментарий от alpha4

Наоборот так я делаю чтобы не засрать систему. Че будет в итоге

1) Пакет BlaBlaQtLibs, так будут 2 дллки - libBlaBlaQtCore.so и libBlaBlaQtGut.so - он будет редко меняться - там будут новые версии куте

2) Пакет в котором лежит один бинарь - он будет часто меняться

Ставишь - и ничи не ломается. А при удалении и этот пакет удалится.

facelift
() автор топика
Ответ на: комментарий от facelift

ну собери ты нужные тебе библиотеки в /usr/local/lib, в /opt/myLibs или еще куда отдельным пакетом.. зачем переименовывать-то их?!

aol ★★★★★
()
Ответ на: комментарий от aol

Ну вот в Ubuntu или Mint че стоит? В Debian Testing 4.6.1. А у вас какая версия? Скажите, может я зря парюсь, надо оставить все как есть и не париться.

facelift
() автор топика
Ответ на: комментарий от aol

Дык они уже есть в системе. У них тоже самое название. Сломаю я все, не надо так делать. У тебя уже есть libQtCore.so.4 у меня тот же самый файл. Но это симлинк на libQtCore.so.4.6.3, например, а у меня будет libQtCore.so.4.8.1. И все, сломаю я все тебе, надо переименовывать.

facelift
() автор топика
Ответ на: комментарий от facelift

А если статически слинковать то насколько жирнее бинарь станет?

facelift
() автор топика
Ответ на: комментарий от facelift

чего ты сломаешь-то?! особенно если установишь их не в /usr/lib
про LD_ тебе уже советовали в предыдущем треде.

мне не понятны твои стенания. тут делов на 5 минут

aol ★★★★★
()
Ответ на: комментарий от aol

Ты впоряде, видишь. А в дебиан все старое. Ща посмотрим че у других, может я и гоню.

Народ, че там в Федоре, например, и в Минте, например, и в других дистрах, например?

facelift
() автор топика
Ответ на: комментарий от aol

Я знаю, но можно и по другому сделать. Я вот этот вариант хочу посмотреть - кажется что его тоже не долго делать, и так лучше будет (мне так кажется)

facelift
() автор топика
Ответ на: комментарий от facelift

Ставь в зависимостях Qt и не парься - в нормальных дистрибутивах давно 4.8, а у кого нет - ссзб.

Dragon59 ★★
()

Свали кутипроблемы на юзеров, сами прекрасно разберуться со своими тухлыми дистрами. В том же стейбле всегда можно поставить пакеты из тестинга или сида.

Хватит тащить свою вендовую логику сюда.

Kalashnikov ★★★
()
Ответ на: комментарий от aol

«100500 способов отстрелить себе ногу. Изд. Просвищение, 2012»

Дааа, таких идьетов еще поискать...

Pavval ★★★★★
()

Знаком я с парочкой таких разработчиков, у нас они требовали последний-распоследний gcc и boost чтобы элементарный код писать со всеми фичами C++11. Руки бы поотрывал.

buddhist ★★★★★
()

добро пожаловать в линукс. статическая линковка спасет тебя. не трать время на поддержку 1 дистрибутива. сделай статик-билд, который работает везде, и выкладывай в tar.bz2. если будет нужно - юзеры сами себе перепакетят под свой дистр. то, что ты пытаешься сделать, только создаст проблемы твоим же потенциальным юзерам. не слушай троллей-фанатиков, которые советуют все распространять исключительно в дебах.

waker ★★★★★
()
Ответ на: комментарий от facelift

Значит такая идея. Мы можем как-то в зависимостях указать конкретные либы? Типа: shlibs: libQtCore.so.4 и чтобы пакетный менеджер сам разрулил в каком они для этого дистра пакете?

facelift
() автор топика

НЕ НУЖНО ТАК ДЕЛАТЬ.

Deleted
()
Ответ на: комментарий от facelift

Автор, успокойся уже. В дебиан тестинг Qt 4.8.2. Все, закрыта твоя проблема.

dt1 ★★
()
Ответ на: комментарий от buddhist

Знаком я с парочкой таких разработчиков, у нас они требовали последний-распоследний gcc и boost чтобы элементарный код писать со всеми фичами C++11. Руки бы поотрывал.

C++11 действительно позволяет улучшить качество продукта, что не так?

shty ★★★★★
()
Ответ на: комментарий от facelift

Ну, и поставь в зависимостях, чтобы не меньше 4.8.1.

dave ★★★★★
()
Ответ на: комментарий от facelift

«чтобы пакетный менеджер сам разрулил в каком дистре последняя версия Qt и установил этот дистр»

Fixed.

queen3 ★★★★★
()
Ответ на: комментарий от alpha4

Напиши название программы, что бы я её случайно не поставил бы и не засрал бы пол системы.

Поддерживаю!

false ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.