Re: [fpc-pascal] Interfaces inheritance and "Supports" routine
On Sun, 2 Nov 2008, Graeme Geldenhuys wrote: > On Sun, Nov 2, 2008 at 6:31 PM, Vladimir Zhirov <[EMAIL PROTECTED]> wrote: > > So the questions are: > > 1) Is this an expected behavior? > > 2) Are there any detailed documentation to read on this subject? I have > > not found anything, "Supports" is not very google-friendly name :( > > http://dn.codegear.com/article/29779 > > >From this article it seems things have changed since Delphi 8 onwards. > The last Delphi version I used was D7. :-) I don't know what delphi > version FPC's features are based on. D5 or D7. All Delphis between D7 and D2007 were not real Delphis :-) Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Help with understanding HeapTrc output
Sorry, but I know the output below is going to wrap horribly. I'm self-taught when it comes to understanding the heaptrc output. I also couldn't find clear documentation explaining the output. >From the information below, I gathered the following information. But a few points I'm not sure about... 1) Every "Call trace for block" is a memory leak, correct? 2) Each "Call trace for block" is where the memory was allocated (start being used)? 3) I should trace the information from the bottom line to the top line... 4) Why does it quote more than one line? If I allocated memory on a specific line, should just that line be quoted? -- Heap dump by heaptrc unit 43868 memory blocks allocated : 3458694/3643528 43800 memory blocks freed : 3456984/3641616 68 unfreed memory blocks : 1710 True heap size : 950272 True free heap : 943984 Should be : 944552 Call trace for block $B6F99188 size 48 $080AD78F MAINPROC, line 104 of tutoradmin.lpr $080B6127 MAINPROC, line 104 of tutoradmin.lpr $0809849B TCUSTOMLISTMEDIATOR__CREATESUBMEDIATORS, line 1122 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiBaseMediator.pas $0809BECC TSTRINGGRIDMEDIATOR__REBUILDLIST, line 497 of ./gui/tiListMediators.pas $080988F8 TCUSTOMLISTMEDIATOR__UPDATE, line 1195 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiBaseMediator.pas $080618DE TTIOBJECT__NOTIFYOBSERVERS, line 3941 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiObject.pas $0806185F TTIOBJECT__NOTIFYOBSERVERS, line 3926 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiObject.pas $08096218 TMEDIATORVIEW__SETACTIVE, line 500 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiBaseMediator.pas Call trace for block $B6F95718 size 16 $080AC422 MAINPROC, line 104 of tutoradmin.lpr $080B2577 MAINPROC, line 104 of tutoradmin.lpr $08130EC8 TTRANSACTIONDISPLAY__CREATECUSTOM, line 83 of transactiondisplay.pas $08098737 TCUSTOMLISTMEDIATOR__CREATE, line 1164 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiBaseMediator.pas $0809C5BA TPROPERTYLINKDEF__CREATEMEDIATOR, line 188 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiFormMediator.pas $0809C97E TFORMMEDIATOR__CREATEMEDIATORS, line 285 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiFormMediator.pas $0809CA09 TFORMMEDIATOR__BIND, line 299 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiFormMediator.pas $0809C7F0 TFORMMEDIATOR__SETACTIVE, line 247 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiFormMediator.pas -- Regards, - Graeme - ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] PowerPC: zipper streaming error
Hi all, Is anyone working on the unit zipper? I came across a problem when using the zip objects on PowerPC - they don't like files zipped on i386, and i386 don't like files zipped with PowerPC, but the PowerPC can zip its own files and read those again. I guess the zipper unit is lacking a check for big endian processor. Where can I report a bug for FPC? Btw, I'm using FPC 2.2.2. Thanks, and best regards Normann ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] a few installation issues (trunc on freebsd)
I have a few question, regarding my attempts to install fpc from trunc (I read the build faq, yet I have not succeeded...) On a freebsd (7.0) box, I have downloaded and installed the pre-compiled fpc 2.2.2 ( to use as my initial compiler.) I have created my workind dir /data/fpc_trunc/svn and done my checkout (Revision: 12021) cd /data/fpc_trunc/snv svn co http://svn.freepascal.org/svn/fpc/trunk . then according to the build-faq, I have done cd compiler gmake cycle * First problem: I found if I simply go to the parent (svn) directory, and do a "gmake all PP=/data/fpc_trunc/svn/compiler/ppc386" there, it will do some clean out, and stop because halfway through it will have deleted this compiler. So instead (which is not mentioned in the buildfaq?), I have installed the compiler and rtl at this stage: gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ cd ../rtl gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ Note: I am installing to a separate dir, as I want to use this installation in parallel to other installations. * Second Problem: when using fpc (instead of ppc), it will always find the ppc386 in the default installation. The only way I can change this is "fpc -Xp/path/to/my/ppc386". (Which I found no documentation for. I got that from looking through the source) However, if I want to use fpc from lazarus, I may not be able to pass that (convenient) on the command line. Is there any INI file? (fpc.cfg did not help here, at least not the fpc.cfg in the same path as fpc exe). Or is it save to substitute fpc, with ppc386 everywhere it is called? any way I then go and create my fpc.cfg: cd ../../inst ./bin/fpcmkcfg -d basepath=/data/fpc_trunc/inst/lib/fpc/2.2.2 > bin/fpc.cfg * 3rd problem, it uses the same prefix for the units (-Fu) and the bin (-FD), so the above creates correct -Fu config, but I must change the -FD conf. Any solution to this ? -Fu will be correct: -Fu/data/fpc_trunc/inst/lib/fpc/2.2.2/units/$FPCTARGET/rtl but -FD will *NOT* be (which I think it should?, or am I wrong?) -FD/data/fpc_trunc/inst/bin now I go back to the top svn checkout and to gmake all PP=/data/fpc_trunc/inst/lib/fpc/2.2.2/ppc386 * 4th Problem the compilation aborted (Sorry I don't remember where) because it tried to access the x11 package => I did solve that by going int packages/x11, did the make there, and did install it (with the install prefix) * 5th problem packages/graph stops, because it tries to use x86. (This exists in the sources rtl/unix/x86.pp) Somehow all the above has not installed this (not on my FreeBSD), the package is missing int he inst/lib directory And last not least, having checked out trunc (or being under the impression to have done so), why has the "make install" in the rtl installed something with 2.2.2 in the path? (If I run the ppc386 that was installed it will say 2.3.1. Maybe this last bit will solve some of the other questions... Any help is greatly appreciated. Many thanks. Martin ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Advantages page in website
I for one think that the page is very important to clarify strong points of Free Pascal for eventual users. I will be moving the old contents to the wiki, where they can be worked and improved. -- Felipe Monteiro de Carvalho ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] PowerPC: zipper streaming error
On 03 Nov 2008, at 15:43, EarMaster - Bent Olsen wrote: Is anyone working on the unit zipper? I came across a problem when using the zip objects on PowerPC - they don't like files zipped on i386, and i386 don't like files zipped with PowerPC, but the PowerPC can zip its own files and read those again. I guess the zipper unit is lacking a check for big endian processor. Where can I report a bug for FPC? http://bugs.freepascal.org Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] widestring related? problem on arm (2.3.1)
On 03 Nov 2008, at 01:06, Terry Kemp wrote: I'm getting a runtime error 231 when starting program on arm. Stems from ANSI2WIDEMOVE in cwstring.pp returning ESysEBADF (9). Do I need to define something on arm for widestrings? Run time error 231 in the unix wide string manager means that iconv returned an unexpected error code (in the sens that it's not supported by the code in the cwstring unit). Since you already compiled the cwstring unit with debug information, you can step into it (or set a breakpoint) and see what the error code is (or just add a writeln). Once you find out, it'll probably be easier to figure out what the problem is. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Help with understanding HeapTrc output
On 03 Nov 2008, at 15:10, Graeme Geldenhuys wrote: 1) Every "Call trace for block" is a memory leak, correct? Yes. 2) Each "Call trace for block" is where the memory was allocated (start being used)? Allocated. 3) I should trace the information from the bottom line to the top line... It's a backtrace, like when an exception or run time error occurs. The top line is the actual place where the allocation happened, the next is the caller of that place, etc. 4) Why does it quote more than one line? If I allocated memory on a specific line, should just that line be quoted? I don't understand what you mean with "quote more than one line". However, things like this: $080AD78F MAINPROC, line 104 of tutoradmin.lpr $080B6127 MAINPROC, line 104 of tutoradmin.lpr $0809849B TCUSTOMLISTMEDIATOR__CREATESUBMEDIATORS, line 1122 of /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/ tiBaseMediator.pas usually mean that no line (debug) information was available for the two first addresses. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] a few installation issues (trunc on freebsd)
On 03 Nov 2008, at 16:03, Martin Friebe wrote: I have a few question, regarding my attempts to install fpc from trunc Small aside: it's trunk (as in "trunk of a tree", compared to "branches"), not trunc (as in "truncate"). * First problem: I found if I simply go to the parent (svn) directory, and do a "gmake all PP=/data/fpc_trunc/svn/compiler/ppc386" there, it will do some clean out, and stop because halfway through it will have deleted this compiler. That's correct. So instead (which is not mentioned in the buildfaq?), I have installed the compiler and rtl at this stage: gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ cd ../rtl gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ You don't have to install the compiler/rtl. You only have to copy the compiler binary someplace safe. In face, you don't need the cycle at all, you can immediately do a "gmake all". * Second Problem: when using fpc (instead of ppc), it will always find the ppc386 in the default installation. The only way I can change this is "fpc -Xp/path/to/my/ppc386". (Which I found no documentation for. I got that from looking through the source) However, if I want to use fpc from lazarus, I may not be able to pass that (convenient) on the command line. Does lazarus call fpc or ppcXXX? Is there any INI file? No. (fpc.cfg did not help here, at least not the fpc.cfg in the same path as fpc exe). Or is it save to substitute fpc, with ppc386 everywhere it is called? Yes, that's safe. any way I then go and create my fpc.cfg: cd ../../inst ./bin/fpcmkcfg -d basepath=/data/fpc_trunc/inst/lib/fpc/2.2.2 > bin/fpc.cfg I'm not sure how well maintained fpcmkcfg is. For the (*nix) releases we use the samplecfg script (from compiler/utils) to generate configurations. But you shouldn't need a new configuration file, afaik samplecfg is identical in fixes and trunk (and in 2.2.2). * 3rd problem, it uses the same prefix for the units (-Fu) and the bin (-FD), so the above creates correct -Fu config, but I must change the -FD conf. Any solution to this ? -Fu will be correct: -Fu/data/fpc_trunc/inst/lib/fpc/2.2.2/units/$FPCTARGET/rtl but -FD will *NOT* be (which I think it should?, or am I wrong?) -FD/data/fpc_trunc/inst/bin -FD is used to find utilities like as and ld. Unless you have special binutils versions which you only want to use with this particular version of the compiler, you should not use and -FD parameter. * 4th Problem the compilation aborted (Sorry I don't remember where) because it tried to access the x11 package => I did solve that by going int packages/x11, did the make there, and did install it (with the install prefix) Without the actual error message, there's not much to add. * 5th problem packages/graph stops, because it tries to use x86. (This exists in the sources rtl/unix/x86.pp) Somehow all the above has not installed this (not on my FreeBSD), the package is missing int he inst/lib directory I thought there were people who regularly compile the FreeBSD version, but it seems that is not the case if such errors exist. And last not least, having checked out trunc (or being under the impression to have done so), why has the "make install" in the rtl installed something with 2.2.2 in the path? (If I run the ppc386 that was installed it will say 2.3.1. You have to install using make FPC=/path/to/newly/compiled/ppc386 install INSTALL_PREFIX=... Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Advantages page in website
http://wiki.lazarus.freepascal.org/FPC_Advantages While copying it I removed most of the aggressive tone. I think we can't mistake passion and excitement with aggressivity. A completely neutral tone may be utherly boring to read. A more excited tone is much more interresting, but I do agree it was somewhat aggressive and that needs to be changed. -- Felipe Monteiro de Carvalho ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Help with understanding HeapTrc output
Hello Graeme, Monday, November 3, 2008, 3:10:49 PM, you wrote: GG> 1) Every "Call trace for block" is a memory leak, correct? Yes, but take care, two strings in a non freed object (in example) will produce three memory blocks. 1 for the object and one for each string. GG> 2) Each "Call trace for block" is where the memory was allocated GG> (start being used)? Where it has been allocated or reallocated (it could be used somehow later, or never). GG> 3) I should trace the information from the bottom line to the top line... To follow the sequence yes. GG> 4) Why does it quote more than one line? If I allocated memory on a GG> specific line, should just that line be quoted? You may allocate a memory block in the same line following different paths, finally all memory blocks are a "GetMem" so if only one line is quoted you will only see "GetMem" procedure. -- Best regards, JoshyFun ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] widestring related? problem on arm (2.3.1)
On Mon, 2008-11-03 at 19:14 +0100, Jonas Maebe wrote: > On 03 Nov 2008, at 01:06, Terry Kemp wrote: > > > I'm getting a runtime error 231 when starting program on arm. > > Stems from ANSI2WIDEMOVE in cwstring.pp returning ESysEBADF (9). > > > > Do I need to define something on arm for widestrings? > > Run time error 231 in the unix wide string manager means that iconv > returned an unexpected error code (in the sens that it's not supported > by the code in the cwstring unit). Since you already compiled the > cwstring unit with debug information, you can step into it (or set a > breakpoint) and see what the error code is (or just add a writeln). > Once you find out, it'll probably be easier to figure out what the > problem is. > > > Jonas > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal Hi Attached is a gdb log. The problem seems to be here... fpc_char_to_uchar (C=38 '&') at ustrings.inc:644 644 widestringmanager.Ansi2UnicodeMoveProc(@c, w, 1); (gdb) p w $18 = (WIDESTRING) 0x0 where w is suddenly undefined. thoughts? Terry (gdb) r -qws Starting program: /home/root/project2 -qws [HINT] TWinControl.CreateWnd creating Handle during loading Form1:TForm1 csDesig ning=False [HINT] TWinControl.CreateWnd creating Handle during loading Panel2:TPanel csDesi gning=False [HINT] TWinControl.CreateWnd creating Handle during loading StatusBar1:TStatusBa r csDesigning=False [HINT] TWinControl.CreateWnd creating Handle during loading BitBtn4:TBitBtn csDe signing=False [HINT] TWinControl.CreateWnd creating Handle during loading BitBtn1:TBitBtn csDe signing=False [HINT] TWinControl.CreateWnd creating Handle during loading BitBtn7:TBitBtn csDe signing=False [HINT] TWinControl.CreateWnd creating Handle during loading BitBtn8:TBitBtn csDe signing=False [HINT] TWinControl.CreateWnd creating Handle during loading Panel3:TPanel csDesi gning=False Breakpoint 1, TQTSTATICTEXT__SETTEXT (W=0x413d5a28, this=0x411c34c0) at qtwidgets.pas:4177 4177AmpersandPos := Pos('&', W); (gdb) p W $11 = (WIDESTRING) 0x413d5a28 (gdb) p W^ $12 = 80 'P' (gdb) p W[0] $13 = 80 'P' (gdb) p W[1] $14 = 114 'r' (gdb) p W[2] $15 = 111 'o' (gdb) p @ A syntax error in expression, near `'. (gdb) p @W $16 = (PWIDESTRING) 0xbe8aff58 (gdb) s POS (C=38 '&', S=0x413d5a28) at ustrings.inc:1570 1570 wc:=c; (gdb) p wc $17 = 31248 #16 (gdb) p wc^ Attempt to take contents of a non-pointer value. (gdb) s fpc_char_to_uchar (C=38 '&') at ustrings.inc:643 643 begin (gdb) s fpc_pushexceptaddr (FT=1, _BUF=0xbe8afe28, _NEWADDR=0xbe8afe50) at except.inc:89 89 except.inc: No such file or directory. in except.inc (gdb) s 90 in except.inc (gdb) s 91 in except.inc (gdb) s 92 in except.inc (gdb) s 93 in except.inc (gdb) s 94 in except.inc (gdb) s 95 in except.inc (gdb) s SETJMP (S= {V1 = 1092367552, V2 = 1779220, V3 = 1092070912, V4 = 997416, V5 = 0, V6 = 0, SL = 1076936704, FP = 3196780184, SP = 3196780052, PC = 177708}) at setjump.inc:20 20 setjump.inc: No such file or directory. in setjump.inc (gdb) s 21 in setjump.inc (gdb) s fpc_char_to_uchar (C=38 '&') at ustrings.inc:644 644 widestringmanager.Ansi2UnicodeMoveProc(@c, w, 1); (gdb) p w $18 = (WIDESTRING) 0x0 (gdb) p w^ Cannot access memory at address 0x0 (gdb) p w[1] Cannot access memory at address 0x2 (gdb) p c $19 = 38 '&' (gdb) p @c $20 = (ANSISTRING) 0xbe8afe6c (gdb) s ANSI2WIDEMOVE (SOURCE=0xbe8afe6c, DEST=0x0, LEN=1) at cwstring.pp:231 231 writeln('source ', source); (gdb) c Continuing. source &��䊾|� dest len 1 Ansi2WideMove 9 Runtime error 231 at $0009D6C0 $0009D6C0 ANSI2WIDEMOVE, line 272 of ../unix/cwstring.pp $0002B654 fpc_char_to_uchar, line 644 of /build/gumstix/gumstix-fpc/fpc-svn/rtl/inc/ustrings.inc $0002BDC4 POS, line 1570 of /build/gumstix/gumstix-fpc/fpc-svn/rtl/inc/ustrings.inc $001B26A0 TQTSTATICTEXT__SETTEXT, line 4177 of qtwidgets.pas $001A17A4 TQTWSWINCONTROL__SETTEXT, line 360 of qtwscontrols.pp $000EA9A4 TWINCONTROL__WSSETTEXT, line 4754 of ./include/wincontrol.inc $000EEF88 TWINCONTROL__INITIALIZEWND, line 6615 of ./include/wincontrol.inc $000EEA98 TWINCONTROL__CREATEWND, line 6525 of ./include/wincontrol.inc $000EE5E4 TWINCONTROL__CREATEHANDLE, line 6440 of ./include/wincontrol.inc $000EFAA0 TWINCONTROL__HANDLENEEDED, line 6831 of ./include/wincontrol.inc Program exited with code 0347. (gdb) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] a few installation issues (trunc on freebsd)
Thanks for the help below. Here is the x86 related error. I did (working directory: /data/fpc_trunc/svn ) svn up svn info Path: . URL: http://svn.freepascal.org/svn/fpc/trunk Repository Root: http://svn.freepascal.org/svn/fpc Repository UUID: 3ad0048d-3df7-0310-abae-a5850022a9f2 Revision: 12025 Node Kind: directory Schedule: normal Last Changed Author: jonas Last Changed Rev: 12025 Last Changed Date: 2008-11-03 21:18:27 + (Mon, 03 Nov 2008) gmake distclean gmake all The last lines from this make are below. At this stage it is using ppc386 from the cvn directory, and it is also using the rtl from svn. /data/fpc_trunc/svn/compiler/ppc386 -V Free Pascal Compiler version 2.3.1 [2008/11/03] for i386 Copyright (c) 1993-2008 by Florian Klaempfl The Error, I get gmake[3]: Leaving directory `/data/fpc_trunc/svn/packages/openssl' gmake -C graph smart gmake[3]: Entering directory `/data/fpc_trunc/svn/packages/graph' gmake all LINKSMART=1 CREATESMART=1 gmake[4]: Entering directory `/data/fpc_trunc/svn/packages/graph' /bin/mkdir -p units/i386-freebsd /data/fpc_trunc/svn/compiler/ppc386 -XX -CX -Ur -Xs -O2 -n -S2 -Fu/data/fpc_trunc/svn/rtl/units/i386-freebsd -Fu/data/fpc_trunc/svn/packages/pthreads/units/i386-freebsd -Fu/data/fpc_trunc/svn/packages/x11/units/i386-freebsd -Fu/data/fpc_trunc/svn/packages/sdl/units/i386-freebsd -Fisrc/freebsd -Fisrc/inc -Fisrc/unix -FE. -FUunits/i386-freebsd -di386 -dRELEASE -Isrc/inc src/unix/graph.pp Fatal: Can't find unit x86 used by Graph Fatal: Compilation aborted gmake[4]: *** [graph.ppu] Error 1 gmake[4]: Leaving directory `/data/fpc_trunc/svn/packages/graph' gmake[3]: *** [fpc_smart] Error 2 gmake[3]: Leaving directory `/data/fpc_trunc/svn/packages/graph' gmake[2]: *** [graph_smart] Error 2 gmake[2]: Leaving directory `/data/fpc_trunc/svn/packages' gmake[1]: *** [packages_smart] Error 2 gmake[1]: Leaving directory `/data/fpc_trunc/svn' gmake: *** [build-stamp.i386-freebsd] Error 2 Any idea? But thanks for the hint on make install gmake install FPC=xxx INSTALL_PREFIX=foo worked well (created a 2.3.1 dir) Same if I use PP= instead of FPC=. Is there a difference? I looked at the buildfaq at http://www.stack.nl/~marcov/buildfaq.pdf (not sure if this is up to date?) Chapter 2, pages 22: The first 2 examples have "make install" with *no* PP=. Of course my fault, I didn't read properly. It then explains that they are wrong. Maybe it would be easier for users to follow if either no wrong examples where given, or maybe the hint "# wrong example" was given on the same line as the command. So you would more liekly get to read it, if you copied and pasted it? I know it's my fault not to read it proper. But i could imagine, that othere may get into similar trouble... Thanks Martin Jonas Maebe wrote: On 03 Nov 2008, at 16:03, Martin Friebe wrote: I have a few question, regarding my attempts to install fpc from trunc Small aside: it's trunk (as in "trunk of a tree", compared to "branches"), not trunc (as in "truncate"). * First problem: I found if I simply go to the parent (svn) directory, and do a "gmake all PP=/data/fpc_trunc/svn/compiler/ppc386" there, it will do some clean out, and stop because halfway through it will have deleted this compiler. That's correct. So instead (which is not mentioned in the buildfaq?), I have installed the compiler and rtl at this stage: gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ cd ../rtl gmake install INSTALL_PREFIX=/data/fpc_trunc/inst/ You don't have to install the compiler/rtl. You only have to copy the compiler binary someplace safe. In face, you don't need the cycle at all, you can immediately do a "gmake all". * Second Problem: when using fpc (instead of ppc), it will always find the ppc386 in the default installation. The only way I can change this is "fpc -Xp/path/to/my/ppc386". (Which I found no documentation for. I got that from looking through the source) However, if I want to use fpc from lazarus, I may not be able to pass that (convenient) on the command line. Does lazarus call fpc or ppcXXX? Is there any INI file? No. (fpc.cfg did not help here, at least not the fpc.cfg in the same path as fpc exe). Or is it save to substitute fpc, with ppc386 everywhere it is called? Yes, that's safe. any way I then go and create my fpc.cfg: cd ../../inst ./bin/fpcmkcfg -d basepath=/data/fpc_trunc/inst/lib/fpc/2.2.2 > bin/fpc.cfg I'm not sure how well maintained fpcmkcfg is. For the (*nix) releases we use the samplecfg script (from compiler/utils) to generate configurations. But you shouldn't need a new configuration file, afaik samplecfg is identical in fixes and trunk (and in 2.2.2). * 3rd problem, it uses the same prefix for the units (-Fu) and the bin (-FD), so the above creates correct -Fu config, but I must change the -FD conf. Any solution to this ? -Fu will be correct: -Fu/data/fpc_trunc/inst/lib/fpc/2.2.2/units/$FPCTARGET/rtl but -FD will *NOT* be (which I think it should?, o
Re: [fpc-pascal] widestring related? problem on arm (2.3.1)
On Mon, 2008-11-03 at 19:14 +0100, Jonas Maebe wrote: > On 03 Nov 2008, at 01:06, Terry Kemp wrote: > > > I'm getting a runtime error 231 when starting program on arm. > > Stems from ANSI2WIDEMOVE in cwstring.pp returning ESysEBADF (9). > > > > Do I need to define something on arm for widestrings? > > Run time error 231 in the unix wide string manager means that iconv > returned an unexpected error code (in the sens that it's not supported > by the code in the cwstring unit). Since you already compiled the > cwstring unit with debug information, you can step into it (or set a > breakpoint) and see what the error code is (or just add a writeln). > Once you find out, it'll probably be easier to figure out what the > problem is. Thanks Jonas - the error no is 9 - ESysEBADF - System error: Bad file number. The same code runs on x86_64 no probs and has been working on arm, but its been a month or so since I tried it on the arm hardware. I will install gdb on arm and see whats up. Terry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal