Bug 45193 (Simulide, ошибки) - Ошибка при компиляции проектов в среде Simulide
Summary: Ошибка при компиляции проектов в среде Simulide
Status: ASSIGNED
Alias: Simulide, ошибки
Product: Sisyphus
Classification: Development
Component: simulide (show other bugs)
Version: unstable
Hardware: all Linux
: P5 minor
Assignee: Антон Мидюков
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-08 18:39 MSK by w00zy
Modified: 2023-06-05 15:35 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description w00zy 2023-02-08 18:39:36 MSK
При компиляции проектов в среде Simulide, эмулятор пытается проводить сборку в несуществующей директории "/usr/share/simulide/data/codeeditor/buildIno".
Эту директорию он пытается создать сам, при первой попытке собрать проект, набранный во встроенном редакторе.
Поведение заложено разработчиком, задавшим пути в мультиплатформенном приложении, без учета специфики прав доступа к каталогу "/usr" в линуксе.
Костыль - исправить spec сборки, создать эту директорию в ручную и с правами 777. Но это быстрый костыль.
Видимо правильней патчить исходники, 3 одинаковых строки в src/gui/editorwidget :
QString buildPath = SIMUAPI_AppPath::self()->RWDataFolder().absoluteFilePath("codeeditor/buildIno");
видимо надо ставить проверку на ОС (там есть рядом специфичный дефайн) и писать временные файлы куда-нибудь в /tmp/-- (var накрайняк).
Понимаю, что софт специфичный, но спеком поправить можно.
Comment 1 Антон Мидюков 2023-03-18 22:37:26 MSK
Пробуйте:
[#316968] p10 EPERM (try 2) simulide.git=1.0.0-alt1.rev1320

Спасибо за патч в баге 45004.
Comment 2 Tatyana Gagina 2023-03-30 17:33:11 MSK
Применялись разные виды компиляторов. Итог один:
Сборку до конца не удаётся осуществить.
Пример при использовании Arduino: сборка завершается ошибкой "arduino: Unknown package" (установлены пакеты arduino-core arduino-devel arduino-doc arduino).
Версия на Sisyphus: arduino-1:1.8.19-alt1_1jpp11

В настройках указывались (Настройки -> Настройки компилятора):

Компилятор: Arduino
Каталог инструментов: /usr/bin/ (в данной папке лежат инструментвы для Arduino)
Путь включен: /home/test
Плата: Uno

Весь вывод в консоли:
Found Arduino Version 1
Arduino Компилятор успешно загружен.

-------------------------------------------------------

Executing:
"/usr/bin/arduino-builder" -compile -hardware "/usr/bin/hardware" -tools "/usr/bin/tools-builder" -tools "/usr/bin/hardware/tools/avr" -built-in-libraries "/usr/bin/libraries" -libraries "/home/test/Arduino/libraries" -fqbn=arduino:avr:uno -build-path "/home/test/.cache/simulide/codeeditor/buildIno/build" -build-cache "/home/test/.cache/simulide/codeeditor/buildIno/cache" "/home/test/fh"

Build folder: /home/test/.cache/simulide/codeeditor/buildIno
SketchBook:   /home/test/Arduino
Arduino Board "arduino:avr:uno"

arduino: Unknown package
-----------------------

Дополнительно: следует заметить, что эмулятор не пытается выполнять сборку в каталог /usr/share/simulide/data/codeeditor/buildIno, как в предыдущей версии, а выполняется в указанный вручную каталог /home/test/.
Если не указать вручную путь и каталог инструментов, то в консоли будет запрашивать: "Исполняемый файл не найден: Проверьте правильность пути до тулчейна".

Поведение одинаковое на p10 и Sisyphus.

Версия на p10 и Sisyphus: simulide-1.0.0-alt1.rev1320
Comment 3 Антон Мидюков 2023-06-05 15:35:07 MSK
(Ответ для Tatyana Gagina на комментарий #2)
> Применялись разные виды компиляторов. Итог один:
> Сборку до конца не удаётся осуществить.
> Пример при использовании Arduino: сборка завершается ошибкой "arduino:

C Arduino проблема в том, что simulide ожидает, что компилятор находится в одном каталоге с остальными необходимыми файлами. Если использовать Legacy IDE (1.8.X)
 https://www.arduino.cc/en/software то всё нормально работает.