[Lazarus] Why can Lazarus not find a file in the source dir?

Mattias Gaertner nc-gaertnma at netcologne.de
Sun Jul 19 00:07:07 CEST 2020


On Sun, 19 Jul 2020 00:00:30 +0200
Bo Berglund via lazarus <lazarus at lists.lazarus-ide.org> wrote:

>[...]
> >No, fpc searches on Linux mixed case, lower case, upper case.  
> 
> Do you mean that fpc treats class_SSremoteServer and
> class_SSRemoteServer as different units?
> Or do you mean it treats them as the same unit?

A bit of both. You cannot have both in the same program.
But FPC does not search any case on Linux, so you have to either use
lowercase filenames (like most Lazarus and FPC sources) or make sure
that all uses sections use the correct spelling.

 
> >Compile with -vt to find out what files fpc searches and finds.
> >  
> 
> It turns out that the problem was a case error after all. The message
> was:
> 
> SSRemoteServerLx.lpr(36,3) Fatal: Cannot find class_SSremoteServer
> used by SSRemoteServerLx of the Project Inspector.
> 
> And the actual file on disk was named class_SSRemoteServer.pas
> 
> After I changed he identifier in the uses clause from
> class_SSremoteServer
> to
> class_SSRemoteServer
> 
> then Lazarus moved on to the next such typo which I could fix in the
> same way...
> 
> So it looks like it is case sensitive on Linux...

That's why pas2js uses any case on Linux. It would be nice if FPC can
be told to do so as well.

Mattias



More information about the lazarus mailing list