[Lazarus] LazSerial from OLPM, is it working on Linux?
Bo Berglund
bo.berglund at gmail.com
Tue Apr 28 23:23:27 CEST 2020
Seems like my post via GMANE did not make it to the list, so mailing instead…
I was under the assumption that LazSerial, which is available from Online Package Manager in the Lazarus IDE is cross-platform.
But it seems like this is not the case, at least not for Raspbian Buster as target.
I have worked on porting a project in Windows (Delphi 2007) to FPC/Lazarus on Windows in order to then move to Linux.
I am using FPC 3.0.4/Lazarus 2.0.8 on Windows and Raspbian Buster.
I have replaced the AsyncPro serial port with LazSerial.
What happens is that after I was done moving from Delphi 2007 to FPC/Lazarus in Windows 10 I went to my RPi4 installation and used OLPM to install the LazSerial package there, but it failed!
During the compile of the package the process stops with errors
in lazsynaser.pas:
lazsynaser.pas(252,15) Error: Identifier not found "B500000"
lazsynaser.pas(252,22) Error: Illegal expression
lazsynaser.pas(253,14) Error: Identifier not found "B576000"
lazsynaser.pas(253,21) Error: Illegal expression
... the list continues...
The section of code in the source file generating the errors looks like this:
Rates: array[0..MaxRates, 0..1] of cardinal =
(
(0, B0),
(50, B50),
(75, B75),
.....
{$IFDEF UNIX}
,(500000, B500000), <==ERRORS start here
(576000, B576000),
(921600, B921600),
(1000000, B1000000),
(1152000, B1152000),
(1500000, B1500000),
(2000000, B2000000),
(2500000, B2500000),
(3000000, B3000000),
(3500000, B3500000),
(4000000, B4000000)
{$ENDIF}
The rates above the first error are defined in termios.inc in the compiler rtl sources.
So now I wonder if this is a problem with my installation or if it is not possible to run LazSerial on this platform?
Or is there a problem with LazSerial in connection with the release version 3.0.4 of FPC?
--
Bo Berglund
Developer in Sweden
More information about the lazarus
mailing list