Can't compile TMS FNC UI Pack in Lazarus

OK, again what I have done...

  1. create a complete new, clean environment
  2. opened all for packages
  3. compiled the first one, LCLTMSFNCCorePkg -> worked
  4. compiled the LCLTMSFNCCorePkgDE -> worked
  5. Rebuild Lazarus (Tools -> Rebuild Lazarus with Profile: Normal IDE) -> worked
  6. opened all four packages again
  7. compiled LCLTMSFNCCorePkg and LCLTMSFNCCorePkgDE again -> worked
  8. compiled the LCLTMSFNCUIPackPkg - failed
LCLTMSFNCUIPackPkg.pas(98,48) Fatal: Cannot find LCLTMSFNCPasslockReg used by LCLTMSFNCUIPackPkg. Check search path of package LCLTMSFNCUIPackPkg, try a clean rebuild, check implementation uses sections..

Complete output at Pastebin

Maybe it's
Reanme LCLTMSFNCPasslockReg to LCLTMSFNCPassLockReg (lower case l )

1 Like
  1. change LCLTMSFNCPasslockReg to LCLTMSFNCPassLockReg in LCLTMSFNCUIPackPkg
  2. compiled LCLTMSFNCUIPackPkg -> worked
  3. compiled LCLTMSFNCUIPackPkgDE -> worked
  4. try to install LCLTMSFNCUIPackPkgDE -> failed
  5. try to recompile Lazarus -> failed
lazarus.pp(1,1) Fatal: Cannot find LCLTMSFNCUIPackPkg used by Lazarus, incompatible ppu=/home/tobias/Programme/Lazarus/TMSTest/tools/TMS FNC UI Pack/lib/x86_64-linux/LCLTMSFNCUIPackPkg.ppu, multiple packages: LCLTMSFNCUIPackPkg, LCLTMSFNCUIPackPkgDE

Sorry but this is very very very frustrating! I am working now for a week to get this working! It is no free component. This is a paid one which support and so this should work out of the box!

I would like you to succeed.
For me, it works on a 64-bit debian 10 LXDE

LCLTMSFNCUIPackPkg.pas
Reanme LCLTMSFNCPasslockReg to LCLTMSFNCPassLockReg

(LCLTMSFNCUIPackPkg.pas(98,48) Fatal: Cannot find LCLTMSFNCPasslockReg used by LCLTMSFNCUIPackPkg
)

Thank you Zeljko for your reply. I renamed it and I can compile the LCLTMSFNCUIPackPkgDE. But then I failed to install it and also failed to compile the IDE.

Did you have the problem with the lower case also?

I am using ArchLinux with Mate (x64).

with linux this is a real problem, sometimes i report it
https://support.tmssoftware.com/t/lcltmsfncpasslockreg-lcltmsfncpasslockreg-l-to-l-change-case/14502/4

OK, but if @Pieter_Scheldeman realy tested my problem on a Linux system, he should also have this problem. Why did he not write this here??? Sorry again but this is a paid component!

When I have a problem installing the package:
InstallPackage

Use > Install and error
double click: Required Packages : LCLTMSFNCCorePkg (open package) and Compile (not install)
when I compile
return to LCLTMSFNCUIPackPkg
and
Use > Install
then I succeed

My english google transalte

1 Like

Hi,

First of all I understand your frustration. I want to explain the miscommunication here on my part. I had effectively looked into the issue and had the same compiler issues like you described in the previous posts. Initially, I thought the error was due to the packages or files being in a different location, therefore I asked to remove the LIB folders. Additionally, as this didn't help, I also further investigated and thought that the sequence on Linux for package compilation is different to that of Windows so I then started compiling packages in a different order. Apparently, as this is not always clear in Lazarus, the LCLTMSFNCMapsPkg package was still open, and clicked on compile, mistakenly thinking I installed the LCLTMSFNCUIPackPkg. I looked no further and only noticed now after reviewing this case that I only installed TMS FNC Core & TMS FNC Maps. I apologize for this misunderstanding. This doesn't make of an excuse, but the case sensitivity error handling is not always helpful in Lazarus and the various undocked windows neither.

Either way, I also noticed my colleague did not fully fix the issue as @Zeljko_Cvijanovic mentioned in the other post (LCLTMSFNCPasslockReg > LCLTMSFNCPassLockReg (l to L change case) - #4). I have now fixed the package, tested and attached the correct version as well as a screenshot of the installed packages indicating I have been able to succesfully fix the issue. To make sure you can install all packages, you need to open all packages and compile them one by one starting with LCLTMSFNCCorePkg, then LCLTMSFNCCorePkgDE, LCLTMSFNCUIPackPkg and LCLTMSFNCUIPackPkgDE, then you can install the last package you compiled to rebuild the IDE and have the packages available.

Attached is the fixed package

LCLTMSFNCUIPackPkg.zip (6.0 KB)

and the screenshot indicating installed packages.

Again my apologies for this frustrating experience!

Additional important info. It seems that Lazarus 2.0.12 has issues compiling packages. A user reported he went back to Lazarus 2.0.8 and was succesfully able to compile without incompatible ppu error messages.

Additional important info. It seems that Lazarus 2.0.12 has issues compiling packages. A user reported he went back to Lazarus 2.0.8 and was succesfully able to compile without incompatible ppu error messages.

Hm, then only with your packages. I have different free and commercial packages and no problems with the 2.0.12 release.

Installation of the components

I can install the package now with the instruction @Zeljko_Cvijanovic gave me in the post above. Thank you for that!

I also got different mails from TMS, e.g. from @brunofierens. But I am not sure if I am would like to use the components in professional programs if I have difficulties like this with every new release of Lazarus/FPC and/or the TMS components. I use commercial components to have not problems like this...

Upgrading packages is a hassle and can sometimes be an issue. It seems 2.0.12 is more sensitive so that can be an issue in the future, when recompiling / upgrading packages. This is something not related to our packages at all and not related to the issue with the lower case bug. The "incompatble PPU issue" pops up now and then and can be fixed by opening up all packages, recompiling them from scratch.

Having this out of the way, I can only say that my colleagues and I have been helping you fixing the issue from day one. We always try to fix issues as soon as possible but sometimes there is this one issue that takes a while longer. FNC supports multiple frameworks and platforms, running in multiple IDEs. Multiple people are working on it on a daily basis and even though the build system is trying to detect as much compiler errors are possible, there is always a small change that something slips through. In this case, it was a small typo on Windows that we didn't immediately see on Linux. We are currently working on improving our build system as we speak to avoid such issues in the future.

I use two virtualbox lazarus installations

OS: Debian 10 LXDE 64bit
Lazarus 2.0.12
FPC 3.2.0
(So I can report problems)

OS: Debian 10 LXDE 64bit
Lazarus 2.1.0
FPC 3.3.1

cross compile:
aarch64-linux
arm-linux
i386-win32
x86_64-win64

I tested on orange pi and raspberry pi and
win32 and of course on debian 64
The components behave equally on all platforms