Покупая новый мак я подозревал что рано или поздно столкнусь с проблемой совместимости архитектур arm64 и amd64. Но, не подозревал что так быстро. Ранее я писал что не смог завести AI Tools (в частности "Волшебную кисть") и, как появилось время, решил этим заняться. А еще потому, что на сайте количество применений AI Tools ограничено и, размечая изображения для версии детектора 2.0, я выбрал все лимиты.
Официальный гайд по которому пробовал устанавливать Гайд
Проблемы посыпались почти сразу.
"./serverless/deploy_cpu.sh serverless/openvino/dextr"
1) Первая проблема связана с работой функции shopt в баше. В рамках установочного скрипта выполняется команда "shopt -s globstar". Решение, в результате, взял отсюда. Общий смысл решения поставить нормальный баш, так-как в стандартный Apple bash она не включена (интересно, почему). Кому лень идти по ссылке и не требуется копировать код приведу решение на скриншоте. (ну вот нет тут нормального инструмента вставки кода)
Ок, первую проблему победили
2) Вылезла следующая. А вылезла она в строке
func_rel_path="$(realpath --relative-to="$SCRIPT_DIR" "$(dirname "$func_root")")"
А именно в работе realpath. Фунция, внезапно, перестала принимать аргументы (--relative-to), выдавая ошибку типа
Тут сложнее, так как нормального решения я не на гуглил. Есть открытые вопросы по такой же проблеме на том же stackowerflow, но ничего конкретного. Ладно, пофиг-пляшем. Все таки в питоне я разбираюсь. Написал свой простейший скрипт и заменил строку вызова на
func_rel_path="$(python3 ./serverless/rel_path.py "$SCRIPT_DIR" "$(dirname "$func_root")")"
Ок, началась образа
3) Докер говорит что не может найти нужный ему образ
Хотя мы прекрасно видим что в images он есть.
Ладно, это просто ищем докер-файл который падает и меняем
FROM cvat.openvino.base на FROM --platform=linux/amd64 cvat.openvino.base
OK сборка пошла...
4) Финиш. Ошибка при сборке, причем в образе собираемый (как я понял, самой компанией). И вот тут мои полномочия все. Создал таск на их гитхабе, посмотрим что скажут
А пока нужно распаковать свой сервер, который я собрал год назад и который пылится в коробке, так как я тогда так и не придумал зачем он мне. Просто исполнил мечту о двух-процессорном сервере с 128 ГБ ОЗУ, о котором мечтал в юности )