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

ArcD
Дата: 21.07.2019 22:19:40
Здравствуйте. Помогите в решении проблемы.

Есть тестовый консольный проект, который выполняет прием и передачу данных в 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.
Kazantsev Alexey
Дата: 21.07.2019 22:34:29
Поддержка линукса в synaser сделана под древний Kylix, и в современных Delphi работать не будет. Там несовместимость и по используемым модулям и по строковым типам. Как вариант, можно взять Free Pascal вместо Delphi.
ArcD
Дата: 21.07.2019 22:54:07
Может подскажете другую компоненту для работы с COM портом в Linux.
Kazantsev Alexey
Дата: 21.07.2019 23:02:34
ArcD
Может подскажете другую компоненту для работы с COM портом в Linux.

Я не пользовался, но гуглится вот это: https://www.winsoft.sk/lcomport.htm
makhaon
Дата: 21.07.2019 23:48:16
Kazantsev Alexey,

жирновато, мне кажется. можно для начала попробовать открыть ком-порт как файл
Kazantsev Alexey
Дата: 21.07.2019 23:50:23
Я попробовал портировать synaser для поддержки Linux в Delphi 10.3. Работоспособность не гарантирую, но попробовать стоит.
makhaon
Дата: 21.07.2019 23:51:00
ArcD,
так же есть некоторая вероятность, что libclite поможет:
https://github.com/Makhaon/jcl/tree/master/jcl/source/fpc/libclite
Василий 2
Дата: 22.07.2019 11:01:06
В никсах же вроде все элементарно с портами, сокетами, пайпами и прочим. Открываешь как файл и вперед.
kealon(Ruslan)
Дата: 22.07.2019 12:28:05
Василий 2,

и в винде тоже самое
ArcD
Дата: 22.07.2019 21:57:18
Kazantsev Alexey,

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