I don't know what is wrong, but for some reason I cannot compile Lazarus any more with the latest 1.0.5 compiler from CVS. I did a complete update and now I get the following errors:
make[2]: Entering directory `/opt/fpc/lazarus/components/mwedit' rm -f ../units/allunits.ppu
ppc386 -Fu../units -Fu../../lcl/units -Fu/opt/fpc/rtl/linux -Fu/opt/fpc/fcl/linux -Fu/opt/fpc/packages/gtk -FE. -FU../units -di386 allunits.pp
Free Pascal Compiler version 1.1 [2001/02/04] for i386 Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling allunits.pp
35 Lines compiled, 0.7 sec
rm -f ../units/allunits.ppu
make[2]: Leaving directory `/opt/fpc/lazarus/components/mwedit' make[1]: Leaving directory `/opt/fpc/lazarus/components' make --assume-new=lazarus.pp lazarus
make[1]: Entering directory `/opt/fpc/lazarus'
ppc386 -Fu. -Fu./lcl/units -Fu./components/units -Fu./designer -Fu/opt/fpc/rtl/linux -Fu/opt/fpc/fcl/linux -Fu/opt/fpc/packages/gtk -Fi. -Fi./include -Fi./include/linux -FE. -di386 lazarus.pp Free Pascal Compiler version 1.1 [2001/02/04] for i386 Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling lazarus.pp
Compiling main.pp
Compiling compileroptions.pp
Compiling main.pp
Compiling project.pp
Compiling main.pp
Compiling uniteditor.pp
Compiling editoroptions.pp
Panic : Internal compiler error, exiting.
editoroptions.pp(1014,11) Fatal: Internal error 9999 make[1]: *** [lazarus] Error 1
make[1]: Leaving directory `/opt/fpc/lazarus'
make: *** [ide] Error 2
It is really strange because in order to get even this far, I had to type make about 6 or 7 times in the lazarus directory. It keeps erroring out on a unit. Then I type make again and it gets past the last error and errors out on another unit. Finally after several times of typing make, I get to the link error below and can get no further. When I do a make clean and try to compile, it dies on each of the following classes:
interfacebase.pp
controls.pp
forms.pp
stdctrls.pp
Each time I just do a make again and it continues on until it gets to the next one. The last one finally gets the link error below.
It appears to not like something in editoroptions.pp. It is kind of interesting. I commented out the code in editoroptions.pp as follows:
procedure SetOption(ACheckBox:TCheckBox;AnOption:TSynEditorOption);
var a:integer;
begin
{
if Sender=ACheckBox then
for a:=Low(PreviewEdits) to High(PreviewEdits) do
if PreviewEdits[a]nil then
if ACheckBox.Checked then
PreviewEdits[a].Options:=PreviewEdits[a].Options+[AnOption]
else
PreviewEdits[a].Options:=PreviewEdits[a].Options-[AnOption]
}
end;
Then I tried recompiling it and it almost gets there but dies on the link for some reason. Here is the error it dies with when the code above is commented out:
compiler.pp(90,3) Note: Local variable "NUm" not used compiler.pp(204,3) Note: Local variable "Texts" is assigned but never used
compiler.pp(205,3) Note: Local variable "num" not used compiler.pp(206,3) Note: Local variable "Temp" not used compiler.pp(223,3) Note: Local variable "Texts" not used compiler.pp(224,3) Note: Local variable "num" not used compiler.pp(225,3) Note: Local variable "Temp" not used compiler.pp(41,5) Note: Private field "TCompiler.FProjectFile" is never used
compiler.pp(42,5) Note: Private field "TCompiler.FOutputFile" is never used
Compiling main.pp
Compiling main.pp
Compiling ./designer/designer.pp
Linking ./lazarus
/usr/bin/ld: cannot find -lxext
lazarus.pp(63,1) Warning: Error while linking
Closing script ./ppas.sh
4512 Lines compiled, 2.7 sec
make[1]: Leaving directory
`/opt/fpc/lazarus'
I don't understand why it is getting a link error like this.
I had to go into include/linux and change the "uses linux" at the top of lazconf.inc to "uses unix". So apparently something in the compiler has changed. I don't know what happened to the linux unit. But the unix unit seems to fix that error. This is all really strange.
It was working just fine for me until I cycled the compiler last night. There is something strange going on with FPC lately anyway. When I do a cvs update of fpc, I get some strange messages I have never gotten before:
cvs update: move away fpc/compiler/assemble.pas; it is in the way C fpc/compiler/assemble.pas
cvs update: move away fpc/compiler/browcol.pas; it is in the way C fpc/compiler/browcol.pas
cvs update: move away fpc/compiler/browlog.pas; it is in the way C fpc/compiler/browlog.pas
I get this on nearly every file in the fpc directory. This just recently started happening. I thought maybe it was something wrong with my system, so I deleted all the files in the compiler, fcl, rtl and packages directory and then did a cvs update to bring them all down fresh. Then I cycled the compiler. Now I can't compile any more.
I haven't changed anything else other than doing the updates from CVS. I have tried doing a "make clean". I even went in and deleted every file in the components and lcl directories and did a cvs update to refresh them completely. I also deleted all the files from the units directories. So it is starting completely clean. Still no luck.
Does anyone have any idea what is going on?
Curtis