Recent

Author Topic: Exeinfo.pp error  (Read 5556 times)

sarason

  • Jr. Member
  • **
  • Posts: 77
Exeinfo.pp error
« on: August 26, 2014, 04:05:26 am »
he whole project compiles under both Lazarus 2.7.1 and Delphi 2007 ( and runs under Delpi2007) but it does not produce any of the debug and is going about recompiling the exeinfo unit of FPC.

I am stumped!!
All Insight and thoughts gratefully accepted.

sarason

engkin

  • Hero Member
  • *****
  • Posts: 3112
Re: Exeinfo.pp error
« Reply #1 on: August 26, 2014, 04:44:20 am »
Isn't this the same problem you had before?
Quote
Recompiling exeinfo, checksum changed for Strings {impl}
lineinfo.pp(30,3) Fatal: Can not find exeinfo used by lineinfo, ppu=..\..\..\units\i386-win32\rtl\exeinfo.ppu

Quote
Recompiling dos, checksum changed for Strings {impl}
gzio.pas(22,3) Fatal: Can not find dos used by gzio, ppu=..\..\..\..\units\i386-win32\rtl\dos.ppu

sarason

  • Jr. Member
  • **
  • Posts: 77
Re: Exeinfo.pp error
« Reply #2 on: August 26, 2014, 06:50:32 am »
Yes and No , again it is likely to be related, but I am not sure how?

All references to the Strings code was removed and replaced with SysUtils. The whole program compiles. Except we now find ourselves recompiling Exeinfo, which again I never called. Exeinfo does call Strings. This suggests that it is called from old TP compiler stuff, inside of Lazarus. I am going to try this line of enquiry. But I have set the compiler to Delphi mode and sure my application is an updated win32 implementation of BP OWL but it is all self contained and makes no reference to internal Lazarus units, excepting the modern SysUtils, Windows, Dialogs, Messages, and one or 2 others, which are very definitely Windows XP compatibles.

 I am using FPC 2.7.1 which is not a general release of Lazarus. And probably has a few bugs. The Strings thing is resolved so, agian it is not me.

regards sarason

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Exeinfo.pp error
« Reply #3 on: August 26, 2014, 09:59:40 am »
Short story, make sure your FPC is compiled with -Ur.   Release versions are already compiled with it.

Long story: contrary to Delphi, FPC recompiles on changed .INC files (with $I), so if your project has a .inc file with the same name as FPC rtl, this may cause problems.
-Ur forces release mode and suppresses recompilation of FPC libraries based on changed source files.

engkin

  • Hero Member
  • *****
  • Posts: 3112
Re: Exeinfo.pp error
« Reply #4 on: August 26, 2014, 04:43:55 pm »
Yes and No , again it is likely to be related, but I am not sure how?

All references to the Strings code was removed and replaced with SysUtils.
That alone is not enough. Replacing Strings with SysUtils does not mean that Strings is not looked for and used. If there is any Strings.o/Strings.ppu visible to your application other than the one in:
Lazarus\fpc\2.7.1\units\i386-win32\rtl\  (This 32bit path)
You'll have this problem:
Recompiling SomeUnitName, checksum changed for Strings {impl}

sarason

  • Jr. Member
  • **
  • Posts: 77
Re: Exeinfo.pp error
« Reply #5 on: August 27, 2014, 11:58:26 am »
I did both changes ie removing the generated strings.pp and strings.o (as well as all generated files) and also the -Ur, and I also had one more Stings unit that I had missed.
I also removed interface and implementation from my program file (It was originally a Delphi unit that I called from another file.
Now the application compiles and generates code and runs to its first exception. So I am on my way again.

Thankyou very much!!  Engkin and Marcov.

regards sarason

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Exeinfo.pp error
« Reply #6 on: August 27, 2014, 12:57:50 pm »
Make absolutely sure the compiler can't find your copy of strings.pp or strings.ppu.

sarason

  • Jr. Member
  • **
  • Posts: 77
Re: Exeinfo.pp error
« Reply #7 on: August 27, 2014, 03:01:35 pm »
I don't make a cal to my old Strings unit , I now use SysUtils.

Thanks again Marcov

regards sarason

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Exeinfo.pp error
« Reply #8 on: August 27, 2014, 05:03:15 pm »
Doesn't matter if you use it or not, the compiler will search for strings.ppu and source extensions whenever it loads an unit that uses (RTL-) strings. (unless those are all compiled with -Ur)

So again, remove any remnants of that from the compiler search path.

 

TinyPortal © 2005-2018