[SOLVED ]incompatible ppu=....timepopup.ppu lazarus / 31-LCL ---------------------------------------------------------------------- vrull · 2016-11-27 19:24 When I tried to recompile one of my projects - XMLTreeEditor, last compiled about a year ago, September 2015 I guess, I suddenly got the error: editbtn.pas(35,65) Fatal: Cannot find TimePopup used by EditBtn, incompatible ppu=C:\lazarus\lcl\units\x86_64-win64\timepopup.ppu, package LCLBase The ppu does exist in the location, and I am a bit of a loss why it became incompatible. The Lazarus is stable release: Lazarus 1.6 r51630 FPC 3.0.0 x86_64-win64-win32/win64 The same message appears when I compile this project on Linux Mint, with apparently different path, but again the ppu is found where indicated (same version of Lazarus for Linux/GTK2). I tried to re-build Lazarus, but this did not help. I have no issues with other projects, although this one maybe the only project where TEditBtn component is used. Any idea, how this issue can be fixed? Thank you! [SOLVED] at least partially by re-installing of Lazarus and removing TEditBtn from the project. ---------------------------------------------------------------------- bytebites · 2016-11-28 11:23 Check that the same ppu-file doesn't exist in any another place. ---------------------------------------------------------------------- vrull · 2016-11-28 21:11 timepopup.ppu sits in C:\lazarus\lcl\units\x86_64-win64  (on Windows machine) along with timepopup.lfm and timepop.o. timepopup.pas is in C:\lazarus\lcl\forms along with another identical copy of timepopup.lfm No other copies found anywhere inside C:\Lazarus folder. ---------------------------------------------------------------------- wp · 2016-11-28 21:35 Maybe the culprit is another third-party package using TEditBtn? Which packages does your project require? ---------------------------------------------------------------------- vrull · 2016-11-29 00:42 I avoid using any third-party stuff unless there no other way. My suspicion is that source code for TEditBtn does not match pre- compiled ppu which comes with the Lazarus installation. Something in my play with the project triggered LCLBase re-compilation; Lazarus stuck with wrong timepopup.ppu and not found ShowTimePopup and stopped working at all (stopped compiling anything, I mean). I have re-installed it over the existing installation and now it works. But if I open EditBtn.pas or it opens itself as the result of previous unsuccessful compilation, Lazarus fails with the same error. I am going to replace the EditButton with EditBox+SpeedButton pair and mark this topic as solved (by mean of Lazarus re-installation). Thank you everybody for your help. ---------------------------------------------------------------------- tk · 2016-11-29 08:34 Does it also say something like 'checksum changed for unit xxx' before the error message? In this case it would be package dependency/search path problem. Also try Clean up and Build. ---------------------------------------------------------------------- vrull · 2016-12-04 21:38 @tk, Yes, it did; there were also messages about duplicate paths. But I could not figure out what I should remove from or add to project paths. Eventually Lazarus started complaining about that unit regardless of what project was loaded. I removed everything from project paths: Other unit files (-Fu) and Libraries (-Fl) sections and reinstalled Lazarus. After this I can compile the project, but still get lots of "duplicate" messages, like: Note: Duplicate unit "interfaces" in "XMLTreeEdit", orphaned ppu "C:\Projects\lazarus\XMLEditor\xmltreeedit- code\lib\x86_64-win64\interfaces.ppu" Note: Duplicate unit "interfaces" in "LCL 1.6.0.4", ppu="C:\lazarus\lcl\units\x86_64-win64\win32\interfaces.ppu", source="C:\lazarus\lcl\interfaces\win32\interfaces.pp" Thank you.