Название: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 27, 2012, 18:16 Всем доброго времени суток.
Мой проект собран с использованием библиотеки qwt Речь пойдёт о Linux У меня в системе установлен пакет libqwt-dev (библиотека в /usr/lib), собственно с этим пакетом к меня всё работает и на других Ubuntu с этим пакетом тоже, но если я пытаюсь запустить бинарник на Ubuntu без этого пакета, то получаю ./plot4: error while loading shared libraries: libqwt.so.6: cannot open shared object file: No such file or directory Положить библиотеку просто рядом с бинарником, как я это делаю в маздае, не прокатило, как тогда поступить? Заранее спасибо за ответы! Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 27, 2012, 18:28 user@host> export LD_LIBRARY_PATH=. ; ./my_cool_prog_with_qwt
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Апрель 27, 2012, 18:48 Поставить пакет, как ни странно)
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 27, 2012, 20:38 navrocky, зачем?
Alex Custov Цитировать Поставить пакет, как ни странно) P.S. надо чтоб как в винде, ничего от пользователя не требовалось установить! Я думал это и так понятно ... Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: sudo от Апрель 27, 2012, 23:05 P.S. надо чтоб как в винде, ничего от пользователя не требовалось установить! Я думал это и так понятно ... Собирать пакет, делать зависимости Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 27, 2012, 23:21 собирать пакет ради одной либы?
а больше никак? :o Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Апрель 28, 2012, 07:00 Это не винда. Это НЕ дружелюбный пользователю интерфейс. Это линукс :D
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 08:43 Это не винда. Это НЕ дружелюбный пользователю интерфейс. Это линукс :D Да, домохозяйки отдыхают :)Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 08:46 собирать пакет ради одной либы? Так вроде ВСЕ приложения в Ubuntu собраны в пакеты. Если делать корректно, то собрать пакет нужно в независимости от того, использует ли программа дополнительные либы или нет.а больше никак? :o Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 09:57 navrocky, зачем? Что зачем? Я тебе показал как подгружать либы из папки в которой лежит бинарь. Ты ведь этого хотел? А если ты хочешь совсем чтобы как в винде, то это отдельная тема, надо не только qwt тащить но и всю бороду из системных либ (Qt, Xlib....). Или пересобрать пол системы в статике и слинковать со всем этим статически свой бинарь. Хороший пример - google earth. Посмотри какие либы он с собой тащит и как их загружает. Правда это не тру. Правильней собрать готовые пакеты для каждой ОС по отдельности и указывать необходимые зависимости, чтобы пакетный менеджер все необходимое установил автоматически не напрягая пользователя. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Апрель 28, 2012, 10:18 Собрать около 10-20 пакетов и постоянно их поддерживать ;)
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Апрель 28, 2012, 10:48 собирать пакет ради одной либы? а больше никак? :o ты уверен, что ради одной? Посмотри в ldd сколько зависимостей у программы, и не все они могут совпасть на другой машине. Поэтому принято делать пакеты и прописывать зависимости там. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 28, 2012, 11:02 navrocky, мне пользователю говорить каждый раз в терминал просить лезть или делать системный вызов из кода можно?(сорри если что-то не своими словами называю)
alexis031182, а вот и нет пример: tuxboot для linux долгое время распространялся просто как один бинарник и отлично работал, у меня даже остался для 64x машину, если не верите, могу скинуть Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Апрель 28, 2012, 11:07 пример: tuxboot для linux долгое время распространялся просто как один бинарник и отлично работал, у меня даже остался для 64x машину, если не верите, могу скинуть Это статически слинкованный бинарник. Мне, например, не нравится загаживать систему отдельными файлами, которые идут без пакетов. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 11:12 Это статически слинкованный бинарник. Мне, например, не нравится загаживать систему отдельными файлами, которые идут без пакетов. ++Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 12:05 navrocky, мне пользователю говорить каждый раз в терминал просить лезть или делать системный вызов из кода можно?(сорри если что-то не своими словами называю) Ты про bash-скрипты слышал? Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 28, 2012, 12:14 navrocky, да, конечно
я могу его вызвать прямо из кода qt? Alex Custov, как я могу такой сделать? Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 12:15 navrocky, да, конечно я могу его вызвать прямо из кода qt? Зачем баш скрипт звать из кода? Положи его в /usr/bin и пусть его зовет пользователь. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 28, 2012, 14:59 я хочу, чтобы от пользователя ничего не требовалось, как с виндовс сборкой
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 15:36 АААААААААААААА!!!!!! Ну сколько можно уже троллить?
Запакуй бинарь, либы и скрипт в пакет. При установке кинь скрипт в /usr/bin/, либы и бинарь в какой-нибудь /usr/share/myapp ... Сделай ярлык на скрипт, установи ярлык в /usr/share/applications. Скопируй уже свою иконку в /usr/share/icons/hicolor/XXxXX/apps/myapp.png. Всё! Пользователю останется кликнуть по ярлыку. Гугли инфу о том как создаются пакеты для дебиан и убунты. На этом я умолкаю. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 28, 2012, 16:04 я уже несколько раз говорил, что считаю делать пакет не рациональным решением для данного случая
если бы я упаковывал пакет, я бы просто зависимость ему поставил, но я этого делать не собираюсь мой вопрос остаётся в силе Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Апрель 28, 2012, 16:54 Тебе уже 100 раз ответили. Нет, нельзя так делаааать. Это не Windows. В линуксе нет "дружелюбного" отношения к пользователю.
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 17:07 Может ещё в сторону какого-нибудь апп-инсталлера посмотреть, типа этого (http://izpack.org/we-love-izpack/) и иже с ним по гуглонавигатору (http://www.google.ru).
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 17:11 IzPack is a one-stop solution for packaging, distributing and deploying applications for the Java platform.
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 17:26 IzPack is a one-stop solution for packaging, distributing and deploying applications for the Java platform. Свинство, а я уж обрадовался... :(Но вроде как-то краем уха-глаза замечал подобные затеи в сети. Может чего и реализовано уже Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: navrocky от Апрель 28, 2012, 17:35 http://portablelinuxapps.org/ - может тебя это заинтересует? Судя по всему можно скачать SDK и сооружать свои такие приложения.
http://www.linux.org.ru/news/opensource/5134856 - тут немного по русски разжевали. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: alexis031182 от Апрель 28, 2012, 18:03 Комментарии на Лоре как обычно доставляют ))
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Апрель 30, 2012, 15:57 Тебе уже 100 раз ответили. Нет, нельзя так делаааать. Это не Windows. В линуксе нет "дружелюбного" отношения к пользователю. Понятие "дружелюбного отношения к пользователю" у всех разное, для меня дружелюбное отношение к пользователю - это дать ему пакет, а не отдельный бинарник. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Апрель 30, 2012, 17:58 не кормите троллей 8)
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Май 01, 2012, 09:21 Дружелюбный - это взял и работай ;) Инитуитивно понятный, как мышка ;)
Недружелюбный - когда взял, собрал, посмотрел ошибки, скачал ещё 4 пакета, скомпилировал, нашёл документацию, скачал, прочитал документацию, нашёл 1 флаг для компиляции, добавил, собрал, работаешь ;) PS И вообще, мне, как простому пользователю, нет никакого кайфа собирать из 3-7 пакетов одну программу ;) Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: LisandreL от Май 01, 2012, 09:44 Дружелюбный - это взял и работай. Инитуитивно понятный, как мышка Ну так как раз вариант с пакетом вполне дружелюбный.Пользователь запускает гуёвый менеджер пакетов, выбирает нужную программу, жмёт устанавливать и этот менеджер уже скачивает и устанавливает все нужные пакеты (по прописанным зависимостям). Очень интуитивно и удобно, в бонус к этому ещё и централизованная проверка обновлений (в отличии от Винды, где куча прописавшихся в автозапуск апдейтеров забивают канал и тормозят систему на старте). Вот такой вот идеальный мир, который правда заканчивается, когда нужной программы нет в официальном репозитории дистрибутива и надо в лучшем случае искать какой репозиторий подключить, в худшем - гемороиться с скачиванием и сборкой и сборкой из консоли в ручную. Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Май 01, 2012, 11:02 Самое худшее, когда скачиваешь пакет, он скачивает ещё 3 пакета, которые скачивают ещё по 2 пакета каждый и... И это всё не работает ;)
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Май 01, 2012, 11:46 Недружелюбный - когда взял, собрал, посмотрел ошибки, скачал ещё 4 пакета, скомпилировал, нашёл документацию, скачал, прочитал документацию, нашёл 1 флаг для компиляции, добавил, собрал, работаешь ;) Для этого авторы обычно и делают пакеты, которые ставятся одним движением руки, и не зас Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Май 01, 2012, 11:47 Самое худшее, когда скачиваешь пакет, он скачивает ещё 3 пакета, которые скачивают ещё по 2 пакета каждый и... И это всё не работает ;) А ты эти зависимости вручную ставишь, что ли? Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Bepec от Май 01, 2012, 17:58 Нет. Не руками ;) Просто пакет допустим редмайна, тянет последний пакет php, который тянет последний ***, а в конце идёт пакет, который несовместим с версией первого пакета ;)
Конечно ломастеры и на виндовс есть, но... В линуксе мне почему то только такие и попадаются ;) Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Alex Custov от Май 01, 2012, 18:04 Пакет для какого дистрибутива? Выложи его сюда.
Название: Re: Qt взять нужную библиотеку на другую Ubuntu Отправлено: Zeka13 от Май 01, 2012, 23:47 хватит кормить троллей, где вообще модераторы, почему в темах флуд?
|