Здравствуйте, CRT, Вы писали:
CRT>Я как-то пытался разобраться в этом вопросе. И пришел к выводу (возможно ошибочному) что невозможно в Линкусе написать на С/С++ (или другом компиляторе, генерирующем машинный код специально под линукс) программу, сделать инсталятор, выложить на сайт. Так чтобы у всех, или хотя бы у большинства пользователей оно работало.
Возможно, но тебе придется собирать свой проект как минимум под 2 версии, минимум 5 популярных дистрибутива минимум в 2-х архитектурах. Для среднего шароварщика не умеющего автоматизировать сборку это непосильная задача.
Здравствуйте, pestis, Вы писали:
P>Для среднего шароварщика не умеющего автоматизировать сборку это непосильная задача.
Думаю, средний шароварщик без проблем это бы осилил, был бы выхлоп.
Здравствуйте, drVanо, Вы писали:
V>Кто-нибудь таким занимается? Хотелось бы узнать какая битность (x32 или x64) наиболее востребована.
Я как-то пытался разобраться в этом вопросе. И пришел к выводу (возможно ошибочному) что невозможно в Линкусе написать на С/С++ (или другом компиляторе, генерирующем машинный код специально под линукс) программу, сделать инсталятор, выложить на сайт. Так чтобы у всех, или хотя бы у большинства пользователей оно работало.
Поэтому там и существуют репозитории, откуда ты скачиваешь проги совместимые с твоим набором системных библиотек в системе.
Здравствуйте, CRT, Вы писали:
CRT>Я как-то пытался разобраться в этом вопросе. И пришел к выводу (возможно ошибочному) что невозможно в Линкусе написать на С/С++ (или другом компиляторе, генерирующем машинный код специально под линукс) программу, сделать инсталятор, выложить на сайт. Так чтобы у всех, или хотя бы у большинства пользователей оно работало.
Ну, адобу, скайпу, мозилле и этим, которые опенофис делают, это удается (ну или удавалось). Правда, они много приносят с собой, типа своей личной копии Qt/GTK.
Здравствуйте, drVanо, Вы писали:
V>Кто-нибудь таким занимается? Хотелось бы узнать какая битность (x32 или x64) наиболее востребована.
Почему не сделать сразу обе?
P.S. В принципе, на здоровой (в смысле, не больной) 64-битной системе 32-битные программы ставятся и запускаются без проблем. Но меня как-то попросили поставить скайп на старую убубту, и это было не просто. Скайпу захотелось каких-то дополнительных библиотек, которых не было в системе, а убунта была старая, и репозитории уже умерли, так что по-простому доставить недостающее не получилось.
P>Возможно, но тебе придется собирать свой проект как минимум под 2 версии, минимум 5 популярных дистрибутива минимум в 2-х архитектурах. Для среднего шароварщика не умеющего автоматизировать сборку это непосильная задача.
И постоянно поддерживать эти 2*5*2 инсталяторов в актуальном состоянии. Постоянно отслеживать изменения в дистрибутивах.
Здравствуйте, CRT, Вы писали:
CRT>И постоянно поддерживать эти 2*5*2 инсталяторов в актуальном состоянии. Постоянно отслеживать изменения в дистрибутивах.
CRT>Вобщем задача действительно не из самых простых
Ну я и говорю, для среднего шароварщика не умеющего в непрерывную интеграцию это нереально.
Здравствуйте, CRT, Вы писали:
CRT>Здравствуйте, drVanо, Вы писали:
V>>Кто-нибудь таким занимается? Хотелось бы узнать какая битность (x32 или x64) наиболее востребована.
CRT>Я как-то пытался разобраться в этом вопросе. И пришел к выводу (возможно ошибочному) что невозможно в Линкусе написать на С/С++ (или другом компиляторе, генерирующем машинный код специально под линукс) программу, сделать инсталятор, выложить на сайт. Так чтобы у всех, или хотя бы у большинства пользователей оно работало.
CRT>Для этого там и существуют репозитории, откуда ты скачиваешь проги совместимые с твоим набором системных библиотек в системе.
CRT>Возможно ошибаюсь.
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, drVanо, Вы писали:
V>>Кто-нибудь таким занимается? Хотелось бы узнать какая битность (x32 или x64) наиболее востребована.
Pzz>Почему не сделать сразу обе?
Pzz>P.S. В принципе, на здоровой (в смысле, не больной) 64-битной системе 32-битные программы ставятся и запускаются без проблем. Но меня как-то попросили поставить скайп на старую убубту, и это было не просто. Скайпу захотелось каких-то дополнительных библиотек, которых не было в системе, а убунта была старая, и репозитории уже умерли, так что по-простому доставить недостающее не получилось.
У меня шаровара в том числе и под линукс.
Так вот, более распространены сейчас 64-битные системы.
На большинстве 64-битных систем (федора, убунту, сусе) в дефолтной конфигурации ОТСУТСТВУЮТ по дефолту 32-битный libc, то есть даже 32-битная прога (написанная на голом С) которая печатает на stdout "hello world" на них не запустится. Юзеру придется скачать мегабайт 100 пакетов c 32-битной версией libc и прочих библиотек.
Так что рекомендую в дистрибьютиве таскать 64-bit и 32-бит версии кода.
PS: никаких пакетов под каждую платформу я не распространяю, юзер просто качает zip файл для линукса, распаковывает, и пускает враппер на bash который все сам остальное делает — говорит какие пакеты доставить и тд., настраивает путь к библиотекам и запускает нужный бинарник.
Здравствуйте, vladrsdn, Вы писали:
V>PS: никаких пакетов под каждую платформу я не распространяю, юзер просто качает zip файл для линукса, распаковывает, и пускает враппер на bash который все сам остальное делает — говорит какие пакеты доставить и тд., настраивает путь к библиотекам и запускает нужный бинарник.
Лично у меня на этом этапе возникает непреодолимое желание поискать альтернативы, запакованные в мой родной RPM, или вовсе отказаться от установки такой программы. И только если совсем уж невмоготу, я соглашусь на инсталлятор.
В этом плане мне больше всего нравятся вендоры (гугль, адоб, теперь вот скайп-микрософт), которые держат для своего софта свой RPM-репозиторий. Мне достаточно один раз добавить их репозиторий в систему, и дальше все происходит само, включая регулярные апдейты.
Здравствуйте, rean, Вы писали:
V>>На большинстве 64-битных систем (федора, убунту, сусе) в дефолтной конфигурации ОТСУТСТВУЮТ по дефолту 32-битный libc, то есть даже 32-битная прога (написанная на голом С) которая печатает на stdout "hello world" на них не запустится. Юзеру придется скачать мегабайт 100 пакетов c 32-битной версией libc и прочих библиотек.
R>А статическая линковка возможна? Чтобы обращаться напрямую к ядру. Командная строка и веб морда. Или вы пишите для гуи?
юридически невозможна, ибо нарушение lgpl (libc да и почти все библиотеки в линуксе под lgpl).
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, vladrsdn, Вы писали:
V>>PS: никаких пакетов под каждую платформу я не распространяю, юзер просто качает zip файл для линукса, распаковывает, и пускает враппер на bash который все сам остальное делает — говорит какие пакеты доставить и тд., настраивает путь к библиотекам и запускает нужный бинарник.
Pzz>Лично у меня на этом этапе возникает непреодолимое желание поискать альтернативы, запакованные в мой родной RPM, или вовсе отказаться от установки такой программы. И только если совсем уж невмоготу, я соглашусь на инсталлятор.
у меня не инсталлятор, у меня враппер при каждом запуске все эти проверки делает.
Pzz>В этом плане мне больше всего нравятся вендоры (гугль, адоб, теперь вот скайп-микрософт), которые держат для своего софта свой RPM-репозиторий. Мне достаточно один раз добавить их репозиторий в систему, и дальше все происходит само, включая регулярные апдейты.
как дорасту до уровня адоба — подумаю.
И по-моему никто из тех, кто продает ПЛАТНЫЕ проги (которым не требуется инет для работы) не имеет своего репозитария — ибо тогда любой дурак может этот репозитарий к себе в систему добавить, и поставить этот софт себе бесплатно.
Здравствуйте, vladrsdn, Вы писали:
V>И по-моему никто из тех, кто продает ПЛАТНЫЕ проги (которым не требуется инет для работы) не имеет своего репозитария — ибо тогда любой дурак может этот репозитарий к себе в систему добавить, и поставить этот софт себе бесплатно.
А что мешает любому дураку саму программу скопировать?
Ответ на начальный вопрос: только x86_64 (64 бита).
CRT>И постоянно поддерживать эти 2*5*2 инсталяторов в актуальном состоянии. Постоянно отслеживать изменения в дистрибутивах.
Тебе нужно разобраться со сборкой deb и rpm пакетов (дебиан от убунты не сильно будет отличаться). Я решил эту задачу за неделю. Позиционирую себя как нечто среднее между Junior и Middle.
Если сам такую задачу не осиливаешь, найди того, кто сделает за тебя — ты ж шароварщик.
P.S. Если не осилишь создание нормальных пакетов, то можно просто приложение собрать статикой (кроме glibc) и распространять в виде архива, который распаковывается в папку пользователя (фанаты selinux на федоре разберутся, как его отключить для твоего приложения). В таком случае будет один архив на все дистрибутивы.
Здравствуйте, vladrsdn, Вы писали:
V>Здравствуйте, rean, Вы писали:
V>>>На большинстве 64-битных систем (федора, убунту, сусе) в дефолтной конфигурации ОТСУТСТВУЮТ по дефолту 32-битный libc, то есть даже 32-битная прога (написанная на голом С) которая печатает на stdout "hello world" на них не запустится. Юзеру придется скачать мегабайт 100 пакетов c 32-битной версией libc и прочих библиотек.
R>>А статическая линковка возможна? Чтобы обращаться напрямую к ядру. Командная строка и веб морда. Или вы пишите для гуи?
V>юридически невозможна, ибо нарушение lgpl (libc да и почти все библиотеки в линуксе под lgpl).