Sign in Join

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

Mailing lists / lazarus / 2011-10

make clean all after a unit is relocated

11 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

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

Max Vlasov

Hi,

I have a strange problem with make clean all. I didn't update and compile windows version for some time. During this period LConvEncoding migrated to Components/Lazutils. When I tried to "make clean all" with the latest version, the compiler stopped complaining about this unit (not found). Only when I manually cleaned the old /units/i386-win32 where previous LConvEncoding.o and ppu lived, the compiler moved further. Shouldn't "make clean all" handle such things or is it something wrong with my particular configuration?

Thanks

Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20111024/263baf03/attachment.html>

Reply by email

zeljko
to Max Vlasov
Max Vlasov wrote 10 lines
Hi, I have a strange problem with make clean all. I didn't update and compile windows version for some time. During this period LConvEncoding migrated to Components/Lazutils. When I tried to "make clean all" with the latest version, the compiler stopped complaining about this unit (not found). Only when I manually cleaned the old /units/i386-win32 where previous LConvEncoding.o and ppu lived, the compiler moved further. Shouldn't "make clean all" handle such things or is it something wrong with my particular configuration?

That's old problem. make bigideclean or make clean should cleanup lcl/units/ including widgetsets but it doesn't, so manual intervention is needed.

zeljko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20111024/369b7e58/attachment.html>

Reply by email

Mattias Gaertner
to zeljko
Show quoted text 14 lines
On Monday 24 of October 2011 10:02:31 Max Vlasov wrote: > Hi, > > I have a strange problem with make clean all. I didn't update and compile > windows version for some time. During this period LConvEncoding migrated to > Components/Lazutils. When I tried to "make clean all" with the latest > version, the compiler stopped complaining about this unit (not found). Only > when I manually cleaned the old /units/i386-win32 where previous > LConvEncoding.o and ppu lived, the compiler moved further. Shouldn't "make > clean all" handle such things or is it something wrong with my particular > configuration? That's old problem. make bigideclean or make clean should cleanup lcl/units/ including widgetsets but it doesn't, so manual intervention is needed.

It works here:

touch lcl/units/x86_64-linux/bla.ppu
make clean

Result: The file is gone.

Maybe this problem only appears under windows?

Mattias

Reply by email

zeljko
to Mattias Gaertner: On Mon, 24 Oct 2011 10:24:01 +0200 It works here: touch lcl/units/x86_64-linux/bla.ppu…
Mattias Gaertner wrote 27 lines
On Mon, 24 Oct 2011 10:24:01 +0200 zeljko wrote: > On Monday 24 of October 2011 10:02:31 Max Vlasov wrote: > > Hi, > > > > I have a strange problem with make clean all. I didn't update and > > compile windows version for some time. During this period > > LConvEncoding migrated to Components/Lazutils. When I tried to "make > > clean all" with the latest version, the compiler stopped complaining > > about this unit (not found). Only when I manually cleaned the old > > /units/i386-win32 where previous LConvEncoding.o and ppu lived, the > > compiler moved further. Shouldn't "make clean all" handle such things > > or is it something wrong with my particular configuration? > > That's old problem. make bigideclean or make clean should cleanup > lcl/units/ including widgetsets but it doesn't, so manual intervention > is needed. It works here: touch lcl/units/x86_64-linux/bla.ppu make clean Result: The file is gone. Maybe this problem only appears under windows?

1.No, sometimes (but indeed sometimes) I got it under linux too. 2.Another thing is when I work something to fix something inside eg gtk2 widgetset, I'm working on project, and added eg. DebugLn('Something') in some proc in gtk2.
Now rebuild project ... lcl isn't rebuilded ?!? why ? now I must cd to lcl/units/i386-linux/gtk2 and manually remove ppus and others, and then rebuild test project again.

zeljko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20111024/2e20aa0a/attachment.html>

Reply by email

Mattias Gaertner
to zeljko
Show quoted text 30 lines
On Monday 24 of October 2011 13:03:57 Mattias Gaertner wrote: > On Mon, 24 Oct 2011 10:24:01 +0200 > > zeljko wrote: > > On Monday 24 of October 2011 10:02:31 Max Vlasov wrote: > > > Hi, > > > > > > I have a strange problem with make clean all. I didn't update and > > > compile windows version for some time. During this period > > > LConvEncoding migrated to Components/Lazutils. When I tried to "make > > > clean all" with the latest version, the compiler stopped complaining > > > about this unit (not found). Only when I manually cleaned the old > > > /units/i386-win32 where previous LConvEncoding.o and ppu lived, the > > > compiler moved further. Shouldn't "make clean all" handle such things > > > or is it something wrong with my particular configuration? > > > > That's old problem. make bigideclean or make clean should cleanup > > lcl/units/ including widgetsets but it doesn't, so manual intervention > > is needed. > > It works here: > > touch lcl/units/x86_64-linux/bla.ppu > make clean > > Result: The file is gone. > > Maybe this problem only appears under windows? 1.No, sometimes (but indeed sometimes) I got it under linux too.

When it happens the next time, do a
make clean > clean.txt
ls -lR >> clean.txt

and send me the output.

2.Another thing is when I work something to fix something inside eg gtk2 widgetset, I'm working on project, and added eg. DebugLn('Something') in some proc in gtk2. Now rebuild project ... lcl isn't rebuilded ?!? why ?

Maybe a file is missing in the lcl.lpk?

now I must cd to lcl/units/i386-linux/gtk2 and manually remove ppus and others, and then rebuild test project again.

For your interest:
Eventually I want to add a quick fix item, to check if the missing unit belongs to a package. Then it could check if the source file is in the lpk and ask to add it and/or to recompile the package. This feature is needed anyway, because there are some corner cases that the IDE can not detect.

Mattias

Reply by email

Max Vlasov
to Mattias Gaertner: On Mon, 24 Oct 2011 10:24:01 +0200 It works here: touch lcl/units/x86_64-linux/bla.ppu…

On Mon, Oct 24, 2011 at 3:03 PM, Mattias Gaertner <

Show quoted text 12 lines
wrote: It works here: touch lcl/units/x86_64-linux/bla.ppu make clean Result: The file is gone. Maybe this problem only appears under windows?

Sorry, this was my fault. While trying to comment on this message, I just found that it was a make.bat that was launched ignoring "clean all" ending. I just forgot that in order to not mess up with possible existing make.exe in the system, I used batch files instead.

But zeljko probably mentioned some other phenomenon, not encountered by myself in this particular case.

Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20111024/f720759b/attachment.html>

Reply by email

zeljko
to Mattias Gaertner: On Mon, 24 Oct 2011 13:29:01 +0200 When it happens the next time, do a make clean >…
Mattias Gaertner wrote 5 lines
When it happens the next time, do a make clean > clean.txt ls -lR >> clean.txt and send me the output.

I'll do that.

Show quoted text 7 lines
> 2.Another thing is when I work something to fix something inside eg gtk2 > widgetset, I'm working on project, and added eg. DebugLn('Something') in > some proc in gtk2. > Now rebuild project ... lcl isn't rebuilded ?!? why ? Maybe a file is missing in the lcl.lpk?

What file ? Don't know .. exact problem is ws dir, if I change anything in lcl then it's recompiled - no problem, but small change in ws code eg. in gtk2proc or something similar, doesn't trigger lcl to rebuild.

Show quoted text 11 lines
> now I must cd to > lcl/units/i386-linux/gtk2 and manually remove ppus and others, and then > rebuild test project again. For your interest: Eventually I want to add a quick fix item, to check if the missing unit belongs to a package. Then it could check if the source file is in the lpk and ask to add it and/or to recompile the package. This feature is needed anyway, because there are some corner cases that the IDE can not detect.

Yes, thanks, that's exact case, but weird thing that sometimes it works (usually if I change something in interface part, or if I change few lines of code), but adding just one DebugLn() somewhere doesn't work.

zeljko

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20111024/4784e8d9/attachment-0001.html>

Reply by email

Mattias Gaertner
to zeljko
Show quoted text 19 lines
On Monday 24 of October 2011 13:40:42 Mattias Gaertner wrote: > When it happens the next time, do a > make clean > clean.txt > ls -lR >> clean.txt > > and send me the output. I'll do that. > > > 2.Another thing is when I work something to fix something inside eg gtk2 > > widgetset, I'm working on project, and added eg. DebugLn('Something') in > > some proc in gtk2. > > Now rebuild project ... lcl isn't rebuilded ?!? why ? > > Maybe a file is missing in the lcl.lpk? What file ?

The file you modified.

Don't know .. exact problem is ws dir, if I change anything in lcl then it's recompiled - no problem, but small change in ws code eg. in gtk2proc or something similar, doesn't trigger lcl to rebuild.

Editing gtk2proc.inc triggers a rebuild here.

Show quoted text 14 lines
> > now I must cd to > > lcl/units/i386-linux/gtk2 and manually remove ppus and others, and then > > rebuild test project again. > > For your interest: > Eventually I want to add a quick fix item, to check if the missing unit > belongs to a package. Then it could check if the source file is in the > lpk and ask to add it and/or to recompile the package. > This feature is needed anyway, because there are some corner cases > that the IDE can not detect. Yes, thanks, that's exact case, but weird thing that sometimes it works (usually if I change something in interface part, or if I change few lines of code), but adding just one DebugLn() somewhere doesn't work.

The IDE checks the file date not the content, so it probably has nothing to with the type of change.

Mattias

Reply by email