Перейти к содержанию
Fire Monkey от А до Я
  • 0

Ошибка сборки программы под RedOS (cannot find -lgcc_s).


bfarid

Вопрос

Программа (каталог библиографических ссылок) компилируется RAD Studio 12.1 под Ubuntu 22.04, но появляется ошибка при сборке под RedOS 8: [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgcc_s. Решения, найденные поиском не помогают. Может есть варианты решения?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
В 07.06.2024 в 17:09, bfarid сказал:

Программа (каталог библиографических ссылок) компилируется RAD Studio 12.1 под Ubuntu 22.04, но появляется ошибка при сборке под RedOS 8: [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgcc_s. Решения, найденные поиском не помогают. Может есть варианты решения?

Может поможет создание еще одного SDK но уже для RedOS?

Ссылка на комментарий
  • 0

Эта ошибка как раз на SDK для RedOS 8. Здесь ранее (в 2017 году) предлагалось добавить в RedOS пакеты gcc-6 и linux-compiler-gcc-6-x86, но таких уже нет. Пробовал установить просто gcc, не помогло.

Ссылка на комментарий
  • 0
18 часов назад, bfarid сказал:

Эта ошибка как раз на SDK для RedOS 8. Здесь ранее (в 2017 году) предлагалось добавить в RedOS пакеты gcc-6 и linux-compiler-gcc-6-x86, но таких уже нет. Пробовал установить просто gcc, не помогло.

В общем. Я решил тоже установить RedOS. Установил на виртуалку.

Собрал SDK в Delphi. Попробовал собрать проект - не получилось

Тогда я начал искать в сети решения. Нашел как установить gcc и прочие утилиты и библиотеки для разработки. (при помощи команды 

dnf groupinstall "Development Tools"

После установки я решил обновить SDK при помощи кнопки Update Local File Cache

По итогу ничего не получилось. Тогда я решил при помощи Beyond Compare сравнить файлы и папки моих SDK (один для RedOS не работающий и второй для Ubuntu полностью рабочий). Я заметил различие в том что в SDK для RedOS отсутствовала папка gcc. Я полез искать эту папку в самой RedOS и нашел её, но почему-то PAServer её не передал во время создания SDK.

Зайдя в папку я нашел причину проблемы.

Для Ubuntu папка с gcc называется вот так - x86_64-linux-gnu

А для RedOS папка с gcc называется вот так - x86_64-redsoft-linux

Вот и вся причина. PAServer ничего не знает ни о какой x86_64-redsoft-linux и поэтому при создании SDK её не копирует. Отсюда и ошибка сборки проекта на стадии линковки.

В общем, решил эту проблему самым простым способом - создал символическую ссылку

ln -s ./x86_64-redsoft-linux ./x86_64-linux-gnu

А затем ещё раз в Delphi нажал на кнопку Update Local File Cache

После того как процесс обновления файлов SDK завершился я попробовал собрать проект и...

1099557856_2024-06-09231858.thumb.png.4812f716650e3a14105d685d218e077b.png

 

Краткое руководство как получить рабочий SDK для RedOS.

1. Загружаем PAServer в систему

2. Выполняем команду 

dnf groupinstall "Development Tools"

3. В терминале переходим по пути из / в /usr/lib/gcc

4. Создаем символическую ссылку ln -s ./x86_64-redsoft-linux ./x86_64-linux-gnu

5. В Delphi создаем\обновляем (при помощи Update Local File Cache) SDK для RedOS

Готово

Изменено пользователем Dmitry_4501
Добавил краткое руководство
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...