Re: [fpc-pascal] error compiling lazarus
On 01/09/11 00:45, Jonas Maebe wrote: On 09 Jan 2011, at 00:32, Benedikt Schindler wrote: I think this is a problem with the 64Bit compiler. In 32Bit this problem doesn't exist. What did you do to fix the linking of 32 bit programs on your system? (since in the previous message you showed that this did not work) sorry, here is what i have done to solve the linking problems: i chnaged the positions in: /etc/ld.so.conf so there is always the lib32 directory before the lib64 directory. now it looks like this: /lib /lib64 /usr/lib /usr/lib64 [...] i thought this shouldn't make any differnce ... but it did. After that i just created a few missing symlinks for gtk and gdk libs. For example: ln -s /usr/lib/libgtk-x11-2.0.so.0.2000.1 /usr/lib/libgtk-x11-2.0.so or is that not allowed? If i compile a 32bit programm wih lclproc.pas in the uses class everything looks fine. If i try to run the compiled programm then it sayed: execvp: programm name : Permission denied. if i compile the same programm without lclproc.pas in the uses class everthing works fine, and i could run the programm. Does someone know, what bash command lclproc.pas tryes to use in the initialization ? That error message has nothing to do with bash commands. It usually means that an invalid dynamic linker is used. You can see the specified dynamic linker by looking for the entry containing ld-linux.so in the output of ldd programname (if you don't use any units, then the program won't be linked dynamically and hence you cannot have this problem). Make sure the dynamic linker exists and is for the same architecture as the program itself. In case you solved the 32 bit compilation problem by changing some symlinks or copying some files, then that is probably the reason for this problem. i have to look into that. with ldd ./lazarus it also sayed Permission denied. i will look if i find something with a wrong dynamic linker. thanks so far Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] error compiling lazarus
Hello, here is a upate on my problems with the actual svn version of fpc and lazarus. In 64Bit my fpc has still the problem to compile svn2revisioninc. It rais an exception on the following line: Application := TSvn2RevisionApplication.Create(nil); I think this is a problem with the 64Bit compiler. In 32Bit this problem doesn't exist. But there is an other interesting behaviour. If i compile a 32bit programm wih lclproc.pas in the uses class everything looks fine. If i try to run the compiled programm then it sayed: execvp: programm name : Permission denied. if i compile the same programm without lclproc.pas in the uses class everthing works fine, and i could run the programm. Does someone know, what bash command lclproc.pas tryes to use in the initialization ? thanks best regards Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] error compiling lazarus
On 01/02/11 22:45, Benedikt Schindler wrote: On 01/02/11 20:17, Mark Morgan Lloyd wrote: Mark Morgan Lloyd wrote: i compiled it with the svn version of fpc and of lazarus. still the same error. I've been having problems on one particular machine over the last few days which I suspect are down to inadequate RAM+swap- I think I've only got around 512Mb total. This was on a SPARC/Linux system, it's not the same as the slow Solaris compilation I've been ranting about. A system with around 512Mb RAM+swap is having problems usually during linkage, while one with around 768Mb RAM+swap is OK. I don't think i have a RAM problem. I am running this on a Intel(R) Core(TM)2 Duo CPU T9900 @ 3.06GHz 8GB RAM ppcx64 i can reproduce the error with this little programm. The programm still prints the test1 and test2. And when he tryes to set the var Application it crashed in Line47. [programm listing] today i tested the 32bit version. same error. i am using: OpenSuSe 11.3 latest online updates installed i tried to compile with fpc-2.4.2-1 32Bit and 64Bit so far it sounds like i am the only one who experienced this error. i will make some more tests to see if i could get more details on that error. have a nice day Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] error compiling lazarus
I was wrong. It is not the same error with 32Bit. I didn't make sure that he recompiles the svn2revisioninc. In 32Bit i get a linking problem on crti.o. But i have the package installed and the 32Bit crti.o is pressent in /usr/lib/. linux-t613:/# ls /usr/lib/crt* /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.o Also the i386 section in /etc/fpc.conf is set correctly And -Fl/usr/lib/ also shows up in the compiler line. But it still didn't get found. Target OS: Linux for i386 Compiling svn2revisioninc.pas Assembling svn2revisioninc Linking ./svn2revisioninc /usr/bin/ld: warning: ./link.res contains output sections; did you forget -T? /usr/bin/ld: skipping incompatible /usr/lib64/crti.o when searching for /usr/lib64/crti.o /usr/bin/ld: cannot find /usr/lib64/crti.o Error: Error while linking Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted has someone an idea what i could do to try if the 32bit version would work on my computer? best regards Benedikt On 01/03/11 12:45, Benedikt Schindler wrote: On 01/02/11 22:45, Benedikt Schindler wrote: On 01/02/11 20:17, Mark Morgan Lloyd wrote: Mark Morgan Lloyd wrote: i compiled it with the svn version of fpc and of lazarus. still the same error. I've been having problems on one particular machine over the last few days which I suspect are down to inadequate RAM+swap- I think I've only got around 512Mb total. This was on a SPARC/Linux system, it's not the same as the slow Solaris compilation I've been ranting about. A system with around 512Mb RAM+swap is having problems usually during linkage, while one with around 768Mb RAM+swap is OK. I don't think i have a RAM problem. I am running this on a Intel(R) Core(TM)2 Duo CPU T9900 @ 3.06GHz 8GB RAM ppcx64 i can reproduce the error with this little programm. The programm still prints the test1 and test2. And when he tryes to set the var Application it crashed in Line47. [programm listing] today i tested the 32bit version. same error. i am using: OpenSuSe 11.3 latest online updates installed i tried to compile with fpc-2.4.2-1 32Bit and 64Bit so far it sounds like i am the only one who experienced this error. i will make some more tests to see if i could get more details on that error. have a nice day Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] error compiling lazarus
hello, when i try to compile lazarus i get following error: Free Pascal Compiler version 2.5.1 [2011/01/02] for x86_64 Copyright (c) 1993-2010 by Florian Klaempfl Note: Switching assembler to default source writing assembler Target OS: Linux for x86-64 Compiling lazcontrols.pas Compiling dividerbevel.pas Assembling dividerbevel Compiling extendednotebook.pas Assembling extendednotebook Assembling lazcontrols 688 lines compiled, 0.3 sec 4 hint(s) issued 1 note(s) issued /bin/cp -fp Makefile.compiled lib/x86_64-linux/LazControls.compiled make[2]: Leaving directory `/opt/lazarus/components/lazcontrols' make[1]: Leaving directory `/opt/lazarus/components' make -C ide ide make[1]: Entering directory `/opt/lazarus/ide' ../tools/svn2revisioninc .. revision.inc An unhandled exception occurred at $004935D1 : EAccessViolation : Access violation $004935D1 line 2087 of lclproc.pas $004A0189 line 4724 of lclproc.pas $0043ADB6 line 794 of ../inc/system.inc make[1]: *** [revisioninc] Error 217 make[1]: Leaving directory `/opt/lazarus/ide' make: *** [ide] Error 2 i get the same error when i try to start the tool by hand. linux-t613:/opt/lazarus/tools # ./svn2revisioninc An unhandled exception occurred at $004935D1 : EAccessViolation : Access violation $004935D1 line 2087 of lclproc.pas $004A0189 line 4724 of lclproc.pas $0043ADB6 line 794 of ../inc/system.inc has anyone an idea what this could be? greatings Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] error compiling lazarus
On 01/02/11 17:09, Paul Ishenin wrote: 02.01.2011 22:57, Benedikt Schindler wrote: hello, when i try to compile lazarus i get following error: [compiler crash] has anyone an idea what this could be? If the compiler version is from older than today please try to update and rebuild the compiler. Best regards, Paul Ishenin i compiled it with the svn version of fpc and of lazarus. still the same error. best regards, Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] error compiling lazarus
On 01/02/11 20:17, Mark Morgan Lloyd wrote: Mark Morgan Lloyd wrote: i compiled it with the svn version of fpc and of lazarus. still the same error. I've been having problems on one particular machine over the last few days which I suspect are down to inadequate RAM+swap- I think I've only got around 512Mb total. This was on a SPARC/Linux system, it's not the same as the slow Solaris compilation I've been ranting about. A system with around 512Mb RAM+swap is having problems usually during linkage, while one with around 768Mb RAM+swap is OK. I don't think i have a RAM problem. I am running this on a Intel(R) Core(TM)2 Duo CPU T9900 @ 3.06GHz 8GB RAM ppcx64 i can reproduce the error with this little programm. The programm still prints the test1 and test2. And when he tryes to set the var Application it crashed in Line47. test svn2revisioninc.pas program Svn2RevisionInc; {$mode objfpc}{$H+} uses Classes, CustApp; type { TSvn2RevisionApplication } TSvn2RevisionApplication = class(TCustomApplication) private test : string; public constructor Create(TheOwner: TComponent); override; destructor Destroy; override; procedure Run; end; var Application: TSvn2RevisionApplication = nil; constructor TSvn2RevisionApplication.Create(TheOwner: TComponent); begin inherited Create(TheOwner); test := 'test1'; writeln(test); test := 'test2'; writeln(test); end; destructor TSvn2RevisionApplication.Destroy; begin inherited Destroy; end; procedure TSvn2RevisionApplication.Run; begin exit; end; begin Application := TSvn2RevisionApplication.Create(nil); Application.Run; Application.Free; end. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can variables be declared within a block?
I just want to create shorter variables like si := StringList.NameOfIndex(TableName.FieldByName('').AsString); ae := xxx; so:= yyy to express complicated logic with them. When I put them all at the top of the procedure, they are extra noise, which is not necessary for the understanding the purpose at the top level of the procedure. I don't see the great extra noise of a procedure SomeProc([someVars : Type]); var [somevars : type;] si,ae,so : double; // temp vars for easy math; begin [...] end; and i think the easy answer is: No you could't, because in pascal you have to declare the vars in the beginning of a procedure. or: No because this is pascal and not C or: why couldn't i use spanish in my english? :) *just kidding* have all a nice day. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: Multi-threaded project with few locks (no Thread.waitfor). Memory consumption keeps increasing on Ubuntu 10.10 x64
- FreeOnTerminate should be gone, (meaning no way to actively call TThread.Destroy from another thread, a thread gets destroyed automatically when it leaves its execute method) (IIRC FreeOnTerminate was even set to False by the default constructor, so you had the choice of either using the default or introducing a race condition by setting it after the inherited Create - which starts the execute.) This problem has been solved with http://bugs.freepascal.org/view.php?id=16884 Jonas___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal i don't agree with always FreeOnTerminate. I have many prgramms that want to know the last status of the thread before they free it. But i think also the bug report you are linking to, shouldn't be a fpc bug. It is more a programmer bug. As programmer i have to know at which time i call the create methode of my TThread. So the correct programming would be: constructor TAThread.SomeCreate(aSuspended : boolean); begin [... do my things here ...] inherited create(aSuspended); end; or constructor TAThread.SomeCreate(aSuspended : boolean); begin inherited create(True); [... do my things here ...] if not aSuspended then Resume; end; I don't think fpc should slow down the thread creating, just to resolve problems of not good thread programming of the fpc users. When someone starts to programm threads, he has to know what he is doing. cu all Beni ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Events doesn't work in .lpr ?
Hi, i wrote a short test programm, to find out how to use the lnet unit. And now i got some strange compiler messages. (FPC 2.2.2 for i386.) The source Code is very short. So i just atached the hole cource code. i got 2 compiler messsages and i think they are directly connected. Here they are: SCServer.lpr(46,43) Error: Wrong number of parameters specified for call to DoOnReciveCommand SCServer.lpr(33,21) Hint: Found declaration: TSCServer.DoOnReciveCommand(TLSocket) Now my question: Why does it say Found declaration DoOnReciveCommand? I mean it is declared 4 lines earlier. where is the difference to the procedure DoRun ? I think the error is result of the hint. for all who don't know the lnet unit. in this unit there is this event declaration : { Callback Event procedure for others } TLSocketEvent = procedure(aSocket: TLSocket) of object; any ideas, why there is the hint or the error? greatings Benedikt [SourceCode SCServer.lpr] program SCServer; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes, SysUtils, CustApp, lnet { you can add units after this }; type { TSCServer } TSCServer = class(TCustomApplication) private TCPServer : TLTcp; TCPPort : integer; TCPIp : string; protected procedure DoRun; override; public constructor Create(TheOwner: TComponent); override; destructor Destroy; override; procedure DoOnReciveCommand(aSocket: TLSocket); end; { TSCServer } procedure TSCServer.DoOnReciveCommand(aSocket: TLSocket); var test : string; begin aSocket.GetMessage(test); WriteLn(test); end; procedure TSCServer.DoRun; begin { add your program here } // open TCP Server TCPServer.OnReceive := DoOnReciveCommand; TCPServer.Listen(TCPPort,TCPIp); // Der TCP Server ist Event gesteuert. // wir können uns deswegen nun komplett auf die // höhensteuerung konzentrieren. // stop program loop Terminate; end; constructor TSCServer.Create(TheOwner: TComponent); begin inherited Create(TheOwner); TCPServer := TLTcp.Create(nil); TCPPort := 23; TCPIp := LADDR_ANY; end; destructor TSCServer.Destroy; begin TCPServer.Free; inherited Destroy; end; var Application: TSCServer; begin Application:=TSCServer.Create(nil); Application.Title:='SCServer'; Application.Run; Application.Free; end. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Events doesn't work in .lpr ?
I mean it is declared 4 lines earlier. where is the difference to the procedure DoRun ? The problem is that you are using Delphi/TP-style procvar syntax in source code compiled {$mode objfpc}. Either add @ in front of DoOnReciveCommand when assigning it to DoRun, or change {$mode objfpc} into {$mode delphi}. thx. i thought of a problem like that, and changed my compiler default to delphi. But i forget that there is a compiler directive in line 2 that just switched it back to objfpc. thx again Benedikt ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] wiki server - dead?
Is it just me, or is the wiki.freepascal.org server down? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] now i have a very strange behaviour of my arm compiler
THX ! Now all my problems just walked away. What a bugfix for the compiler could do :) My first test programm is now running without problems on the Openmoko Freerunner device. @all: thx for the helping in the last 3 weeks. Beni Benedikt Schindler schrieb: my last svn update was 13 days ago. I update my sources and recompile everything. (That will need some time) i give you a status update later. Beni Jonas Maebe schrieb: On 28 Apr 2009, at 13:48, Benedikt Schindler wrote: [...] All of your workarounds have one thing in common: they cause an extra stack slot to be allocated (either via a local variable, or via an implicit temporary location allocated by the compiler), thereby changing the stack alignment by 4 bytes. Have your tried using the latest 2.3.1 compiler from svn? I fixed the stack alignment bugs on ARM in r13030 (on eabi, you need a stack alignment of 8 bytes, while the compiler only guaranteed 4). Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] now i have a very strange behaviour of my arm compiler
Hi, i still try to get a gtk applicatoins running on my device. And now i have found a work around for one error message. But in reality it's not a work around. It's a: i didn't realy change anything, but it works now If i delete the changes again, the error raises again. So maybe someone of you have an idea where the real problem is. Original File doesn't work. Error message is: (process:24386): GLib-WARNING (recursed) **: gmessages.c:387: could not find handler with id `0' for domain aborting... - This one works: - --- /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc.orig Tue Apr 28 10:24:19 2009 +++ /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc Tue Apr 28 10:31:57 2009 @@ -302,7 +302,12 @@ inc(i); end; end; +var + index : integer; begin + //delme: just some output for debugging + for index := 0 to argc -1 do writeln(argv[index]); + // init gtk gtk_init(@argc,@argv); UseTransientForModalWindows:=not SearchOption('--lcl-no-transient',true); end; -- Also this one works: -- --- /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc.orig Tue Apr 28 10:24:19 2009 +++ /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc Tue Apr 28 10:47:25 2009 @@ -302,6 +302,8 @@ inc(i); end; end; +var + index : integer; begin gtk_init(@argc,@argv); UseTransientForModalWindows:=not SearchOption('--lcl-no-transient',true); -- and even this one works: -- --- /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc.orig Tue Apr 28 10:24:19 2009 +++ /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc Tue Apr 28 11:06:16 2009 @@ -303,6 +303,7 @@ end; end; begin + writeln(argv[0]); gtk_init(@argc,@argv); UseTransientForModalWindows:=not SearchOption('--lcl-no-transient',true); end; -- if i delete the variable declaration (or the writeln), i have the error again. Error raises at: gtk_init(@argc,@argv); Backtrace - Starting program: /opt/test/om_test_suite Program received signal SIGILL, Illegal instruction. FPC_CPUCODEINIT () at /media/mmcblk0p3/fpc/rtl/arm/arm.inc:596 596 ldrd r0,[r0] Current language: auto; currently pascal (gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. 0x49534e40 in ?? () (gdb) bt #0 0x49534e40 in ?? () #1 0x49534e40 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) cont Continuing. (process:24386): GLib-WARNING (recursed) **: gmessages.c:387: could not find handler with id `0' for domain aborting... Program received signal SIGABRT, Aborted. 0x406d8df4 in raise () from /lib/libc.so.6 (gdb) bt #0 0x406d8df4 in raise () from /lib/libc.so.6 #1 0x406da3fc in abort () from /lib/libc.so.6 Backtrace stopped: frame did not save the PC (gdb) cont Continuing. Program terminated with signal SIGABRT, Aborted. The program no longer exists. (gdb) quit ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] now i have a very strange behaviour of my arm compiler
my last svn update was 13 days ago. I update my sources and recompile everything. (That will need some time) i give you a status update later. Beni Jonas Maebe schrieb: On 28 Apr 2009, at 13:48, Benedikt Schindler wrote: [...] All of your workarounds have one thing in common: they cause an extra stack slot to be allocated (either via a local variable, or via an implicit temporary location allocated by the compiler), thereby changing the stack alignment by 4 bytes. Have your tried using the latest 2.3.1 compiler from svn? I fixed the stack alignment bugs on ARM in r13030 (on eabi, you need a stack alignment of 8 bytes, while the compiler only guaranteed 4). Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
i recompiled the hole fpc with the option -gl and the patch Paul Ishenin mentioned. there is still a problem with programms, that wonna use windows. console prorgamms just work fine. if i try to run a lazarus programm i get this backtrace. --- (gdb) run gdb om_test_suite Starting program: /opt/test/om_test_suite gdb om_test_suite Program received signal SIGILL, Illegal instruction. FPC_CPUCODEINIT () at /media/mmcblk0p3/fpc/rtl/arm/arm.inc:596 596 ldrd r0,[r0] Current language: auto; currently pascal (gdb) bt #0 FPC_CPUCODEINIT () at /media/mmcblk0p3/fpc/rtl/arm/arm.inc:596 #1 0x00038f30 in SYSTEM_init () at system.pp:325 #2 0x00031a50 in fpc_initializeunits () at /media/mmcblk0p3/fpc/rtl/inc/system.inc:766 #3 0x00019a8c in main () at om_test_suite.lpr:13 (gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. 0x49534e40 in ?? () (gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. 0x4052d860 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 (gdb) bt #0 0x4052d860 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #1 0x0015ada0 in TGTK2WIDGETSET__DESTROY (vmt=0x, this=0x40b8e020) at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk2/gtk2widgetset.inc:551 #2 0x0015ad04 in TGTK2WIDGETSET__CREATE (vmt=0x205fc8, this=0x40b8e020) at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk2/gtk2widgetset.inc:547 #3 0x0003b164 in CREATEWIDGETSET (AWIDGETSETCLASS=incomplete type) at /media/mmcblk0p3/lazarus/lcl/forms.pp:1706 #4 0x0003a8a0 in INTERFACES_init () at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk2/interfaces.pas:39 #5 0x00031a50 in fpc_initializeunits () at /media/mmcblk0p3/fpc/rtl/inc/system.inc:766 #6 0x00019a8c in main () at om_test_suite.lpr:13 (gdb) cont Continuing. [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $4052D860 $0015AD04 $0003B164 $0003A8A0 $00031A50 $00019A8C TApplication.HandleException Access violation Stack trace: $4052D860 $0015AD04 $0003B164 $0003A8A0 $00031A50 $00019A8C Program received signal SIGSEGV, Segmentation fault. 0x000987f8 in GETCAPTURE () at /media/mmcblk0p3/lazarus/lcl/include/winapi.inc:315 315 Result := WidgetSet.GetCapture; (gdb) bt #0 0x000987f8 in GETCAPTURE () at /media/mmcblk0p3/lazarus/lcl/include/winapi.inc:315 #1 0x00049d5c in TAPPLICATION__HANDLEEXCEPTION (SENDER=0x40b663e0, this=0x40b7e020) at /media/mmcblk0p3/lazarus/lcl/include/application.inc:1059 #2 0x0003ab10 in EXCEPTIONOCCURRED (SENDER=0x40b663e0, ADDR=0x4052d860, FRAMECOUNT=5, FRAMES=0x40b6e340) at /media/mmcblk0p3/lazarus/lcl/forms.pp:1531 #3 0x00030080 in DOUNHANDLEDEXCEPTION () at /media/mmcblk0p3/fpc/rtl/inc/except.inc:172 #4 0x00030170 in fpc_raiseexception (OBJ=0x40b663e0, ANADDR=0x4052d860, AFRAME=0x3a1cb18) at /media/mmcblk0p3/fpc/rtl/inc/except.inc:199 #5 0x00079048 in RUNERRORTOEXCEPT (ERRNO=216, ADDRESS=0x4052d860, FRAME=0x3a1cb18) at /media/mmcblk0p3/fpc/rtl/objpas/sysutils/sysutils.inc:338 #6 0x00031f70 in HANDLEERRORADDRFRAME (ERRNO=216, ADDR=0x4052d860, FRAME=0x3a1cb18) at /media/mmcblk0p3/fpc/rtl/inc/system.inc:910 #7 0x00038ab0 in SIGNALTORUNERROR (SIG=11, SIGCONTEXT=0x3a1c750, UCONTEXT=0x3a1c7d0) at ./arm/sighnd.inc:48 #8 0x0001faf4 in LINUX_RESTORE () at ossysc.inc:248 Backtrace stopped: frame did not save the PC (gdb) cont Continuing. [FORMS.PP] ExceptionOccurred Program exited normally. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
i now use this destructor: -- destructor TGtk2WidgetSet.Destroy; begin if assigned(im_context) then g_object_unref(im_context); im_context:=nil; im_context_widget:=nil; inherited Destroy; end; -- now there is no error for the destructor anymore. But in the create there is still something bad. My error message is now: GLib-WARNING (recursed) **: gmessages.c:387: could not find handler with id `0' for domain The problem raises somewhere in the constructor TGtkWidgetSet.Create. The create constrcutor calls - PassCmdLineOptions; PassCmdLineOptions calls - gtk_init(@argc, @argv) gtk_init(@argc, @argv) raises the error. backtrace dos'nt give very much --- TGtkWidgetSet.Create - pass cmd line args (this is a debug output from me) Program received signal SIGSEGV, Segmentation fault. 0x49534e40 in ?? () (gdb) bt #0 0x49534e40 in ?? () #1 0x49534e40 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) cont Continuing. (process:3040): GLib-WARNING (recursed) **: gmessages.c:387: could not find handler with id `0' for domain aborting... Program received signal SIGABRT, Aborted. 0x406d8df4 in raise () from /lib/libc.so.6 (gdb) bt #0 0x406d8df4 in raise () from /lib/libc.so.6 #1 0x406da3fc in abort () from /lib/libc.so.6 Backtrace stopped: frame did not save the PC - when i try to access argc it gives me the value 1 when i try to access argv i have some problems but it thems it is something like: 0:FVfs~ d4 @ PuTTYX v41./om_test_suiteTSLIB_TSDEVICE=/dev/input/touchscreen0USER if try to string(argv) i get this error: (what is the right way to access an PPChar ?) -- Program received signal SIGSEGV, Segmentation fault. MOVE_BLENDED (SOURCE=Cannot access memory at address 0x3c46000 ) at /media/mmcblk0p3/fpc/rtl/arm/arm.inc:282 282 ldr r3,[r0],#4 PuTTY(gdb) bt #0 MOVE_BLENDED (SOURCE=Cannot access memory at address 0x3c46000 ) at /media/mmcblk0p3/fpc/rtl/arm/arm.inc:282 #1 0x00036de8 in FPC_WRITEBUFFER (F= {HANDLE = 1, MODE = 55218, RECSIZE = 256, _PRIVATE = #0 repeats 12 times, '▒P#'#0'▒d'#3#0'▒c'#3#0'▒c'#3#0#148'b'#3, USERDATA = #0 repeats 15 times, NAME = #0 repeats 255 times}, B=void, LEN=63200244) at /media/mmcblk0p3/fpc/rtl/inc/text.inc:470 #2 0x00037370 in fpc_write_text_ansistr (LEN=0, F= {HANDLE = 1, MODE = 55218, RECSIZE = 256, _PRIVATE = #0 repeats 12 times, '▒P#'#0'▒d'#3#0'▒c'#3#0'▒c'#3#0#148'b'#3, USERDATA = #0 repeats 15 times, NAME = #0 repeats 255 times}, S=0x3c45df4 '▒^▒'#3'▒^▒'#3) at /media/mmcblk0p3/fpc/rtl/inc/text.inc:612 #3 0x00173380 in TGTKWIDGETSET__CREATE (vmt=0x0, this=0x40b8e020) at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk/gtkwidgetset.inc:229 #4 0x0015ae20 in TGTK2WIDGETSET__CREATE (vmt=0x2062e0, this=0x40b8e020) at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk2/gtk2widgetset.inc:543 #5 0x0003b2f0 in CREATEWIDGETSET (AWIDGETSETCLASS=incomplete type) at /media/mmcblk0p3/lazarus/lcl/forms.pp:1706 #6 0x0003aa2c in INTERFACES_init () at /media/mmcblk0p3/lazarus/lcl/interfaces/gtk2/interfaces.pas:39 #7 0x00031a50 in fpc_initializeunits () at /media/mmcblk0p3/fpc/rtl/inc/system.inc:766 #8 0x00019a8c in main () at om_test_suite.lpr:13 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Difference between initialization and begin in a unit
Unit B should just work if it is named Programm B In a Unit there didn't just exist a begin. (as far as i know my programms :) ) The initialization section is called when the unit is linked the first time into the programm by a uses class. so it is called before everithing else is going on, even before the normal programm ever did a single step. The initialization section is good for Units that you write, without knowing the programm where it is used in. So you could initialize some variables or objects, and you don't need the programmer of the programm who uses your Unit. (It is also good if you are the programmer who uses the unit. Because everything what is needed for the Unit stays in that Unit.) unit A; interface type Tsomething = class(TObject) ... public procedure Hello; end; var something : TSomething; ProgrammDir : string; implementation initialization something := Tsomething.create(); ProgrammDir := Application.Params[0]; finalization something.free; end. no everyone who uses the Unit A could just use something.hello without creating the object. (because the object just exists from the beginning.) Beni btw: i shouldn't post when i am drunk :) leledumbo schrieb: Might be a stupid question, but it's nowhere mentioned in the documentation though allowed. What are the differences between: unit A; interface implementation initialization initialization code end. and: unit B; interface implementation begin initialization code end. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
Hi, i try to compile lazarus and i get a make[2]: *** [lazarus] Killed. there is no more information about what error raised. In dmesg i just get : [495850.88] select 1 (init), adj 0, size 61, to kill [495850.88] select 8544 (dropbear), adj 0, size 109, to kill [495850.88] select 9359 (ppcarm), adj 0, size 18768, to kill [495850.88] send sigkill to 9359 (ppcarm), adj 0, size 18768 i compiled with this command: 'make clean all PP=ppcarm OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI ' any ideas what it could be? i don't need the hole ide. It would be enough if i could use ./lazbuild to compile projects. (or just: ppcarm) is it enough to have lcl/units/arm-linux and lcl/units/arm-linux/gtk2 or do i need more units to compile gtk projects? it looks like these units are all compiled. (so do i need more? or should it be enough.) thx Beni btw: - yes i tried different versions of lazarus - yes there is enough memory - no hd is not full - ../tools/svn2revisioninc .. revision.inc make --assume-new=lazarus.pp lazarus grep: /etc/ld.so.conf: No such file or directory make[2]: Entering directory `/media/mmcblk0p3/lazarus/ide' ppcarm -gl -dlclgtk2 -Fu../lcl/units/arm-linux -Fu../lcl/units/arm-linux/gtk2 -Fu../components/codetools/units/arm-linux -Fu../components/synedit/units/arm-linux -Fu../components/custom -Fu../components/mpaslex -Fu../ideintf/units/arm-linux -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../packager/units/arm-linux -Fu../units/arm-linux -Fuframes -Fu. -Fiinclude -Fiinclude/linux -Fi../images -FE.. -FU../units/arm-linux -Fl/usr/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2 -darm lazarus.pp Free Pascal Compiler version 2.3.1 [2009/04/07] for arm Copyright (c) 1993-2009 by Florian Klaempfl Target OS: Linux for ARMEL Compiling lazarus.pp Compiling splash.pp Compiling aboutfrm.pas Compiling lazconf.pp Assembling lazconf Compiling lazarusidestrconsts.pas Writing Resource String Table file: lazarusidestrconsts.rst Assembling lazarusidestrconsts make[2]: *** [lazarus] Killed make[2]: Leaving directory `/media/mmcblk0p3/lazarus/ide' make[1]: *** [ide] Error 2 make[1]: Leaving directory `/media/mmcblk0p3/lazarus/ide' make: *** [ide] Error 2 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
i now tried to compile a project with the lcl/units/arm-linux/gtk2 units. compiling worked without errors. when i try to start the programm i get an error. maybe this and the compiling lazarus error is the same problem? [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $4052D860 $00158AAC $00039178 $000388B4 $00031A1C $00019A8C TApplication.HandleException Access violation Stack trace: $4052D860 $00158AAC $00039178 $000388B4 $00031A1C $00019A8C [FORMS.PP] ExceptionOccurred Benedikt Schindler schrieb: Hi, i try to compile lazarus and i get a make[2]: *** [lazarus] Killed. there is no more information about what error raised. In dmesg i just get : [495850.88] select 1 (init), adj 0, size 61, to kill [495850.88] select 8544 (dropbear), adj 0, size 109, to kill [495850.88] select 9359 (ppcarm), adj 0, size 18768, to kill [495850.88] send sigkill to 9359 (ppcarm), adj 0, size 18768 i compiled with this command: 'make clean all PP=ppcarm OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI ' any ideas what it could be? i don't need the hole ide. It would be enough if i could use ./lazbuild to compile projects. (or just: ppcarm) is it enough to have lcl/units/arm-linux and lcl/units/arm-linux/gtk2 or do i need more units to compile gtk projects? it looks like these units are all compiled. (so do i need more? or should it be enough.) thx Beni btw: - yes i tried different versions of lazarus - yes there is enough memory - no hd is not full - ../tools/svn2revisioninc .. revision.inc make --assume-new=lazarus.pp lazarus grep: /etc/ld.so.conf: No such file or directory make[2]: Entering directory `/media/mmcblk0p3/lazarus/ide' ppcarm -gl -dlclgtk2 -Fu../lcl/units/arm-linux -Fu../lcl/units/arm-linux/gtk2 -Fu../components/codetools/units/arm-linux -Fu../components/synedit/units/arm-linux -Fu../components/custom -Fu../components/mpaslex -Fu../ideintf/units/arm-linux -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../packager/units/arm-linux -Fu../units/arm-linux -Fuframes -Fu. -Fiinclude -Fiinclude/linux -Fi../images -FE.. -FU../units/arm-linux -Fl/usr/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2 -darm lazarus.pp Free Pascal Compiler version 2.3.1 [2009/04/07] for arm Copyright (c) 1993-2009 by Florian Klaempfl Target OS: Linux for ARMEL Compiling lazarus.pp Compiling splash.pp Compiling aboutfrm.pas Compiling lazconf.pp Assembling lazconf Compiling lazarusidestrconsts.pas Writing Resource String Table file: lazarusidestrconsts.rst Assembling lazarusidestrconsts make[2]: *** [lazarus] Killed make[2]: Leaving directory `/media/mmcblk0p3/lazarus/ide' make[1]: *** [ide] Error 2 make[1]: Leaving directory `/media/mmcblk0p3/lazarus/ide' make: *** [ide] Error 2 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
i got 128MB of RAM and i have a swap file of 250MB. compiling the projects manually works fine. no error from the compiler. That would be all i need, but still the compiled programm don't run. I will now try the patch Paul Ishenin told me. Beni Henry Vermaak schrieb: 2009/4/15 Benedikt Schindler benischind...@gmx.de: - yes there is enough memory how much have you got? i got a crash the other day trying to make another locale by running localedef, and that was on 64MB of memory. had to make a swapfile for it to work. try and compile your projects manually, without compiling the lcl first. something like this (you'll have to change the options): #!/bin/bash LAZ=/home/hcv/lazarus LCL=$LAZ/lcl UNIT_OPTS=-dlcl -dgtk2 -dlclgtk2 \ -Fu$LCL -Fu$LCL/interfaces/gtk2 -Fu$LCL/interfaces/gtk -Fu$LCL/widgetset \ -Fi$LCL/include -Fi$LCL/interfaces/gtk -Fi$LCL/interfaces/gtk2 -Fi. \ -FUbuild /usr/lib/fpc/2.3.1/ppc386 -B -O2 -CX -XX -Xs $UNIT_OPTS blank.lpr and you should probably use -gl for the backtrace to be of any use. henry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] could not compile lazarus make[2]: *** [lazarus] Killed
Backtrace of a programm with just an empty window. programm was compiled with -O- -dFPC_ARMEL -dFPC_ABI_EABI -gl Program received signal SIGILL, Illegal instruction. 0x0002057c in SYSTEM_FPC_CPUCODEINIT () (gdb) bt #0 0x0002057c in SYSTEM_FPC_CPUCODEINIT () #1 0x000390ac in SYSTEM_init () #2 0x00031a50 in fpc_initializeunits () #3 0x00019a8c in main () at om_test_suite.lpr:13 (gdb) cont Program received signal SIGSEGV, Segmentation fault. 0x49534e40 in ?? () (gdb) bt #0 0x49534e40 in ?? () #1 0x49534e40 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) cont Program received signal SIGSEGV, Segmentation fault. 0x4052d860 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 (gdb) bt #0 0x4052d860 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #1 0x0015acb0 in GTK2INT_TGTK2WIDGETSET_$__DESTROY () #2 0x0015ac14 in GTK2INT_TGTK2WIDGETSET_$__CREATE$$TGTK2WIDGETSET () #3 0x0003b2e0 in FORMS_CREATEWIDGETSET$TWIDGETSETCLASS () #4 0x0003aa1c in INTERFACES_init () #5 0x00031a50 in fpc_initializeunits () #6 0x00019a8c in main () at om_test_suite.lpr:13 (gdb) cont [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $4052D860 $0015AC14 $0003B2E0 $0003AA1C $00031A50 $00019A8C TApplication.HandleException Access violation Stack trace: $4052D860 $0015AC14 $0003B2E0 $0003AA1C $00031A50 $00019A8C Program received signal SIGSEGV, Segmentation fault. 0x00098948 in LCLINTF_GETCAPTURE$$HWND () (gdb) bt #0 0x00098948 in LCLINTF_GETCAPTURE$$HWND () #1 0x00049ed8 in FORMS_TAPPLICATION_$__HANDLEEXCEPTION$TOBJECT () #2 0x0003ac8c in FORMS_EXCEPTIONOCCURRED$TOBJECT$POINTER$LONGINT$PPOINTER () #3 0x00030080 in SYSTEM_DOUNHANDLEDEXCEPTION () #4 0x00030170 in fpc_raiseexception () #5 0x000791b0 in SYSUTILS_RUNERRORTOEXCEPT$LONGINT$POINTER$POINTER () #6 0x00031f70 in SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER () #7 0x00038c2c in SYSTEM_SIGNALTORUNERROR$LONGINT$PSIGINFO$PUCONTEXT () #8 0x0001faf4 in SYSTEM_LINUX_RESTORE () Backtrace stopped: frame did not save the PC (gdb) cont Continuing. [FORMS.PP] ExceptionOccurred Program exited normally. Henry Vermaak schrieb: l now try the patch Paul Ishenin told me. can you get a backtrace if you compile with -gl? henry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
FPC is now runing on the Freerunner (was: Re: [fpc-pascal] EABI problems with FPC)
hi, i don't know if you still wonna install a full fpc on your freerunner. but if it is so, you could download a working version from this place : http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319.tar.gz (all files in a subdirectory called fpc-2.3.x-arm ) http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319-nodir.tar.gz (all files without subdirectory for installing in /usr/local/) cu Beni --- installattion in /usr/locoal cd /usr/local wget http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319-nodir.tar.gz tar -xvzf fpc-2.3.x-arm-20090319-nodir.tar.gz ln -s /usr/local/lib/fpc/2.3.1/ppcarm /usr/local/bin/ppcarm /usr/local/lib/fpc/2.3.1/samplecfg /usr/local/lib/fpc/2.3.1 /etc --- Installation in subfolder /usr/local/fpc-2.3.x-arm/ cd /usr/local wget http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319.tar.gz tar -xvzf fpc-2.3.x-arm-20090319.tar.gz ln -s /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1/ppcarm /usr/local/bin/ppcarm /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1/samplecfg /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1 /etc ik schrieb: Interesting ! I'll work on it later. On 2008.12 I do have /etc/ld.so.conf, it loads the files under /etc/ld.so.conf.d/ Ido [...] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Re: FPC is now runing on the Freerunner
I crosssompiled it with the options i wrote in my previous mail. make clean all OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/opt/crossbinutils/bin/arm4tl-unknown-linux- OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI CROSSOPT=-dFPC_ARMEL -O- FPC=/usr/bin/ppc386 NOGDB=1 After that , the ppcarm is working. But if you try to compile a helloworld.pas; you get your well known eabi-Error message. So i used the working ppcarm to compile the whole FPC on the freerunner. (It just needs 2hours ;) ) But now i didn't need the crosscompile params, so i just used these options: make clean all OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI FPC=/opt/crosscompiledppcarm now we have a working version, but the make install fails. (output : ./install : Error permission denied ) So i copied all compiled data back on my i386 computer. i copied from the previous crosscompiling the ppcrossarm into the fpcsrc/compiler/ directory. And run the installation routine on the i386 machine. make install PP=/opt/armlinux/fpcbuild/fpcsrc/compiler/ppcrossarm PREFIX=/usr/local/fpc-2.3.x-arm OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/opt/crossbinutils/bin/arm4tl-unknown-linux- OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI CROSSOPT=-dFPC_ARMEL -O- NOGDB=1 now we have a small folder we could just push back on the freerunner. (thats where the tar-files are comming in ) after that, we just need the final configuration steps. and here we are, we could compile our heloworld.pas that means, if you confirm that it also works by you Beni ik schrieb: Great ! How exactly did you build FPC ? Is the exactly like the last instruction that you made, or you have changed something (or changed something in the source code) ? Thanks Ido On Wed, Apr 8, 2009 at 3:37 PM, Benedikt Schindler benischind...@gmx.de mailto:benischind...@gmx.de wrote: hi, i don't know if you still wonna install a full fpc on your freerunner. but if it is so, you could download a working version from this place : http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319.tar.gz (all files in a subdirectory called fpc-2.3.x-arm ) http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319-nodir.tar.gz (all files without subdirectory for installing in /usr/local/) cu Beni --- installattion in /usr/locoal cd /usr/local wget http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319-nodir.tar.gz tar -xvzf fpc-2.3.x-arm-20090319-nodir.tar.gz ln -s /usr/local/lib/fpc/2.3.1/ppcarm /usr/local/bin/ppcarm /usr/local/lib/fpc/2.3.1/samplecfg /usr/local/lib/fpc/2.3.1 /etc --- Installation in subfolder /usr/local/fpc-2.3.x-arm/ cd /usr/local wget http://www.my-distribution.org/files/fpc-2.3.x-arm-20090319.tar.gz tar -xvzf fpc-2.3.x-arm-20090319.tar.gz ln -s /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1/ppcarm /usr/local/bin/ppcarm /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1/samplecfg /usr/local/fpc-2.3.x-arm/lib/fpc/2.3.1 /etc [...] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] compiling lazarus : custombitmap.inc(293, 49) Error: absolute can only be associated with a var or const
Hi, when i try to compile lazarus i get a error message absolute can only be associated with a var or const did someone have an idea why this happens? do i have to be in a special Pascal language mode, to compile lazarus? # Pascal language mode # -Mfpc free pascal dialect (default) # -Mobjfpc switch some Delphi 2 extensions on # -Mdelphi tries to be Delphi compatible # -Mtp tries to be TP/BP 7.0 compatible # -Mgpc tries to be gpc compatible # -Mmacpas tries to be compatible to the macintosh pascal dialects greatings Beni output: Compiling graphics.pp Compiling intfgraphics.pas Compiling lclintf.pas Compiling interfacebase.pp Compiling lmessages.pp Assembling lmessages Compiling themes.pas Compiling tmschema.pas Assembling tmschema Compiling comctrls.pp Compiling lresources.pp Compiling lazconfigstorage.pas Assembling lazconfigstorage Assembling lresources Compiling lclintf.pas Compiling interfacebase.pp Assembling interfacebase Assembling lclintf Compiling imglist.pp Compiling graphics.pp Compiling intfgraphics.pas Compiling icnstypes.pas Assembling icnstypes Compiling graphics.pp custombitmap.inc(293,49) Error: absolute can only be associated with a var or const custombitmap.inc(302,8) Warning: Local variable SCB does not seem to be initialized fpimagebitmap.inc(108,49) Error: absolute can only be associated with a var or const graphics.pp(2482) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] EABI problems with FPC (fyi)
fyi: when i build the fpc sources i get a error message (see below). The make process tries to use an old not functional data2inc programm. Why didn't the make process use the new compiled one? I deleted all old bin files and restarted the compiler. (i hope he take the new data2inc programm now) it stopped with errors the data2inc programm seems to be build not early enough. i copyed corsscompiled data2inc, etc. programms on my device. is started the compiling again. i could tell you more in a few hours. Beni /media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler/ppcarm -Ur -Xs -O2 -n -vwni -Fu.. -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/rtl/units/arm-linux -FE. -FUunits/arm-linux -dFPC_ARMEL -O- -dFPC_ABI_EABI -darm -dRELEASE fpcsubst.pp Target OS: Linux for ARMEL Compiling fpcsubst.pp Compiling usubst.pp usubst.pp(56,5) Note: Local variable I not used Assembling usubst Writing Resource String Table file: fpcsubst.rst Assembling fpcsubst Linking ./fpcsubst 350 lines compiled, 16.7 sec 1 note(s) issued /usr/local/bin/data2inc -b -s fpinc.cfg fpcfg.inc fpcfg make[5]: *** [fpcfg.inc] Illegal instruction make[5]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler/utils' make[4]: *** [utils_all] Error 2 make[4]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler' make[3]: *** [cycle] Error 2 make[3]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler' make[2]: *** [compiler_cycle] Error 2 make[2]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc' make[1]: *** [build-stamp.arm-linux] Error 2 make[1]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc' make: *** [fpcsrc/build-stamp.arm-linux] Error 2 r...@om-gta02:/media/mmcblk0p3/fpcbuild-2.3.x# Benedikt Schindler schrieb: Hi, i also try to get free pascal running on my freerunner. i needed many tries to get a running ppcarm for my device. (In reality i didn't know why it worked in the last run ... but it did, and so i don't ask :) ) now i let the freerunner recompile the hole fpcbuild. But that could take some time. ... you know how fast our devices are :) i hope that all things will work well after that . i used these compiler options : OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI NOGDB=1 i tell you if it works or not. it could just be hours from now :) Have you cross compiled the hole free pascal or just the ppcarm? you should be able to crosscompile the hello programm by using the crossppcarm compiler on your normal machine. (And don't forget to use -dFPC_ARMEL -O- -dFPC_ABI_EABI.) Beni ik schrieb: On Mon, Apr 6, 2009 at 4:26 PM, Jonas Maebe jonas.ma...@elis.ugent.be mailto:jonas.ma...@elis.ugent.be wrote: On 06 Apr 2009, at 15:15, ik wrote: I tried to create an Hello World program in OpenMoko (after creating arm fpc). When I try to compile it, ld gives the following error message: /usr/bin/ld: ERROR: Source object /usr/lib/fpc/2.3.1/units/arm-linux/rtl/system.o has EABI version 0, but target hello has EABI version 4 See http://bugs.freepascal.org/view.php?id=13454 for some flags you have to use, and a patch that you can try. And note that ARMEL/EABI is very much untested. I can see that, now I have segfult ... Is there a way to do a real cross compile, that is to be in a normal environment and just make the result set to ARM EABI ? And any of you wish, I can give ssh access to my Moko (when it is booted to the microsd) to test FPC on ARM EABI better, or help me understand how to test it myself, and might even fix/add things. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org mailto:fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal Thanks, Ido ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
fpc-2.3.x abbort compiling at gtk2.pas (was : [fpc-pascal] EABI problems with FPC )
Hi, i managed to crosscompile a ppcarm for the openmoko device. then i tried to compile the fpc direct on the device. After a long time where everything looks fine he abborted compiling with an error (see below) any ideas? i also don't know, if it is a problem that my distribution has no /etc/ld.so.conf there are always these lines in the output : grep: /etc/ld.so.conf: No such file or directory thx Beni /media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler/ppcarm -XX -CX -Ur -Xs -O2 -n -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/rtl/units/arm-linux -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/x11/units/arm-linux -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/opengl/units/arm-linux -FE. -FUunits/arm-linux -Fl/usr/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2 -dFPC_ARMEL -O- -dFPC_ABI_EABI -darm -dRELEASE src/gtkgl/gtkglarea.pp make[5]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk1' make[4]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk1' make -C gtk2 smart grep: /etc/ld.so.conf: No such file or directory make[4]: Entering directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk2' make all LINKSMART=1 CREATESMART=1 grep: /etc/ld.so.conf: No such file or directory make[5]: Entering directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk2' /bin/mkdir -p units/arm-linux /media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/compiler/ppcarm -XX -CX -Ur -Xs -O2 -n -Fusrc -Fusrc/glib -Fusrc/atk -Fusrc/pango -Fusrc/gtk+/gdk-pixbuf -Fusrc/gtk+/gdk -Fusrc/gtk+/gtk -Fusrc/libglade -Fusrc/gtkglext -Fusrc/gtkext -Fusrc/gtk2x11 -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/rtl/units/arm-linux -Fu/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/x11/units/arm-linux -Fisrc/gtk2x11/include -FE. -FUunits/arm-linux -Fl/usr/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2 -dFPC_ARMEL -O- -dFPC_ABI_EABI -darm -dRELEASE src/buildgtk2.pp gtk2.pas(165) Error: Can't call the assembler, error -1 switching to external assembling gtk2.pas(165) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted make[5]: *** [src/buildgtk2.ppu] Error 1 make[5]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk2' make[4]: *** [fpc_smart] Error 2 make[4]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages/gtk2' make[3]: *** [gtk2_smart] Error 2 make[3]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc/packages' make[2]: *** [packages_smart] Error 2 make[2]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc' make[1]: *** [build-stamp.arm-linux] Error 2 make[1]: Leaving directory `/media/mmcblk0p3/fpcbuild-2.3.x/fpcsrc' ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] EABI problems with FPC (fyi)
thx. yes it was a plain copy. it also worked with the crosscompiled data2inc programm. Beni Jonas Maebe schrieb: On 07 Apr 2009, at 10:23, Benedikt Schindler wrote: it stopped with errors the data2inc programm seems to be build not early enough. It should simply not be necessary. The fpinc.cfg file in svn is not newer than the fpcfg.inc file, so fpcfg.inc should not be regenerated by the Makefile. Maybe you copied all files using a plain copy operation and fpinc.cfg was copied after fpcfg.inc? If so, you can solve the problem with touch compiler/utils/fpcfg.inc Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] EABI problems with FPC
magic hands ;) ... no, i compiled many many different versions and no one ever worked. working for now is fpcbuild_2.3.x (19.03.2009) binutils : ./configure --prefix=/opt/crossbinutils --target=arm4tl-unknown-linux fpc make : make clean all OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/opt/crossbinutils/bin/arm4tl-unknown-linux- OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI CROSSOPT=-dFPC_ARMEL -O- FPC=/usr/bin/ppc386 NOGDB=1 maybe it is the CROSSOPT option that make it work.. i don't know. But i still have different problems with compiling the whole fpc on the freerunner. cu Beni P.S.: did you have a /etc/ld.so.conf on your device? ik schrieb: It seems to display the help. How did you do that ? Ido On Tue, Apr 7, 2009 at 12:34 PM, Benedikt Schindler benischind...@gmx.de mailto:benischind...@gmx.de wrote: im using a FSO5 image for testing reasons. i don't know if there is a differnce. Could you try to run the ppcarm from the atachment on your freerunner? (ppcarm -h) just to know if my compiled version will run on your freerunner. Beni btw: my freerunner is still compiling the fpcbuild 2.3.x ik schrieb: On Tue, Apr 7, 2009 at 11:32 AM, Benedikt Schindler benischind...@gmx.de mailto:benischind...@gmx.de mailto:benischind...@gmx.de mailto:benischind...@gmx.de wrote: what type of binutils did you use? i use binutils compiled for arm4tl-unknown-linux On OpenMoko I use the default 2008.12 binutils. On my desktop I use the cross compile gcc arm support for it. did you create your crosscompiler with gdb? I didn't manage to get a runing ppcarm with that yet. I allways use NOGDB=1 maybe that helps. My last build of FPC was made using NOGDB=1, but it had the same effect (I think) as without the flag. have you tried to copy fpcsrc/compiler/ppcarm to your device and run ppcarm -h? does that work or is there also a Segfult? Everything returns Segfult in Moko. I found out that it have problems entering pascalmain function. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: fpc-2.3.x abbort compiling at gtk2.pas (was : [fpc-pascal] EABI problems with FPC )
Henry Vermaak schrieb: 2009/4/7 Benedikt Schindler benischind...@gmx.de: [...] any reason why you are trying to build fpc natively? this wastes a lot of time. you can just use the openmoko toolchain and cross compile everything. henry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal yes, because all things i tryed to crosscompile ended up in a illegal instruction message.( Or in no messages at all. ) so i wanted to see what happens when i try to compile the fpc on the device. Beni ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: fpc-2.3.x abbort compiling at gtk2.pas (was : [fpc-pascal] EABI problems with FPC )
Jonas Maebe schrieb: [...] Maybe it runs out of memory? The gtk2 unit is quite big. Jonas your right. i freed some memory and then it compiled without problems. thx to all. Beni ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] EABI problems with FPC
Hi, i also try to get free pascal running on my freerunner. i needed many tries to get a running ppcarm for my device. (In reality i didn't know why it worked in the last run ... but it did, and so i don't ask :) ) now i let the freerunner recompile the hole fpcbuild. But that could take some time. ... you know how fast our devices are :) i hope that all things will work well after that . i used these compiler options : OPT=-dFPC_ARMEL -O- -dFPC_ABI_EABI NOGDB=1 i tell you if it works or not. it could just be hours from now :) Have you cross compiled the hole free pascal or just the ppcarm? you should be able to crosscompile the hello programm by using the crossppcarm compiler on your normal machine. (And don't forget to use -dFPC_ARMEL -O- -dFPC_ABI_EABI.) Beni ik schrieb: On Mon, Apr 6, 2009 at 4:26 PM, Jonas Maebe jonas.ma...@elis.ugent.be mailto:jonas.ma...@elis.ugent.be wrote: On 06 Apr 2009, at 15:15, ik wrote: I tried to create an Hello World program in OpenMoko (after creating arm fpc). When I try to compile it, ld gives the following error message: /usr/bin/ld: ERROR: Source object /usr/lib/fpc/2.3.1/units/arm-linux/rtl/system.o has EABI version 0, but target hello has EABI version 4 See http://bugs.freepascal.org/view.php?id=13454 for some flags you have to use, and a patch that you can try. And note that ARMEL/EABI is very much untested. I can see that, now I have segfult ... Is there a way to do a real cross compile, that is to be in a normal environment and just make the result set to ARM EABI ? And any of you wish, I can give ssh access to my Moko (when it is booted to the microsd) to test FPC on ARM EABI better, or help me understand how to test it myself, and might even fix/add things. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org mailto:fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal Thanks, Ido ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] using fpc on a arm4t system failed - trying to cross compile
Hi, the file from Florian didn't work. But i looked around in the mailing lists and now i try to crosscompile a new version for the openmoko device. I crosscompiled binutils for arm4tl-unknown-linux. and then i tried to cross compile the FPC (2.3.x) with this command: make all OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/opt/armlinux/crossbinutils/bin/arm4tl-unknown-linux- OPT=-dFPC_ARMEL -O- FPC=/usr/bin/ppc386 Worked fine. On the device the new ppcarm didn't say Illegal Instruction any more. So far so good. ... But now it didn't say anything at all. I did a echo $? after ./ppcarm -h and it returns 216 --- if i try to compile the 2.2.2 sources i get an error: i_linux.pas(594,11) Error: Identifier not found abi_eabi i_linux.pas(594,11) Error: Illegal expression any ideas? I also tried to compile with -dFPC_ABI_EABI thx, and best regards Benedikt Paul Breneman schrieb: Henry Vermaak wrote: 2009/3/23 Paul Breneman paul2...@brenemanlabs.com: Beni, is there another precompiled ppcarm from the version v2.2.x or v2.3.x ? Or exists a maintainer for the arm version? So i could ask him for a debugging version to find the problem. I couldn't debug the problem by my self, because i don't have a clou about assembler programming. please give me a hint where to start. because i really would like to programm in freepascal for the openmoko freerunner device. On 14 Dec 2008 on the fpc-devel maillist Florian Klaempfl wrote: ** Yes. I uploaded a starting eabi compiler to http://www.florianklaempfl.de/ppcarm Please use only with -O- * Maybe you could try replacing the ppcarm in my helloworld example with that (and also use -O-)? this won't work unless you compile the rtl objects with this compiler, too. rather just try `ppcarm -h` to see if the compiler executes. Thanks Henry for helping me as I stumble along in this and the other (fpc-devel) thread! ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] using fpc on a arm4t system failed
Hi, is there another precompiled ppcarm from the version v2.2.x or v2.3.x ? Or exists a maintainer for the arm version? So i could ask him for a debugging version to find the problem. I couldn't debug the problem by my self, because i don't have a clou about assembler programming. please give me a hint where to start. because i really would like to programm in freepascal for the openmoko freerunner device. best regards benedikt Benedikt Schindler schrieb: same problem with this test. just the output Illegal instruction. nothing in dmesg. --- r...@om-gta02:/opt/test# tar -xvzf HelloWorld-fpc-2.2.2.arm-linux.tar.gz copying copying.fpc hello.pas ppcarm prt0.o system.o system.ppu TurboControlDistributionReadMe.txt r...@om-gta02:/opt/test# ./ppcarm hello Illegal instruction -- Paul Breneman schrieb: Beni, Please try the ARM-Linux example on this page and see if it works: http://www.turbocontrol.com/helloworld.htm -- Regards, Paul Breneman ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] using fpc on a arm4t system failed
Hi, i installed fpc-2.2.2 with the arm-linux-binaries from the main page. the installation finished with no problems. but when i try to use on of the installed programms (e.g. ppcarm, fpc or fpcmake) i get a Illegal instruction error. What ARM CPUs are supported by FPC? My cpu info : r...@om-gta02:/opt/lazarus# cat /proc/cpuinfo Processor : ARM920T rev 0 (v4l) BogoMIPS: 198.65 Features: swp half thumb CPU implementer : 0x41 CPU architecture: 4T CPU variant: 0x1 CPU part: 0x920 CPU revision: 0 Hardware: GTA02 Revision: 0350 Serial : ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] using fpc on a arm4t system failed
same problem with this test. just the output Illegal instruction. nothing in dmesg. --- r...@om-gta02:/opt/test# tar -xvzf HelloWorld-fpc-2.2.2.arm-linux.tar.gz copying copying.fpc hello.pas ppcarm prt0.o system.o system.ppu TurboControlDistributionReadMe.txt r...@om-gta02:/opt/test# ./ppcarm hello Illegal instruction -- Paul Breneman schrieb: Beni, Please try the ARM-Linux example on this page and see if it works: http://www.turbocontrol.com/helloworld.htm -- Regards, Paul Breneman ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal