Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found.

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found.

Сообщение ArcG » 21.07.2019 23:44:19

Здравствуйте. Помогите в решении проблемы.

Есть тестовый консольный проект, который выполняет прием и передачу данных в COM порт. Проект создан в Delphi 10.3 (26.0.32), успешно компилируется и работает под платформами Win32 / Win64. Для работы с COM портом используется компонента TBlockSerial (Synapse SynaSer serial library 40).

При попытке скомпилировать проект под Ubuntu 16.04 получаю ошибку

[DCC Fatal Error] synaser.pas(105): F2613 Unit 'Libc' not found.

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

В SDK Delphi
C:\Users\User1\Documents\Embarcadero\Studio\SDKs\ubuntu16.04.sdk\lib\x86_64-linux-gnu
и на ПК с Ubuntu в \lib\x86_64-linux-gnu
присутствуют файлы libc.so6 и libc-2.23.co

Установка Ubuntu выполнена с нуля.

После установки использовал только команды

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt install libqt4-dev
sudo apt install g++-8-multilib

Так же пробовал варианты настройки рекомендованные Embarcadero.

sudo add-apt-repository ppa:ubuntu-sdk-team/pp
sudo apt install ubuntu-sdk
sudo apt-get install zlib1g-dev

Тестировал на версиях Ubuntu 16.04, 18.04 и 19.04 - Ошибка аналогичная.

Сбойный кусок кода :
----
unit synaser;

interface

uses
{$IFNDEF MSWINDOWS}
{$IFNDEF NO_LIBC}
Libc,
KernelIoctl,
{$ELSE}
termio, baseunix, unix,
{$ENDIF}
{$IFNDEF FPC}
Types,
{$ENDIF}
{$ELSE}
Windows, registry,
{$IFDEF FPC}
winver,
{$ENDIF}
{$ENDIF}
synafpc,
Classes, SysUtils, synautil;
----

Подскажите как можно решить эту проблему или может посоветуете какую нибуть альтернативную компонету для работы с COM портом под Linux для Delphi 10.
ArcG
незнакомец
 
Сообщения: 2
Зарегистрирован: 21.07.2019 23:40:53

Re: Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found

Сообщение Снег Север » 22.07.2019 04:05:12

Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found

Сообщение *Rik* » 22.07.2019 08:29:19

ArcG писал(а):Здравствуйте. Помогите в решении проблемы.

C:\Users\User1\Documents\Embarcadero\Studio\SDKs\ubuntu16.04.sdk\lib\x86_64-linux-gnu
и на ПК с Ubuntu в \lib\x86_64-linux-gnu
присутствуют файлы libc.so6 и libc-2.23.co

У Вас написано libc.so6, это не ошибка? В исходниках Synapse в файле sslinux.inc указано имя libc.so.6, надо симлинк с правильным именем сделать.
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 426
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found

Сообщение ArcG » 22.07.2019 22:19:59

*Rik* писал(а):У Вас написано libc.so6, это не ошибка? В исходниках Synapse в файле sslinux.inc указано имя libc.so.6.


Действительно ошибся, файл называется libc.so.6

Добавлено спустя 2 минуты 26 секунд:
*Rik* писал(а):Надо симлинк с правильным именем сделать.


Не подскажете, как это сделать, я в программировании под линукс новичок.
ArcG
незнакомец
 
Сообщения: 2
Зарегистрирован: 21.07.2019 23:40:53

Re: Delphi 10.3. Synaser. Ошибка F2613 Unit 'Libc' not found

Сообщение fedan » 23.07.2019 13:02:25

ArcG писал(а):Подскажите как можно решить эту проблему


Самое простое, конвертировать проект в Лазарус)
https://www.lazarus-ide.org

Более сложный путь. Закомментировать
Код: Выделить всё
{$IFNDEF NO_LIBC}
//Libc,
//KernelIoctl,
Posix.Unistd,
Posix.Fcntl,
{$ELSE}

и разбираться с импортом. Искать нужные функции и прочее в
абракадабра intall path/source/rtl

Это в Delphi 10.2
fedan
новенький
 
Сообщения: 70
Зарегистрирован: 15.09.2016 21:18:48


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru