[Lazarus] Rebuild LCL from within IDE on Linux

Joost van der Sluis joost at cnoc.nl
Mon Jan 5 12:02:22 CET 2009


Op zondag 04-01-2009 om 23:59 uur [tijdzone +0100], schreef Bart:
> > What effect did you expect?
> >
> >  Joost.
> 
> I expected it to work the same as on Win32 (WinME in my case). You
> patch something in the LCL, rebuild the LCL from within the IDE and
> voila, the patches you wrote are now working (for better or worse).

After all these years I can still be amazed how even it-professionals
describe problems. 'I expected it to work the same as on Win32', 'the
patches you wrote are now working', 'I expect it to work', 'I did
something and now it doesn't work -> fix it'.

'I want to do something, explain me how to'
'Can you explain to me what you want to do exactly?'
'Well, what I always do. I click here and normally it works, now it
doesn't. so help me'
'On what do you click?'
'Well, that's what you suppose to tell me! I don't know what to click,
you are the expert! All I know is that I click here it doesn't work'

This way this can become a long thread....

So I'll do what is expected from me in this case. Write down a few
possibilities. Guess somewhat what you are trying to do. Write an answer
on that hypothetical case. Then hope that that fixes your problem, or
that you can come up with a somewhat more adequate description of your
problem.

Well, if you expect the IDE to behave differently after your patch you
have to recompile the IDE and restart. Take care that you start the
right (new) executable, although this mostly only goes wrong on windows.

What did you change? Are you sure it is part of the lcl and thus
recompiled? Did you check the recompile was succesfull? Maybe you did
change something for another widgetset then you are really using? (Maybe
it's usefull to tell us what you did change, and what you expect from
that change. More then... well, the story above..)

A way to check if your change is really recompiled is to make a syntax
error in the code, and recompile. If the compiler doesn't complain, you
didn't recompiled the code. ;)

> I ended up doing a make clean all (as root), which then did what I expected.
> (I was a bit afraid that that might somehow screw things up ( I'm
> fairly new to Linux), so I first tried something I experienced to be
> safe on Win32).

If you run the ide as root and then do your recompile of the LCL, does
that work? If you plan to change the LCL often, you'd better install
lazarus in your home-directory and work from there.

But now I know you installed as root: did you check where the
recompilation of the LCL placed it's files? And does your project uses
this path to search for the LCL?

> So now I've applied a patch to my LCL on linux and this works.
> However doing make clean all built a slightly different IDE (some
> component tabs missing that I normally do not use anyway).
> What make command should I apply to build the IDE with packages like
> they come in the binaries (rpm's or win32 executables)?

You could try 'make bigide' but there's also a command to build the ide
with the selected packages. But maybe you'd better run the ide as root
and build from there.

Joost.




More information about the Lazarus mailing list