Can't find Interfaces.ppu in 1.0.10 lazarus / 1-Linux ---------------------------------------------------------------------- tintinux · 2013-06-17 16:13 Hi On Linux Ubuntu 12.04 i386, Lazarus 1.0.8 was working fine and my project was compiling without problem. I removed Lazarus 1.0.8, checked that /usr/share/lazarus was empty, deleted ~/.lazarus, then reinstalled Lazarus 1.0.10 with the .deb found on sourceforge, and 5 packages, and try to compile my project. I got the "Unable to find Interfaces.ppu" message. In the past (<= 0.9), rebuilding lazarus again was usually solving this issue, but this time it didn't work. I tried of course to delete every ppu and other object files, everywhere, without result. I uninstalled 1.0.10, checked that /usr/share/lazarus was deleted, deleted ~/.lazarus. , reinstalled 1.0.8 and the 5 packages. The project compiled again without error ! What is the problem ?  What am I missing ? Thanks for help. ---------------------------------------------------------------------- Bart · 2013-06-17 19:20 It finds an incompatible ppu. Build with -vt It will show what ppu it finds and where, so you can delete it. Bart ---------------------------------------------------------------------- tintinux · 2013-06-20 06:35 Thanks for your reply. Here is the tail of the compilation output with -vt Code: [Select]PPU Loading /usr/share/lazarus/1.0.10/lcl/units/i386-linux/utf8process.ppu PPU Loading /usr/lib/fpc/2.6.2/units/i386-linux/fcl- process/process.ppu PPU Loading /usr/lib/fpc/2.6.2/units/i386-linux/fcl-process/pipes.ppu PPU Loading /usr/lib/fpc/2.6.2/units/i386-linux/rtl/termio.ppu PPU Loading /usr/share/lazarus/1.0.10/lcl/units/i386-linux/maps.ppu PPU Loading /usr/share/lazarus/1.0.10/components/lazutils/lib/i386- linux/lazutf8sysutils.ppu PPU Source: interfaces.pas not found Recompiling Interfaces, checksum changed for InterfaceBase gestinux.lpr(18,3) Fatal: Can not find Interfaces used by gestinux, pp u=../../../../../../.lazarus/lib/units/i386-linux/gtk2/interfaces.ppu, package LCL I'm not sure of the relative path, but it should be in ~/.lazarus which was completely deleted before Lazarus 1.0.10 was installed. So it contains only objects freshly compiled. The installed packages, in addition to the default of Lazarus, are ZeosLib, PowerPdf, Lazreport, LazReportPdfExport and my Gestinux_util. The same packages and application don't produce this error on another machine with Linux Ubuntu and Lazarus 64 bits, and on Windows. What should I do, now ? Regards, Tintinux ---------------------------------------------------------------------- Bart · 2013-06-20 11:55 I have seen things like this whith circular references. But why does it start rebuilding the LCL in the first place? Do you use the same compiler as the deb package was built with? You need fpc 2.6.2 or 2.6.0 for 1.0.10. Can you rebuild Lazarus clean? Bart ---------------------------------------------------------------------- Rails · 2013-06-20 12:15 I use Debian, so this may or may not be helpful. For awhile, the Debian repository was out of date for the Laz version I needed, so I tried to install using the debs from the daily builds. I usually was not able to get one to work. I always seemed to get that dreaded Interfaces message. In fact, I'm not sure I ever got one of the debs to install a working Lazarus. Instead, I was always able to get a daily build RPM version to install. I just installed using Debian's alien command with the -i option. Alien converts an RPM package to a deb package and optionally installs it. I don't know if it works on Ubuntu or not. It might be worth looking into if it does. ---------------------------------------------------------------------- tintinux · 2013-06-20 16:03 Quote from: Bart on June 20, 2013, 01:55:17 pmBut why does it start rebuilding the LCL in the first place? Do you use the same compiler as the deb package was built with? You need fpc 2.6.2 or 2.6.0 for 1.0.10. Can you rebuild Lazarus clean? I have only FPC 2.6.2 on this machine I have removed ~/.lazarus, installed lazarus, all my packages and then compiled the project with it. How could I have any object created with another FPC release ? Quote from: Bart on June 20, 2013, 01:55:17 pmCan you rebuild Lazarus clean ? How should I perform that ? On Linux I think it was not possible since some times with the menu Tools, Configure "Build Lazarus" ... Thanks for your help ! ---------------------------------------------------------------------- tintinux · 2013-06-20 16:18 Quote from: Rails on June 20, 2013, 02:15:55 pmI use Debian, so this may or may not be helpful. For awhile, the Debian repository was out of date for the Laz version I needed, so I tried to install using the debs from the daily builds. I usually was not able to get one to work. I always seemed to get that dreaded Interfaces message. In fact, I'm not sure I ever got one of the debs to install a working Lazarus. Instead, I was always able to get a daily build RPM version to install. I just installed using Debian's alien command with the -i option. Alien converts an RPM package to a deb package and optionally installs it. I don't know if it works on Ubuntu or not. It might be worth looking into if it does. Thanks for the suggestion, but I definitely want to use only the stable official releases (1.0.10 in this case). With daily buid, I will spend too much time to reinstall lazarus and the packages every day, on 4 machines for me. Some other guys are helping on the project and we need to all work on the same FPC/Lazarus release, otherwise we will run into troubles, I'm afraid. Regards ---------------------------------------------------------------------- Rails · 2013-06-20 16:23 Quote from: tintinux on June 20, 2013, 06:18:10 pm Thanks for the suggestion, but I definitely want to use only the stable official releases (1.0.10 in this case). With daily buid, I will spend too much time to reinstall lazarus and the packages every day, on 4 machines for me. Some other guys are helping on the project and we need to all work on the same FPC/Lazarus release, otherwise we will run into troubles, I'm afraid. Regards Isn't the stable release also available as an RPM? You could try that route via alien, if Ubuntu supports it. ---------------------------------------------------------------------- Bart · 2013-06-20 18:16 Yet another try. Download the sources for 1.1.10 (use svn co http://svn.freepascal.org/svn/lazarus/tags/lazarus_1_0_10 path/to/where/you/want/it). You get the exact same sources that was used for building 1.1.10. Then do a make bigide OPT=-gl The OPT is optional, if you want the LCL / Lazarus built with debug info). Bart ---------------------------------------------------------------------- tintinux · 2013-07-10 13:33 Hi Bart I tried your suggestion. The IDE was successfully rebuilt in ~/.lazarus/lazarus-1-0-10 But when I compile my project I have exactly the same result ! I have found why, I think. In Tools > Options > Files after the last rebuild, the path is still /usr/share/lazarus/1.0.10 This was the folder created by installing for the 1st time lazarus_1.0.10-0_i386.deb, downloaded from sourceforge. Not the folder where I just rebuilt following your suggestion. In /usr I have no rights to create or delete files. First installation was OK because made as a root user, as all other installations under debian. When I change the path to ~/.lazarus/lazarus-1-0-10 where I can write files, I can recompile my project. I'm happy but this problem occured IIRC with old releases 0.9, and was solved for sure in 1.0.8, we didn't have to do this. After a first install in /usr, any new package installation created the new lazarus under ~/.lazarus and no root rights were required. The strange thing is that it works fine, this way, with 1.0.10 64 bits... Is there not a regression or something wrong in the last 32 bits package ? Regards Tintinux ---------------------------------------------------------------------- JuhaManninen · 2013-07-10 15:34 Quote from: tintinux on July 10, 2013, 03:33:44 pmI have found why, I think. In Tools > Options > Files after the last rebuild, the path is still /usr/share/lazarus/1.0.10 It looks correct. I have the same after installing from .deb. Quote... I'm happy but this problem occured IIRC with old releases 0.9, and was solved for sure in 1.0.8, we didn't have to do this. After a first install in /usr, any new package installation created the new lazarus under ~/.lazarus and no root rights were required. The strange thing is that it works fine, this way, with 1.0.10 64 bits... Is there not a regression or something wrong in the last 32 bits package ? I don't think there is any regression. Many people use Lazarus with 32-bit Linux. I am actually puzzled that people get so much these similar problems again and again and again. I just tested the installation of latest release to make sure it works. See my experiences here :   http://forum.lazarus.freepascal.org/index.php/topic,21426.msg125426. html#msg125426 IMO it was very easy. Just run "startlazarus" and rebuild from inside the IDE. How could it be easier? I understood a shortcut icon is created to some Linux desktops but my KDE didn't get one. About the write access to /usr/...  You don't need write access there because startlazarus takes care of it. I am sure it is documented somewhere but apparently many people don't know it. Using .rpm + Alien for Ubuntu is a desperate hack and workaround. It happened to hide the real problems for "Rails" maybe because it installed to a different directory. Now these comments give an impression that Lazarus installation is completely broken and buggy, while it is not. Lots of effort was put to iron out errors and warn about potential errors. There are many debugging aids for it, like building with -vt, in IDE: View -> IDE internals -> "About FPC" and "About IDE", Project options has "Test" button that warns about conflicting .ppus ... Earlier the trunk snapshots have been the biggest problem, but now we are talking about release versions. What to do? Snapshots are not recommended by me for anybody. If you need the development version, use SVN directly (or Git mirror). P.S. I now have many Lazarus sources from SVN, a latest release version of both FPC and Lazarus, and CodeTyphon which comes with FPC trunk. No problems so far! Everything works better than I expected.