Разработчики «Базальт СПО» приняли участие в международной конференции LVEE (Linux Vacation / Eastern Europe)

XV международная конференция разработчиков и пользователей свободного ПО «Linux Vacation / Eastern Europe» прошла 22 – 25 августа под Минском (Беларусь).  Мероприятие традиционно собрало специалистов и энтузиастов в области свободного ПО (включая платформу GNU/Linux). Задачи, стоящие перед конференцией – предоставить участникам возможность обмена опытом, организовать обсуждение наиболее актуальных направлений и тенденций развития отрасли, накопленных практических знаний.

Специалисты «Базальт СПО» рассказали о новых или неизвестных широкому кругу разработчиков  возможностях инструментария разработки свободного ПО, доступных пользователям репозитория «Сизиф».  

Андрей Савченко в докладе «Свободное портирование ПО на архитектуру Эльбрус» рассказал об интересных для разработчиков ПО особенностях работы с российским процессором «Эльбрус» (E2000, e2k). Процессор обладает собственной архитектурой, набором команд и функциями безопасности. В отличие от большинства других процессоров, семейство «Эльбрус» использует набор инструкций VLIW Такая зависимость предъявляет высокие требования к системному компилятору для оптимизации. В докладе раскрыт опыт работы  с компиляторами GCC и LCC, описаны основные препятствия при портировании программного обеспечения и рассказано о взаимодействии с различными апстримами свободного программного обеспечения.

Доклад  Дмитрия Левина был посвящен «Modern strace» – диагностической, отладочной и обучающей утилите для Linux. Она используется для мониторинга и вмешательства во взаимодействие между процессами и ядром Linux, которое включает системные вызовы, доставку сигналов и изменения состояния процессов. Многочисленные параметры управления фильтрацией дают возможность пользователям strace легко и гибко настраивать отображение системных вызовов и сигналов. С каждым выпуском strace таких возможностей становится больше, а точность отображения – выше. Но, несмотря на то, что разработчики используют strace, их знания о его современных функциях часто весьма ограничены. Дмитрий Левин продемонстрировал особенности современного strace и рассказал, какие проблемы они помогают решить.

Из доклада Михаила Шигорина ««Сизиф» на «Эльбрусе»: следующая станция» участники конференции узнали о доступности недавно выпущенной Девятой платформы репозитория «Сизиф» на процессорах «Эльбрус». Из основных изменений: осуществлен переход  на новую ветку компилятора LCC (с 1.21 на 1.23), что дало базовую совместимость с GCC версии 5.5 вместо 4.8.0, возросшую производительность собранного кода на том же оборудовании плюс возможность оптимизировать код под конкретный процессор; обновлены трансляторы perl 5.28 и python 3.7; «подтянут» сборочный инструментарий, обновлен менеджер пакетов RPM до 4.13, а ядро Linux — до 4.9 и др. На packages.altlinux.org добавлены сведения по наличию и версиям пакетов для e2k, а также их spec-файлы.

Темой доклада Владимира Селезнева стали разделяемые библиотеки – одна из важных частей дистрибутивных экосистем Linux. Разделяемые библиотеки очень легко создавать (в тривиальном случае надо передать компилятору опцию -shared), но сложно сопровождать стабильное ABI (двоичный интерфейс приложений), что является источником проблем. Поломку ABI очень легко пропустить, что неоднократно подтверждалось на практике. Владимир Селезнев описал меры предосторожности, которые можно предпринять как на уровне репозитория, так и на работающей системе во время установки пакетов.