Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2013-04

Lazarus rev 40848/40849 breaks IDE rebuilding

12 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

patspiper

Hi,

Rebuilding stops and a message pops up:

"Unable to find file "unit2.pas".
If it belongs to your project, check search path in Project -> Compiler Options -> Search Paths -> Other Unit Files. If this file belongs to a package, check the appropriate package compiler options. If this file belongs to lazarus, make sure compiling clean. If the file belongs to FPC then check fpc.cfg. If unsure, check Project -> CompilerOptions -> Test"

In the messages windows, it shows that the failure concerns a unit belonging to one of my projects!

/home/me/Programs/lazarus/lazarus-svn/debugger/processdebugger.pp(116,14) Warning: Symbol "CommandLine" is deprecated
PPU Loading
/home/me/Documents/Data/Lazarus/TestProjects/PackageRecompilation/lib/i386-linux/unit2.ppu PPU Source: unit2.pas not found
Recompiling Unit2, checksum changed for Forms
unit2.pas(73,12) Fatal: Can not find unit Unit2 used by Unit3.

Stephano

Reply by email

Juha Manninen
to patspiper
patspiper wrote
Rebuilding stops and a message pops up:

Lazarus builds OK here.

40848 improved TFileSearcher.
40849 replaced GetAllFilesMask with AllFilesMask. It affected many files but is a trivial change otherwise.

Try with "Clean all" in Configure Build Lazarus dlg.

Juha

Reply by email

patspiper
to Juha Manninen
Juha Manninen wrote 9 lines
On 4/19/13, patspiper wrote: > Rebuilding stops and a message pops up: Lazarus builds OK here. 40848 improved TFileSearcher. 40849 replaced GetAllFilesMask with AllFilesMask. It affected many files but is a trivial change otherwise. Try with "Clean all" in Configure Build Lazarus dlg.

I had tried that and just did once again with the same result.

I am not sure why it is trying to access that particular project folder, which is not even opened in the IDE.

Stephano

Reply by email

Juha Manninen
to patspiper

Can you please go back in SVN history and check that 40849 really causes the problem.
What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should not cause problems with any compiler version though.

Does anybody else have such problems?

Juha

patspiper wrote 23 lines
On 19/04/13 11:32, Juha Manninen wrote: > On 4/19/13, patspiper wrote: >> Rebuilding stops and a message pops up: > Lazarus builds OK here. > > 40848 improved TFileSearcher. > 40849 replaced GetAllFilesMask with AllFilesMask. It affected many > files but is a trivial change otherwise. > > Try with "Clean all" in Configure Build Lazarus dlg. I had tried that and just did once again with the same result. I am not sure why it is trying to access that particular project folder, which is not even opened in the IDE. Stephano -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

patspiper
to Juha Manninen
Juha Manninen wrote 6 lines
Can you please go back in SVN history and check that 40849 really causes the problem. What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should not cause problems with any compiler version though. Does anybody else have such problems?

The revision that causes the problem is 40848, and I am using FPC 2.6.3.

However, I just noted the reason why that particular folder was being recompiled. It is actually an installed package, which I was using for testing of the 'Manual recompile only' flag and forgot about. Upon marking it as 'Rebuild automatically', the IDE rebuilt successfully. So I am at least partly guilty here. But why out of all recent Lazarus revisions, it is that one that breaks the checksum/version?

Stephano

Reply by email

Mattias Gaertner
to patspiper
Show quoted text 15 lines
On 19/04/13 12:01, Juha Manninen wrote: > Can you please go back in SVN history and check that 40849 really > causes the problem. > What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should > not cause problems with any compiler version though. > > Does anybody else have such problems? The revision that causes the problem is 40848, and I am using FPC 2.6.3. However, I just noted the reason why that particular folder was being recompiled. It is actually an installed package, which I was using for testing of the 'Manual recompile only' flag and forgot about. Upon marking it as 'Rebuild automatically', the IDE rebuilt successfully. So I am at least partly guilty here. But why out of all recent Lazarus revisions, it is that one that breaks the checksum/version?

Does the manual package depend on other packages?

Mattias

Reply by email

patspiper
to Mattias Gaertner
Mattias Gaertner wrote 19 lines
On Fri, 19 Apr 2013 12:19:00 +0300 patspiper wrote: > On 19/04/13 12:01, Juha Manninen wrote: >> Can you please go back in SVN history and check that 40849 really >> causes the problem. >> What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should >> not cause problems with any compiler version though. >> >> Does anybody else have such problems? > The revision that causes the problem is 40848, and I am using FPC 2.6.3. > > However, I just noted the reason why that particular folder was being > recompiled. It is actually an installed package, which I was using for > testing of the 'Manual recompile only' flag and forgot about. Upon > marking it as 'Rebuild automatically', the IDE rebuilt successfully. So > I am at least partly guilty here. But why out of all recent Lazarus > revisions, it is that one that breaks the checksum/version? Does the manual package depend on other packages?

The runtime package depends on IDEIntf, FCL and LCL. The designtime package depends on the runtime package and FCL. Both packages were marked as 'Manual compile only'.

Stephano

Reply by email

Mattias Gaertner
to patspiper
Show quoted text 23 lines
On 19/04/13 15:48, Mattias Gaertner wrote: > On Fri, 19 Apr 2013 12:19:00 +0300 > patspiper wrote: > >> On 19/04/13 12:01, Juha Manninen wrote: >>> Can you please go back in SVN history and check that 40849 really >>> causes the problem. >>> What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should >>> not cause problems with any compiler version though. >>> >>> Does anybody else have such problems? >> The revision that causes the problem is 40848, and I am using FPC 2.6.3. >> >> However, I just noted the reason why that particular folder was being >> recompiled. It is actually an installed package, which I was using for >> testing of the 'Manual recompile only' flag and forgot about. Upon >> marking it as 'Rebuild automatically', the IDE rebuilt successfully. So >> I am at least partly guilty here. But why out of all recent Lazarus >> revisions, it is that one that breaks the checksum/version? > Does the manual package depend on other packages? The runtime package depends on IDEIntf, FCL and LCL. The designtime package depends on the runtime package and FCL. Both packages were marked as 'Manual compile only'.

When the LCL is recompiled your package must be compiled too. But since it is manual, it was not done that. That gives the checksum changed error.

Mattias

Reply by email

patspiper
to Mattias Gaertner
Mattias Gaertner wrote 29 lines
On Fri, 19 Apr 2013 16:30:59 +0300 patspiper wrote: > On 19/04/13 15:48, Mattias Gaertner wrote: >> On Fri, 19 Apr 2013 12:19:00 +0300 >> patspiper wrote: >> >>> On 19/04/13 12:01, Juha Manninen wrote: >>>> Can you please go back in SVN history and check that 40849 really >>>> causes the problem. >>>> What is your compiler version? I have FPC 2.6.2. "AllFilesMask" should >>>> not cause problems with any compiler version though. >>>> >>>> Does anybody else have such problems? >>> The revision that causes the problem is 40848, and I am using FPC 2.6.3. >>> >>> However, I just noted the reason why that particular folder was being >>> recompiled. It is actually an installed package, which I was using for >>> testing of the 'Manual recompile only' flag and forgot about. Upon >>> marking it as 'Rebuild automatically', the IDE rebuilt successfully. So >>> I am at least partly guilty here. But why out of all recent Lazarus >>> revisions, it is that one that breaks the checksum/version? >> Does the manual package depend on other packages? > The runtime package depends on IDEIntf, FCL and LCL. The designtime > package depends on the runtime package and FCL. Both packages were > marked as 'Manual compile only'. When the LCL is recompiled your package must be compiled too. But since it is manual, it was not done that. That gives the checksum changed error.

There were several previous revisions, and none caused these symptoms. I was hopping just today between revisions 40829 and 40847 without these package showing any checksum problems.

Stephano

Reply by email

Mattias Gaertner
to patspiper
Show quoted text 7 lines
[...] > When the LCL is recompiled your package must be compiled too. But since > it is manual, it was not done that. That gives the checksum changed > error. There were several previous revisions, and none caused these symptoms. I was hopping just today between revisions 40829 and 40847 without these package showing any checksum problems.

You were just lucky.
If a unit changes you must recompile all depending units. The IDE normally does that automatically, but with manual compilation you disable this feature.

Mattias

Reply by email

patspiper
to Mattias Gaertner
Mattias Gaertner wrote 11 lines
On Fri, 19 Apr 2013 23:08:14 +0300 patspiper wrote: > [...] >> When the LCL is recompiled your package must be compiled too. But since >> it is manual, it was not done that. That gives the checksum changed >> error. > There were several previous revisions, and none caused these symptoms. I > was hopping just today between revisions 40829 and 40847 without these > package showing any checksum problems. You were just lucky.

In the sense that the checksums remained the same?

If a unit changes you must recompile all depending units. The IDE normally does that automatically, but with manual compilation you disable this feature.

There was a more or less recent discussion in one of the FPC or Lazarus mailing lists about commercial components for Lazarus, where the evaluation version is released without source. IIRC, the conclusion was that the FPC version, not the Lazarus one, should remain the same in order to avoid checksum errors.

A related wiki section:
http://wiki.freepascal.org/Lazarus_Packages#Creating_a_closed_sourced_package

Stephano

Reply by email

Mattias Gaertner
to patspiper
Show quoted text 13 lines
On 19/04/13 23:22, Mattias Gaertner wrote: > On Fri, 19 Apr 2013 23:08:14 +0300 > patspiper wrote: > >> [...] >>> When the LCL is recompiled your package must be compiled too. But since >>> it is manual, it was not done that. That gives the checksum changed >>> error. >> There were several previous revisions, and none caused these symptoms. I >> was hopping just today between revisions 40829 and 40847 without these >> package showing any checksum problems. > You were just lucky. In the sense that the checksums remained the same?

yes

Show quoted text 11 lines
> If a unit changes you must recompile all depending units. > The IDE normally does that automatically, but with manual compilation > you disable this feature. There was a more or less recent discussion in one of the FPC or Lazarus mailing lists about commercial components for Lazarus, where the evaluation version is released without source. IIRC, the conclusion was that the FPC version, not the Lazarus one, should remain the same in order to avoid checksum errors. A related wiki section: http://wiki.freepascal.org/Lazarus_Packages#Creating_a_closed_sourced_package

Closed sources only work with released versions. You can not change ppu files that the closed source ppu files need.

Mattias

Reply by email