Форум: Техническая поддержка

Тема: Сборка ПО из исходников c Gitlab

Вы не вошли.

 Поиск | Регистрация | Вход 

Сергей92
08.12.2021 13:34:40
#1

Гость

Сборка ПО из исходников c Gitlab

Здравствуйте!

Раньше был отличный документ, описывающий сборку ПО ЛКард из исходников - https://www.lcard.ru/download/lcard_bitbucket_repos.pdf
Проблем со сборкой не было никаких. Теперь же исходники переехали на Гитлаб и не понятно как собирать оттуда. Существует ли инструкция по этой теме?

08.12.2021 16:26:06
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Сборка ПО из исходников c Gitlab

Здравствуйте.
Да действительно, в связи с тем что bibucket прекратил поддержку Mercurial и удалил все репозитории на нем с сайта, пришлось переходить на git.
Документа нового сейчас нет, нужно конечно будет его написать, как появится время...

Пока кратко опишу тут инструкцию.
Правда в отличие от Mercurial, насколько я знаю, единого общепризнанного графического интерфейса как TortoiseHg для mercurial в git нет, а самих этих графических интерфейсов очень много (например, список https://git-scm.com/downloads/guis), поэтому инструкцию дам только для работы из командной строки.

Для работы должен быть установлен git (для Windows - https://git-scm.com/download/win, в Linux git должен быть в штатном репозитории пакетов)

Все репозитории из bitbucket переехали в https://gitlab.com/l-card, только они сейчас организованы в виде иерархического дерева групп (аналог папок в файловой системе), а не общим списком, как было в bitbucket.
Репозитории верхнего уровня для SDK:
L-502/E-502 - https://gitlab.com/l-card/acq/devices/x … /lpcie_sdk
LTR - https://gitlab.com/l-card/acq/devices/l … _cross_sdk

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

git clone --recurse-submodules <путь к репозиторию>.git

например

git clone --recurse-submodules https://gitlab.com/l-card/acq/devices/ltr/shared/sdk/ltr_cross_sdk.git

По сути все, все исходники будут скачены, сборка которых далее уже не зависит от того, как они были скачены.
Для обновления уже склонированного репозитория можно вызвать из директории репозитория:

git pull --recurse-submodules

Если будут вопросы, тогда пишите.

Отредактировано Алексей L Card (08.12.2021 16:27:10)

Сергей92
09.12.2021 09:53:49
#3

Гость

Re: Сборка ПО из исходников c Gitlab

Запустил чистую систему Ubuntu 20.04.3 LTS.
Пробую клонировать репозиторий командой

git clone --recurse-submodules https://gitlab.com/l-card/acq/devices/ltr/shared/sdk/ltr_cross_sdk.git

В процессе Git запрашивает логин и пароль от Гитлаба:

Cloning into '/home/comp/ltr_cross_sdk/cmake/windeppaths'...
Username for 'https://gitlab.com':

Если посмотреть этот репозиторий https://gitlab.com/l-card/shared/build/ … n_deppaths, то доступ к нему закрыт.

Если пропустить шаг ввода логин и пароля, то в процессе клонирования Git запросит пароль еще раз, а потом прерывает клонирование.

Cloning into '/home/comp/ltr_cross_sdk/cmake/windeppaths'...
Username for 'https://gitlab.com': 
Password for 'https://gitlab.com': 
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/l-card/shared/build/cmake/windows/deps/cmake_win_deppaths.git/'
fatal: clone of 'https://gitlab.com/l-card/shared/build/cmake/windows/deps/cmake_win_deppaths' into submodule path '/home/comp/ltr_cross_sdk/cmake/windeppaths' failed
Failed to clone 'cmake/windeppaths' a second time, aborting

Если попробовать сначала клонировать репозиторий,

git clone https://gitlab.com/l-card/acq/devices/ltr/shared/sdk/ltr_cross_sdk.git

а потом его обновить для получения субрепозиториев,

git submodule update --init --recursive

то возникает та же ошибка.

Выходит проблема с репозиторием windeppaths?

09.12.2021 10:45:12
#4

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Сборка ПО из исходников c Gitlab

Да, действительно был настроен как закрытый. Поменял, попробуйте сейчас.

Сергей92
10.12.2021 12:52:26
#5

Гость

Re: Сборка ПО из исходников c Gitlab

Спасибо, все работает.

Порядок сборки из исходников ПО ЛКард на системе Ubuntu 20.04.3 LTS:

1. Устанавливаем git - распределённую систему управления версиями

apt install git

2. Устанавливаем cmake - систему автоматизации сборки программного обеспечения из исходного кода

apt install cmake

3. Устанавливаем libxml2 -  программную библиотеку для анализа XML-документов

apt install libxml2-dev

4. Клонируем репозиторий

git clone --recurse-submodules https://gitlab.com/l-card/acq/devices/ltr/shared/sdk/ltr_cross_sdk.git

5. В директории репозитория выполняем команды

cmake ./
make
10.12.2021 13:34:43
#6

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Сборка ПО из исходников c Gitlab

Отлично. Для Ubuntu в принципе можно использовать уже и собранные пакеты (https://www.lcard.ru/download/lcard_lin … utions.pdf).

11.12.2021 22:55:55
#7

Участник
Здесь с 29.10.2021
Сообщений: 25

Re: Сборка ПО из исходников c Gitlab

А прошивки ПЛИС для L-502 и E-502 выложены где-нибудь?

12.12.2021 09:37:17
#8

Сотрудник "Л Кард"
Здесь с 05.04.2019
Сообщений: 571

Re: Сборка ПО из исходников c Gitlab

Voleg пишет:

А прошивки ПЛИС для L-502 и E-502 выложены где-нибудь?

Утилита обновления прошивок выложена https://gitlab.com/l-card/acq/devices/x … xfw_update и к ней readme.

12.12.2021 20:22:18
#9

Участник
Здесь с 29.10.2021
Сообщений: 25

Re: Сборка ПО из исходников c Gitlab

Спасибо, утилитами обновления прошивок я пользовался.
А сами прошивки вы выкладываете где-нибудь?

12.12.2021 20:23:43
#10

Участник
Здесь с 29.10.2021
Сообщений: 25

Re: Сборка ПО из исходников c Gitlab

Имеются ввиду  не коды прошивок,  а исходники

12.12.2021 21:07:14
#11

Сотрудник "Л Кард"
Здесь с 05.04.2019
Сообщений: 571

Re: Сборка ПО из исходников c Gitlab

Исходники прошивок ПЛИС пользователю не предоставляются. Они не относятся к пользовательскому уровню программирования устройства и, исходя из нашей эксплуатационной документации, они пользователю и не требуются. При выполнении задачи расширения функционала "Л Кард" сама модифицирует проекты ПЛИС и выпускает общедоступные штатные обновления прошивок.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск