Как работать с билд-скриптами?
От: Shmj Ниоткуда  
Дата: 11.05.23 20:44
Оценка:
Вопрос такой.

Вот, промучался несколько дней, пока некая либа у меня таки собиралась под iOS. Тщательно записывал все шаги.

Потом повторил все с нуля, как вы знаете я для этого приобрел коробочку с SSD
Автор: Shmj
Дата: 23.04.23
, чтобы простым копированием приводить систему в нулевое состояние.

Так вот, поставил все с нуля по инструкции — и сборка прошла успешно. ОК.

Даю челу — а у него фига — нихрена не работает. После разбирательств выяснилось, что важно не только наличие нужных пакетов, но так же и чтобы не было установлено лишних пакетов

А конкретно, какой-то CMake-файл проверяет установлена ли либа и если установлена — то пропускает ее сборку и использует ее. А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.

И это же внешние CMake, которых десятки и в которых сотни строк кода — стараюсь туда не лазить без надобности.

Но как с этим можно жить? Как потом знать почему у кого-то не собирается?
Re: Как работать с билд-скриптами?
От: reversecode google
Дата: 11.05.23 20:51
Оценка:
...
>Как потом знать почему у кого-то не собирается?
...
>После разбирательств выяснилось
...


>Но как с этим можно жить?


а вас кто то заставляет ?
Re: Как работать с билд-скриптами?
От: sambl74 Россия  
Дата: 12.05.23 01:58
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Но как с этим можно жить? Как потом знать почему у кого-то не собирается?


Для этого придумали докер — у всех всё будет собираться в одинаковом окружении...
Re[2]: Как работать с билд-скриптами?
От: sergey2b ЮАР  
Дата: 12.05.23 02:46
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Для этого придумали докер — у всех всё будет собираться в одинаковом окружении...



а если мне надо посмотреть кусок сгенерированного видео как это в докере сделать ?
докер под вин и linux работает по разному
Re[2]: Как работать с билд-скриптами?
От: sergey2b ЮАР  
Дата: 12.05.23 02:48
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Для этого придумали докер — у всех всё будет собираться в одинаковом окружении...


я на прошлой недели собрал с десяток контейнеров он intel они на разных CPU работают по рзному
Re[3]: Как работать с билд-скриптами?
От: DiPaolo Россия  
Дата: 12.05.23 03:53
Оценка: 3 (1)
S>а если мне надо посмотреть кусок сгенерированного видео как это в докере сделать ?
Маунт или маппинг вольюма на хост и смотреть с хоста. Вот тут подробнее https://docs.docker.com/storage/volumes/.
Патриот здравого смысла
Re[3]: Как работать с билд-скриптами?
От: sambl74 Россия  
Дата: 12.05.23 03:56
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>а если мне надо посмотреть кусок сгенерированного видео как это в докере сделать ?

S>докер под вин и linux работает по разному

Ну тут же про сборку мы говорим...
Re[3]: Как работать с билд-скриптами?
От: sambl74 Россия  
Дата: 12.05.23 03:57
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>я на прошлой недели собрал с десяток контейнеров он intel они на разных CPU работают по рзному


Ну докер по крайней мере именно для этой цели задумывался, ну проблемы видимо ещё есть.
Re: Как работать с билд-скриптами?
От: vsb Казахстан  
Дата: 12.05.23 04:06
Оценка:
Надо собирать всё в докер контейнерах. Чтобы было зафиксированное стабильное окружение.
Re[3]: Как работать с билд-скриптами?
От: vsb Казахстан  
Дата: 12.05.23 04:08
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>>Для этого придумали докер — у всех всё будет собираться в одинаковом окружении...


S>а если мне надо посмотреть кусок сгенерированного видео как это в докере сделать ?

S>докер под вин и linux работает по разному

Надо сначала собрать библиотеку, потом скопировать её на хостовую систему и использовать уже без докера.

Если компилируется библиотека для windows, то использовать докер для windows.
Re[4]: Как работать с билд-скриптами?
От: sergey2b ЮАР  
Дата: 12.05.23 04:19
Оценка:
Я так и делаю или ставлю vnc
Надеялся есть варианты лучше
Re[2]: Как работать с билд-скриптами?
От: pagid_ Россия  
Дата: 12.05.23 04:32
Оценка: +1 :)
Здравствуйте, sambl74, Вы писали:

S>Для этого придумали докер — у всех всё будет собираться в одинаковом окружении...

То есть применение пакетных систем привело к необходимости использования докера. Фееричненько.
Re[2]: Как работать с билд-скриптами?
От: Shmj Ниоткуда  
Дата: 12.05.23 04:46
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Надо собирать всё в докер контейнерах. Чтобы было зафиксированное стабильное окружение.


А вот, кстати, какие-то докер-образы с MacOS вроде есть. Но как? Это же проприетарная ОС. Или эти образы можно запускать только на MacOS?

Получается можно скачать этот образ и даже на Windows работать с эти образом, не запуская MacOC?
Re[3]: Как работать с билд-скриптами?
От: sambl74 Россия  
Дата: 12.05.23 04:51
Оценка:
Здравствуйте, pagid_, Вы писали:

_>То есть применение пакетных систем привело к необходимости использования докера. Фееричненько.


Меня в пакетных системах всегда веселило, что для того чтобы собрать маленькую либо — выкачивалось пакетов на порядок больше размером. Зато при сборке были весёлые разноцветные буковки в логе...
Re[3]: Как работать с билд-скриптами?
От: vsb Казахстан  
Дата: 12.05.23 05:02
Оценка:
Здравствуйте, Shmj, Вы писали:

vsb>>Надо собирать всё в докер контейнерах. Чтобы было зафиксированное стабильное окружение.


S>А вот, кстати, какие-то докер-образы с MacOS вроде есть. Но как? Это же проприетарная ОС. Или эти образы можно запускать только на MacOS?


Думаю, это просто запуск эмулятора (qemu).

S>Получается можно скачать этот образ и даже на Windows работать с эти образом, не запуская MacOC?


Если и получится, то проще просто в virtualbox запускать макось.

Докер нативно поддерживает линукс и винду, макось нативно не поддерживает.
Re[4]: Как работать с билд-скриптами?
От: Shmj Ниоткуда  
Дата: 12.05.23 05:32
Оценка:
Здравствуйте, vsb, Вы писали:

S>>Получается можно скачать этот образ и даже на Windows работать с эти образом, не запуская MacOC?


vsb>Если и получится, то проще просто в virtualbox запускать макось.

vsb>Докер нативно поддерживает линукс и винду, макось нативно не поддерживает.

Так у меня вопрос как раз под МакОсь то. Есть GitHub Actions разве что, но это как бы нельзя повторить локально. А так особо больше ничего нет.
Re[5]: Как работать с билд-скриптами?
От: vsb Казахстан  
Дата: 12.05.23 05:49
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Так у меня вопрос как раз под МакОсь то. Есть GitHub Actions разве что, но это как бы нельзя повторить локально. А так особо больше ничего нет.


Макось, конечно, самая неудобная ОС для подобных задач.

Я тут вижу три подхода:

1. Использовать виртуальную машину. Программа должна собираться в только что установленной макоси определённой версии. Скриптом установить нужные пакеты (xcode, sdk) и всё, остальное уже в исходниках приложения. Ну и сказать людям, чтобы использовали виртуальную машину, а не свою хостовую систему. Если на хосте макось, запускать гостевую макось — варианты есть, как платные, так и бесплатные.

2. Настроить билд так, чтобы он использовал системные пакеты по минимуму. Ну xcode, sdk наверное из системы надо брать, а все остальные библиотеки чтобы даже не смотрел, что там в системе установлено. Я про cmake ничего не знаю, но вряд ли там это нельзя настроить. Но, конечно, надо в нём разобраться хорошо. Ну и в любом случае хотя бы xcode должен быть зафиксированной версии, а не какой попало.

3. Использовать кросс-компиляцию. Если речь не идёт о разработке каких-то GUI-приложений, а просто о какой-то библиотеке, это должно быть осуществимо. Ну а компилировать уже с линукса.
Отредактировано 12.05.2023 5:51 vsb . Предыдущая версия .
Re: Как работать с билд-скриптами?
От: Qulac Россия  
Дата: 12.05.23 05:57
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вопрос такой.


S>Вот, промучался несколько дней, пока некая либа у меня таки собиралась под iOS. Тщательно записывал все шаги.


S>Потом повторил все с нуля, как вы знаете я для этого приобрел коробочку с SSD
Автор: Shmj
Дата: 23.04.23
, чтобы простым копированием приводить систему в нулевое состояние.


S>Так вот, поставил все с нуля по инструкции — и сборка прошла успешно. ОК.


S>Даю челу — а у него фига — нихрена не работает. После разбирательств выяснилось, что важно не только наличие нужных пакетов, но так же и чтобы не было установлено лишних пакетов


S>А конкретно, какой-то CMake-файл проверяет установлена ли либа и если установлена — то пропускает ее сборку и использует ее. А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.


S>И это же внешние CMake, которых десятки и в которых сотни строк кода — стараюсь туда не лазить без надобности.


S>Но как с этим можно жить? Как потом знать почему у кого-то не собирается?


Зачем вообще это кому-то давать? Достаточно что бы собиралось на нужном ранере который прописан в вашем ci/cd сервере, т.е. вся информация по проекту хранится в одном месте.
Программа – это мысли спрессованные в код
Re[4]: Как работать с билд-скриптами?
От: CreatorCray  
Дата: 12.05.23 10:06
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Меня в пакетных системах всегда веселило, что для того чтобы собрать маленькую либо — выкачивалось пакетов на порядок больше размером. Зато при сборке были весёлые разноцветные буковки в логе...

Ага, красненькие сообщения об ошибках в туевой хуче этих самых зависимостей
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Как работать с билд-скриптами?
От: Dair Россия https://dair.spb.ru
Дата: 12.05.23 11:08
Оценка:
Здравствуйте, Shmj, Вы писали:

S>А конкретно, какой-то CMake-файл проверяет установлена ли либа и если установлена — то пропускает ее сборку и использует ее. А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.


А сборка завязана прям на операционку и всё в ней? Либы ищет в, условно, /usr/lib, заголовки в /usr/include?

Я бы вот это менял.
Или настройками окружения — все пути не системные, а локальные, или можно попробовать помудрить с chroot, например.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.