Russian Qt Forum
Ноябрь 05, 2024, 22:08
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Необходимо перенести свою прогу на Linux
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Необходимо перенести свою прогу на Linux (Прочитано 27862 раз)
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #15 :
Ноябрь 07, 2008, 06:50 »
Цитата: vaprele07 от Ноябрь 07, 2008, 04:06
Цитата: Константин от Ноябрь 07, 2008, 03:33
все видели инсталлятор нвидиавских дров?
вообще-то это скрипт
и что? абсолютно неважно как и чем там всё упаковано и как выглядит процесс установки - факт, что набор бинарей один (для определённого таргета). модуль ядра - вот тут да, проблемка...мажорок ядра-то сколько? а ещё конфиги отличаются...вот здесь и имеется необходимость в сырцах - быстренько собрали модуль, положили куда надо, запустили - и оп-па...
а теперь откройте бинари и посмотрите с какими либами каких версий слинковано
Записан
vaprele07
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #16 :
Ноябрь 07, 2008, 07:37 »
а что мешает собрать кутэ-прогу без глибц оставив только зависимость от кутэ и платформы
Записан
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #17 :
Ноябрь 07, 2008, 08:01 »
даже не знаю как тебе сказать...кутэ зависит от платформы, а под линухами платформа - это ядро и глибси
это не говоря уже о либах, зависящих от глибси, от которых зависит кутэ...
«
Последнее редактирование: Ноябрь 07, 2008, 08:03 от Константин
»
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: Необходимо перенести свою прогу на Linux
«
Ответ #18 :
Ноябрь 07, 2008, 09:48 »
я все таки хотел бы сказать - собрать можно
но бинарник БУДЕТ большой, и там не будет разве что ядра.
Записан
Hort
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #19 :
Ноябрь 07, 2008, 10:19 »
спасибо всем за ответы. нашел интересную сталью вчера
http://citkit.ru/articles/281/
но теперь вопрос как подготовить свои исходники к распространению?
Записан
vaprele07
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #20 :
Ноябрь 07, 2008, 10:24 »
я не про само кутэ, а про приложение написанное с использованием кутэ.
Записан
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #21 :
Ноябрь 07, 2008, 10:28 »
а с этим-то какая проблема? вычисти из файлов символ \r, приложи почитайку, файл инсталл и текст лицензии. в почитайке укажи кого
ругать
благодарить и куда контрибутить...вроде, всё.
а, ну и сам собери на парочке лялихов чтобы убедиться в компилябельности
Записан
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #22 :
Ноябрь 07, 2008, 10:34 »
Цитата: vaprele07 от Ноябрь 07, 2008, 10:24
я не про само кутэ, а про приложение написанное с использованием кутэ.
т.е. не писать платформозависимый код? согласен. пишем в зависимостях "Qt 4.3" и не ломаем голову вопросами бинарной совместимости...но это позволительно только при распространении исходников, а речь-то велась о чудо-пакете под разные дистры...
по этому поводу я писал - допотопный глибси 2.2, старый гцц, минимум внешних зависимостей - и будет счастье
Записан
Hort
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #23 :
Ноябрь 07, 2008, 11:07 »
Цитата: Константин от Ноябрь 07, 2008, 10:28
а с этим-то какая проблема? вычисти из файлов символ \r, приложи почитайку, файл инсталл и текст лицензии. в почитайке укажи кого
ругать
благодарить и куда контрибутить...вроде, всё.
а, ну и сам собери на парочке лялихов чтобы убедиться в компилябельности
всмысле в почитайке написать - типа делайте qmake и make? обычно ж делают конфигурационный скрипт чтобы потом установилось в неообходимые дирректории (стандартный набор команд ./configure & make & make install). а qmake скомпилит и запихнет в ту деректорию, которая в *.pro файле, или както можно указать стандартную директорию для программ в нем?
Записан
xintrea
Супер активный житель
Offline
Сообщений: 754
Re: Необходимо перенести свою прогу на Linux
«
Ответ #24 :
Ноябрь 07, 2008, 13:00 »
Кстати, по поводу размера статического исходника. На самом деле, размер обычной программы (типа мессенджера например) в статическом виде, куда засунуты все зависимые библиотеки, будет ~25Mb. Ужимается это дело в 4-5Mb. Для пользователя такие размеры вполне приемлемы.
Я вот все понять не могу - бинарная совместимость - это проблема линуха. Проблема гигантская, из-за которой линух не развивается какнадо (1% десктопов). Проблема касается прежде всего в сложности установки программ. Обычный пользователь поставлен в условия "нет в репозитарии - нет программы". То есть на лицо зависимость от майнтейнера при таком простом деле как установка нужного приложения.
Статическая линковка вроде как должна решать проблему. Но статитику под линух мало кто использует, не развивают ее (хотя в MS Singularity на это сделана одна из главных ставок как борьба с dll hell). То, что сейчас есть в Linux, это просто вкомпиливание кода зависимых библиотек в бинарь. Отсюда и размеры.
А почему бы не пойти дальше? Чаще всего из библиотеки используется на самом деле 10-20% возможностей. Очень часто вообще, 2-3 функции. Так почему бы не сделать такой инструмент, который будет оставлять в коде бинаря только используемый код? Понятно, что готовый бинарь так просто не преобразуешь. А вот если компилить из исходников (из объектников) то вся информация о том, что используется, есть. В результате можно получить программу - "вещь в себе", весь код внутри, она работает так, как ее сделал программист, она не глючит из-за смены подверсии какой-нить либы или из-за того что по каким-то соображениям либа в конкретном дистре собрана без поддержки нужной функции. И она небольшая. И содержит только реально работающий код. Вот если такое когда-нибудь в линухе появится, тогда будет прорыв. А сейчас - барахтанье с исходниками, репозитариями, бактреками и прочими залипухами, вместо того чтоб дать пользователю возможность скачать прогу, установить и использовать.
Записан
Собираю информацию по крупицам
http://webhamster.ru
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #25 :
Ноябрь 07, 2008, 16:04 »
xintrea, твой опыт работы в линух-системах?
Записан
xintrea
Супер активный житель
Offline
Сообщений: 754
Re: Необходимо перенести свою прогу на Linux
«
Ответ #26 :
Ноябрь 07, 2008, 21:08 »
Цитата: Константин от Ноябрь 07, 2008, 16:04
xintrea, твой опыт работы в линух-системах?
Вот такой опыт, что гарантированно работающую статику создать практически нереально. Хотя, вроде у
SkyPe
получилось. Установка из статического инсталлятора - Qt, звук, все работает.
Записан
Собираю информацию по крупицам
http://webhamster.ru
Вячеслав
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #27 :
Ноябрь 08, 2008, 13:21 »
Цитата: xintrea от Ноябрь 07, 2008, 13:00
Я вот все понять не могу - бинарная совместимость - это проблема линуха. Проблема гигантская, из-за которой линух не развивается какнадо (1% десктопов). Проблема касается прежде всего в сложности установки программ. Обычный пользователь поставлен в условия "нет в репозитарии - нет программы". То есть на лицо зависимость от майнтейнера при таком простом деле как установка нужного приложения.
1) в форточках еще хуже так-как QtCore4.dll может относиться к любой кутехе версии 4 .... да и либ этих может быть как грязи ...
2) для обычного пользователя - _нафиг_ не надо знать _как_ собираюиться проги под линуксом.
3) _Если_ он (обычный пользователь) хочет использовать нечто не стандартное ( чего нет в deb rpm etc..) , то он вполне может прочитать глазками базовые инструкции по сборке
А струмент есть .... - жабой зоветься jit в частности
Но для плюсов .... чего-то моя совневаеться ... Как определить что используеться , а что нет ? Да и в случае с кутехой - connect хде-нибудь в глубине либы на какой-нибудь служебный слот - как такое отлавливать ? про косвенные вызовы функций - я вообще молчу ... опять-таки с vmt чего делать ? Это уже AI нужон ж) Я уж лучше по старинке spec'и для rpm или deb'ов писать буду
Записан
ритт
Гость
Re: Необходимо перенести свою прогу на Linux
«
Ответ #28 :
Ноябрь 08, 2008, 14:24 »
скачай smplayer и загляни в папочку "debian-rvm" - примерно так и следует распространять исходники, если у самого нет возможности собирать пакеты под различные популярные дистры - кому нужно будет, сам состряпает себе пакет по спекам...
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Необходимо перенести свою прогу на Linux
«
Ответ #29 :
Ноябрь 08, 2008, 19:01 »
Цитата: xintrea от Ноябрь 07, 2008, 13:00
А почему бы не пойти дальше? Чаще всего из библиотеки используется на самом деле 10-20% возможностей. Очень часто вообще, 2-3 функции. Так почему бы не сделать такой инструмент, который будет оставлять в коде бинаря только используемый код?
Этот инструмент называется ld. При статической компиляции он выбрасывает неиспользуемые данные
Записан
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...