[Lazarus] Building and running Lazarus natively on various architectures
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Wed Oct 13 09:35:44 CEST 2010
Mark Morgan Lloyd wrote:
> Henry Vermaak wrote:
>> On 08/10/10 12:24, Mark Morgan Lloyd wrote:
>>> Henry Vermaak wrote:
>>>> On 08/10/10 10:51, Mark Morgan Lloyd wrote:
>>>>> This thread is a summary of intermittent experience over the last year
>>>>> or so with Lazarus running natively on various platforms. I hope to
>>>>> cover ARM, PPC, SPARC and (for completeness) x86 on Linux (Debian v5
>>>>> "Lenny"), possibly also some older Windows OSes on x86 (NT, W2K); I'm
>>>>> afraid that I don't have an x64 system which I think would cover all
>>>>> currently-supported CPUs.
>>>>>
>>>>> Mattias, noting your
>>>>>
>>>>>> 0.9.29 with fpc 2.4.0 or higher.
>>>>>
>>>>> I'll work with sources from svn. This might mean that I'm a day or so
>>>>> behind in some cases since some of the older machines will take more
>>>>> than a day doing a full build.
>>>> Why don't you build your compiler with -O- -gl?
>>>
>>> I thought I had but I'll check... the version of the compiler I'm
>>> running was built with make NOGDB=1 OPT=-gl -vt -dFPC_ARMEL -CfSOFT all
>>> which I've generally found to give usable backtraces etc. Is adding -O-
>>> a useful precaution?
>>
>> Well, I'm not sure which optimisations are debugger safe, so I usually
>> disable them all. I pass OPT="-dFPC_ARMEL -O- -gl" and that seems to
>> work for the traces. I don't know if it'll help in your case, though.
>
> OK. I'll apply Jonas's fix and recompile like that. I may be some time.
Using the modified 2.4.0 Lazarus builds (make all) on armel without
problems. However I still get a failure during exit that I don't believe
I've seen on other architectures:
TMainIDE.ParseCmdLineOptions:
PrimaryConfigPath="/home/markMLl/.lazarus"
SecondaryConfigPath="/etc/lazarus"
NOTE: miscellaneous options file not found - using defaults
TMainIDE.DoLoadLFM Creating designer for hidden component of
/home/markMLl/unit1.pas
TMainIDE.DoOpenProjectFile Form1:TForm1 TDesigner
TApplication.HandleException Access violation
Stack trace:
$005D3AF0 SEARCH, line 4407 of project.pp
$005D36F8 TPROJECT__UPDATEUNITCOMPONENTDEPENDENCIES, line 4485 of
project.pp
$00082BA8 TMAINIDE__UNITCOMPONENTISUSED, line 7074 of main.pp
$00082568 TMAINIDE__CLOSEUNITCOMPONENT, line 6948 of main.pp
$00087E78 TMAINIDE__DOCLOSEEDITORFILE, line 8323 of main.pp
$0008E57C TMAINIDE__DOCLOSEPROJECT, line 9831 of main.pp
$000694D4 TMAINIDE__MAINIDEFORMCLOSEQUERY, line 1720 of main.pp
$00092134 TMAINIDE__QUITIDE, line 10666 of main.pp
$00072F0C TMAINIDE__MNUQUITCLICKED, line 3428 of main.pp
$005AB748 TIDEMENUITEM__MENUITEMCLICK, line 551 of menuintf.pas
$005AF8E0 TIDEMENUCOMMAND__MENUITEMCLICK, line 1616 of menuintf.pas
$001FA534 TMENUITEM__CLICK, line 75 of ./include/menuitem.inc
$001FAD6C TMENUITEM__DOCLICKED, line 269 of ./include/menuitem.inc
$00034898 TOBJECT__DISPATCH, line 465 of
/usr/local/src/fpc/fpcbuild-2.4.0/fpcsrc/rtl/inc/objpas.inc
$002D915C DELIVERMESSAGE, line 112 of lclmessageglue.pas
$002A8944 DELIVERMESSAGE, line 3516 of gtk2proc.inc
$0033FDD0 GTK2MENUITEMACTIVATE, line 138 of gtk2wsmenus.pp
WARNING: TLCLComponent.Destroy with LCLRefCount>0. Hint: Maybe the
component is processing an event?
[TMainIDE.Destroy] A
[TMainIDE.Destroy] B -> inherited Destroy... TMainIDE
[TMainIDE.Destroy] END
I've not tried building a significant project yet. As noted before this
is on a unit with extremely limited RAM, it's using swap heavily so
there's scope for race conditions etc.
I find that I only get symbols on the backtrace (sent by Lazarus to
stdout) if run in the directory with the lazarus binary
(/usr/local/share/lazarus-trunk), I've not tried using gdb.
Any comments would be appreciated, otherwise I'll try a "make bigide" at
the end of the day.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list