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]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to