LINUX.ORG.RU
ФорумTalks

Бинарные сборки. Их нет

 fifth,


0

1

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



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

Да, неприятно. Не люблю собирать, дебиан же. Или ещё хуже, когда они собирают только под арч или убанту, федору и тд.

Knigochey
()

linux.org.ru

open source

хочет запустить бинарник собранный хз кем

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

нет, собирайте сами. все правильно делают.

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

Можно собрать статически, например. Это всяко лучше, чем ничего.

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

Вот вы все такие умные, расскажите, как clang заставить собирать под конкретные архитектуры.

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

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

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

QtWebKit или WebKit-GTK есть, но используемого в данном случае WebKitFLTK — нет. Печально.

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

Ну соберут. И будет куча недовольных: то не так, это не эдак.

когда дело доходит до веб-браузера на WebKit

Популярные собирают. А всякие маргиналы должны страдать.

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

Или ещё хуже, когда они собирают только под арч или убанту, федору и тд.

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

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

Гиклесоподелия как пример. Пакеты собирал принципиально только под арч, дебы делать не хотел.

Knigochey
()
Ответ на: комментарий от Stil

Clang, насколько я понимаю, просто вызывает системный компилятор, а тот уже собирает для native архитектуры.
Потыкавшись, не увидел способа задать абстрактную цель, типа «i386».

ТС, как юзер, хочет бинарников, которые у него будут гарантированно работать. Я, со своей стороны, не против их бы и дать, но не вижу простого пути.
Проще дать инструкцию в две команды, чтобы clang сделал бинарники на машине пользователя и там же их и опакетил.

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

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

Нет, ты неправильно понимаешь. clang — это компилятор, ага :)

Вот компановщик вызывается системный, да. Потому что lld еще не готов, хотя никто не запрещает тебе потестить...

Потыкавшись, не увидел способа задать абстрактную цель, типа «i386».

http://clang.llvm.org/docs/CrossCompilation.html

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

Нет, ты неправильно понимаешь. clang — это компилятор, ага :)

Мда, что-то меня сегодня несёт. Сначала написал cpack, потом поправил на clang, но имел ввиду cmake :)

Т.е. хотелось бы просто сказать «make i386 && make package» и всё.

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

Прости бро, забыл ответить)

Хотя выше уже ответили.

То, что ты хочешь можно сделать двумя путями — кастомные цели сборки cmake -DCMAKE_BUILD_TYPE=Generic_i386_Release или через кросс-компиляцию... Оба пути — боль и страдания, но это вполне реализуемо)

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

Вот как раз сейчас дошли руки посмотреть на это.
С GCC можно сделать x86 и amd64 на машине с gcc-multilib, но, похоже, опакечивание в одну команду идёт лесом.
С clang можно в более обширную кросс-компиляцию, но опять же, а пакеты кто делать будет?

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

Вроде как Open Suse Build Service именно для этого сделан.

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