[fpc-pascal] FPC reference manual.
Hello. I'm new to FPC. I've used TP for many years up to TP7 but not Delphi. Then I came to Ada. FPC seems to bring many enhancements to TP. First I'm reading some documentation ;-) I'm looking for a way to program with Cocoa on Mac. When reading reference guide for Free Pascal, version 2.2.4, I have some questions or noticed little mistakes in: §1.6 Numbers: - octal digit is used but not described, maybe something like --- octal digit --- 0 .. 8 --- - signed number is described but not used later § 2.2 Typed constants: - where are described what are constant, address constant, array constant, record constant, procedural constant ? § 4.6 Properties: - nodefault is not listed in reserved keywords ? - property definition is not referenced, should be in 13.4 declaration part ? § 5.4 Constructors and destructors - qualified method identifier is not described, maybe like --- qualified method identifier --- identifier ^-- . ---| § 6.1 Class definitions: - Class reference type seems to be class of class type "identifier". - What are two different descriptions of method definition ? seen in 6.1 and 6.3.1 § 9.1 Expression syntax: - variable reference is not described in factor § 9.2 Function calls: - method designator and qualified method designator are not described § 11.4 Parameter lists: - out parameter is written two times in syntax diag § 11.4.1 Value parameters: - default parameter value is not described § 12.2 Operator declarations: - does parameter list stand for formal parameter list ? - operator definition is not referenced, should be in 13.4 declaration part? § 13.6 Libraries: - exports clause is not referenced where should it be used? § 14.1 The raise statement: - exception instance is not described Hope this help, best, Pascal. http://blady.pagesperso-orange.fr _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC reference manual.
Hello Michael. I've some more questions about modifiers and keywords : OTHERWISE GENERIC STORED IMPLEMENTS MESSAGE STATIC BITPACKED SPECIALIZE => are they keywords ? They missing in keyword lists. In which list TP ? Delphi ? FPC ? OVERLOAD SAVEREGISTERS SOFTLOAD VARARGS INTERRUPT NODEFAULT CVAR RESSOURCESTRING DEPRECATED EXPERIMENTAL PLATFORM UNIMPLEMENTED => are they modifiers ? They missing in modifier lists. OTH, Pascal. http://blady.pagesperso-orange.fr From: Michael Van Canneyt Subject: Re: [fpc-pascal] FPC reference manual. On Sun, 6 Sep 2009, Pascal wrote: Hello. I'm new to FPC. I've used TP for many years up to TP7 but not Delphi. Then I came to Ada. FPC seems to bring many enhancements to TP. First I'm reading some documentation ;-) I'm looking for a way to program with Cocoa on Mac. Thank you for the remarks. = I'm currently updating the documentation and I will take your remarks into = account. ... I will take a closer look at these. Thanks for pointing these things out, that's very helpful. Michael. ___________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC reference manual.
Hello Michael. I really don't want to be too much annoying but you could believe it ;-) I'm updating Pascal to Ada translator (http://sourceforge.net/ projects/p2ada/) to a more modern Pascal syntax as FPC is. As I'm coding the grammar based on FPC, I'm asking some questions regarding FPC language reference manual. - 1.1 Symbols Semicolon and apostrophe are missing as single specific characters. .. <> ** are missing as specific pair characters. What about @@ defined in TP 7.0 manual? - 1.3.1 Turbo Pascal reserved words absolute is also in 1.3.4 Modifiers, not a keyword? on, operator, reintroduce, self are not TP 7.0 keywords, may be Delphi or FPC? - 1.3.2 Delphi reserved words packed is already defined in 1.3.1 - 3.1.1 Ordinal types There is no chart for ordinal type, maybe: ordinal type : ordinal type identifier | enumerated type | subrange type - 3.3 Structured Types packed is defined for all structured type in TP 7.0, isn't it the case for set type and file type in FPC? - 3.4 Pointers Is string keyword allowed in identifier? - 3.3.2 Record types in variant char, the comma may be inside the loop? - 3.6 Procedural types What is the purpose of "of object"? What is definition of result type? Is it only identifier? Is keyword string accepted? - 4.2 Variable Declaration May "identifier list" be more suitable than identifier alone? hintdirective is already included in variable modifiers. - 5.4 Constructors and destructors Should constructor and destructor declaration end by semicolon. - 5.5.1 Methods Declaration In TP manual virtual may be followed by integer constant. Is it supported by FPC? - 8.3 Generic class specialization Is string keyword allowed in identifier list? - 9.1 Expression syntax Should first * be replaced by <. - 9.4 Value typecasts Is string keyword allowed in identifier? - 9.7 The @ operator Is @@ operator allowed as in TP7.0? - 10 Statements Is inline directive allowed as in TP7.0? - 10.2.8 Exception Statements Does "exception statement" stand for try except statement or try finally statement? - 10.2.2 The Case statement Should "statement list" be replaced by statement alone in else part? - 10.2.7 The With statement with keyword should be added to chart. - 11.1 Procedure declaration Is inline directive allowed in subroutine block as in TP7.0? - 11.4 Parameter lists Shouldn't "formal parameter list" have an empty possibility? In parameters, is string keyword allowed in type identifier? - 11.9 Modifiers Should near and far be allowed even not used? - 13 Programs, units, blocks Shouldn't pascal source code define as either program, unit or library? HTH, Thanks for your clarifications, Pascal. http://blady.pagesperso-orange.fr Le 14 sept. 09 à 12:00, fpc-pascal-requ...@lists.freepascal.org a écrit : From: Michael Van Canneyt Subject: Re: [fpc-pascal] FPC reference manual. To: FPC-Pascal users discussions Message-ID: Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Sun, 13 Sep 2009, Pascal wrote: Hello Michael. I've some more questions about modifiers and keywords : OTHERWISE GENERIC STORED IMPLEMENTS MESSAGE STATIC BITPACKED SPECIALIZE => are they keywords ? They missing in keyword lists. That's because they are not keywords. In which list TP ? Delphi ? FPC ? OVERLOAD SAVEREGISTERS SOFTLOAD VARARGS INTERRUPT NODEFAULT CVAR RESSOURCESTRING DEPRECATED EXPERIMENTAL PLATFORM UNIMPLEMENTED => are they modifiers ? They missing in modifier lists. I will add them. Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Generic type declaration example versus manual.
Hello. In example tgeneric16.pp (from FPC 2.2.4 sources) the generic type TStack is declared as: type { TStack } generic TStack = class(TObject) public procedure Clear; virtual; destructor Destroy; override; end; Though in FPC manual type is described as: type declaration: identifier = type ; type: simple type string type structured type pointer type procedural type generic type specialized type type identifier generic type: generic identifier < template list > = generic class ; Following the manual, the type identifier is thus declared two times: - in type declaration - in generic type Like: TStack = generic TStack = class(TObject) public procedure Clear; virtual; destructor Destroy; override; end; The syntax found in the example doesn't take care of the first identifier in type declaration. May I suggest the following: TStack = generic class(TObject) public procedure Clear; virtual; destructor Destroy; override; end; This syntax looks like more Pascal conformant, i.e. it doesn't brake Pascal type declaration "identifier = type;" And this prevent the succession of greater and equal characters in "generic TStack=class(TObject)" which may be considered as greater or equal ">=" by the compiler. For sure, the simpler would be to change the manual ;-) What are your feedbacks ? Regards, Pascal. http://blady.pagesperso-orange.fr ___________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Generic type declaration example versus manual.
Hello Anthony. Thanks for your proposal. I'm a bit surprised of Delphi chosen syntax because "TList=class ..." breaks Pascal usual type declaration "Id=type;" and "=" may be confused with greater or equal operator. Have you some documentation available on Internet? The one I found is Delphi Object Pascal Language Guide, version 7, 2002. http://docs.codegear.com/products/rad_studio/delphi7/ D7_DevelopersGuide.pdf Generic types are not described in it ;-( Best, Pascal. http://blady.pagesperso-orange.fr Le 22 nov. 09 à 12:00, fpc-pascal-requ...@lists.freepascal.org a écrit : From: Anthony Walter Subject: Re: [fpc-pascal] Generic type declaration example versus manual. I haven't used generics in FPC, but really have to ask, is they keyword generic really necessary? Shouldn't generics be declared like this: type TList = class private ... public function Add: T; procedure Remove(Item: T); property Item[Index: Integer]: T read Get write Put; default; end; I believe this makes the most sense, and it's also how they are declared in Delphi. It would be a real shame to create more Delphi incompatibilities. ___________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Pascal grammar for FPC.
Hello. In order to get translations from FPC to Ada language, I have updated P2Ada translator http://sourceforge.net/projects/p2ada. I add a new ObjP2Ada branch. The grammar is based on: reference guide for Free Pascal (FPC), version 2.2.4, March 2009 programmer's guide Turbo Pascal (TP), version 7.0, 1992 /user manual Think Pascal (THP), version 4.0, 1990 Code Warrior Pascal (CWP) language reference manual, version 11, 1998 Delphi Object Pascal Language Guide, version 7, 2002 I made a specific version of grammar with only syntax elements http:// blady.pagesperso-orange.fr/telechargements/p2ada/fpc-nov09.y This file is yacc compatible. It would be a great help if someone can check it versus FPC. In the other hand, it may helps FPC developers to have a grammar summary for documentation. Thanks, Pascal. http://blady.pagesperso-orange.fr ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Internal error 200502052
I get an internal error 200502052 when building a library on fc10 with lazarus 0.9.26.2/fpc 2.2.2 and a recent nightly build with fpc 2.2.4. It is raised by the following procedure from aasmtai.pas: procedure tai_cpu_abstract.loadref(opidx:longint;const r:treference); begin allocate_oper(opidx+1); with oper[opidx]^ do begin if typ<>top_ref then begin clearop(opidx); new(ref); end; ref^:=r; {$ifdef x86} { We allow this exception for x86, since overloading this would be too much of a a speed penalty} if (ref^.segment<>NR_NO) and (ref^.segment<>NR_DS) then segprefix:=ref^.segment; {$endif} if (cs_create_pic in current_settings.moduleswitches) and assigned(r.symbol) and not assigned(r.relsymbol) and (r.refaddr=addr_no) then internalerror(200502052); typ:=top_ref; if assigned(add_reg_instruction_hook) then begin add_reg_instruction_hook(self,ref^.base); add_reg_instruction_hook(self,ref^.index); end; { mark symbol as used } if assigned(ref^.symbol) then ref^.symbol.increfs; if assigned(ref^.relsymbol) then ref^.relsymbol.increfs; end; end; Could somebody please explain what is happening here so I can make a small test project for a bugreport? _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Internal error 200502052
Coco Pascal wrote: I get an internal error 200502052 when building a library on fc10 with lazarus 0.9.26.2/fpc 2.2.2 and a recent nightly build with fpc 2.2.4. It is raised by the following procedure from aasmtai.pas: procedure tai_cpu_abstract.loadref(opidx:longint;const r:treference); begin allocate_oper(opidx+1); with oper[opidx]^ do begin if typ<>top_ref then begin clearop(opidx); new(ref); end; ref^:=r; {$ifdef x86} { We allow this exception for x86, since overloading this would be too much of a a speed penalty} if (ref^.segment<>NR_NO) and (ref^.segment<>NR_DS) then segprefix:=ref^.segment; {$endif} if (cs_create_pic in current_settings.moduleswitches) and assigned(r.symbol) and not assigned(r.relsymbol) and (r.refaddr=addr_no) then internalerror(200502052); typ:=top_ref; if assigned(add_reg_instruction_hook) then begin add_reg_instruction_hook(self,ref^.base); add_reg_instruction_hook(self,ref^.index); end; { mark symbol as used } if assigned(ref^.symbol) then ref^.symbol.increfs; if assigned(ref^.relsymbol) then ref^.relsymbol.increfs; end; end; Could somebody please explain what is happening here so I can make a small test project for a bugreport? Filed bug report: http://bugs.freepascal.org/view.php?id=13842 _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] undefined reference to `fpc_geteipasebx'
When compiling a test program statically linking a shared module on fc10 i386 I get the following messages: testlibyfbudfunit.pas:60: undefined reference to `Y_Odd' ./libyfbudf.so: undefined reference to `fpc_geteipasebx' testlibyfbudf.lpr(20,1) Error: Error while linking testlibyfbudf.lpr(20,1) Fatal: There were 1 errors compiling module, stopping What does this mean? The function in the shared module: function Y_Odd(const AValue: Int64): LongInt; cdecl; export; begin if Odd(AValue) then Result := -1 else Result := 0; end; The declaration in the test program: function Y_Odd(const AValue: Int64): LongInt; cdecl; external 'yfbudf'; libyfbudf.so is located in /usr/lib ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] undefined reference to `fpc_geteipasebx'
Jonas Maebe wrote: Don't use -Cg, it doesn't work yet for Linux/i386. I searched the Lazarus Compiler Options dialog but didn't find this parameter. What should I do? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] undefined reference to `fpc_geteipasebx'
Marco van de Voort schreef: In our previous episode, Coco Pascal said: Jonas Maebe wrote: Don't use -Cg, it doesn't work yet for Linux/i386. I searched the Lazarus Compiler Options dialog but didn't find this parameter. What should I do? It enabled PIC. Sorry, but how can I solve the problem? -Cg is apparently a default setting; how can I undo this? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] undefined reference to `fpc_geteipasebx'
Jonas Maebe schreef: Or maybe one of your source files contains {$pic+}. Indeed, the library project contained -fPIC as custom option. I didn't put it there. Removing it resulted in 'symbols not found: memory hausted'. The message when -Cg- was set. I took a fresh clean library project and build it routine by routine. No problems at all now. I suspect that the fact that I originally just copied project files from the win32 platform caused the problems described. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] How to call lib routines with cdecl calling convention with win32 app?
I have a library with udf routines using the cdecl calling convention, required by Firebird. This seems to work well on win32. However when I test these routines with a fpc win32 app declaring external functions with the cdecl or stdcall calling convention gives me a 'entrypoint not found' error. I assume cdecl is obligatory, but can I implement that? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to call lib routines with cdecl calling convention with win32 app?
Marco van de Voort schreef: In our previous episode, Coco Pascal said: I have a library with udf routines using the cdecl calling convention, required by Firebird. This seems to work well on win32. How exactly? ? function Y_Odd(const AValue: Int64): LongInt; cdecl; export; begin if Odd(AValue) then Result := -1 else Result := 0; end; {Y_Odd} exports Y_Odd; This works fine with Firebird. If I declare the stdcall calling convention Firebird can't find its entrypoint. However when I test these routines with a fpc win32 app declaring external functions with the cdecl or stdcall calling convention gives me a 'entrypoint not found' error. I assume cdecl is obligatory, but can I implement that? Maybe it is a matter of an underscore prefix. Write the declaration full (cdecl external libname name '_symbol'; and experiment with leaving the underscore there or not. It might also be the need to declare a libname. Windows and OS X afaik have separate linker namespaces for external libs, so you need to declare the name of the module they are in. function Y_Odd(const AValue: Int64): LongInt; cdecl; external LibName name 'libyfbudf.dll'; gives me an Identifier not found "LibName" error. function Y_Odd(const AValue: Int64): LongInt; cdecl; external '_libyfbudf.dll'; gives me a File not found _libyfbudf.dll. _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
If I build a library with udf functions for Firebird tests with an fpc app calling those routines works fine. However with Firebird module and entrypoint are found but garbage is returned. function vv(const AValue: LongInt): LongInt; cdecl; export; begin Result := AValue; end; declare external function vv integer returns integer by value entry_point 'vv' module_name 'libyfbudf'; select vv(13) from rdb$database; returns -12350740 All variations of the input parameter return the same result. What can I do? Has anybody succesfully created a Firebird udf library on lin32? (The same module build with fpc win32 works fine with Firebird win32.) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to call lib routines with cdecl calling convention with win32 app?
Jonas Maebe schreef: On 31 May 2009, at 15:28, Coco Pascal wrote: Marco van de Voort schreef: In our previous episode, Coco Pascal said: I have a library with udf routines using the cdecl calling convention, required by Firebird. This seems to work well on win32. How exactly? ? function Y_Odd(const AValue: Int64): LongInt; cdecl; export; begin if Odd(AValue) then Result := -1 else Result := 0; end; {Y_Odd} exports Y_Odd; This works fine with Firebird. If I declare the stdcall calling convention Firebird can't find its entrypoint. cdecl automatically enables C-compiler-compatible name mangling for exported procedures. stdcall doesn't. So it's normal that Firebird does not find the entrypoint when using stdcall, as it does not support FPC-style name mangling. There is no way to get C name mangling without the calling convention, so you have to manually declare an alias in that case. E.g., function Y_Odd(const AValue: Int64): LongInt; cdecl; alias: '_Y_Odd'; export; Whether or not you need an extra underscore before the alias name depends on the target platform. Win32 requires one. I tried function Y_Odd(const AValue: Int64): LongInt; cdecl; alias: '_Y_Odd'; export; and function Y_Odd(const AValue: Int64): LongInt; cdecl; alias: '__Y_Odd'; export; but still I get the message entrypoint of 'Y_Odd' could not be found in 'libyfbudf.dll' _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to call lib routines with cdecl calling convention with win32 app?
Jonas Maebe schreef: On 31 May 2009, at 20:05, Coco Pascal wrote: I tried function Y_Odd(const AValue: Int64): LongInt; cdecl; alias: '_Y_Odd'; export; and function Y_Odd(const AValue: Int64): LongInt; cdecl; alias: '__Y_Odd'; export; but still I get the message entrypoint of 'Y_Odd' could not be found in 'libyfbudf.dll' Then you may want to use some tool to look at the name of the entry point in the dll for the cdecl case, and compare it to the stdcall case. Since I don't use Windows, I cannot help you with this. Thanks for the tip! The name in the dll is _Y_Odd indeed. Is it not the function header in the dll that must extended with alias: '_Y_Odd'. The function declaration in the app should be: function _Y_Odd(const AValue: Int64): LongInt; cdecl; external 'libyfbudf.dll'; _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
Coco Pascal schreef: If I build a library with udf functions for Firebird tests with an fpc app calling those routines works fine. However with Firebird module and entrypoint are found but garbage is returned. function vv(const AValue: LongInt): LongInt; cdecl; export; begin Result := AValue; end; declare external function vv integer returns integer by value entry_point 'vv' module_name 'libyfbudf'; select vv(13) from rdb$database; returns -12350740 All variations of the input parameter return the same result. What can I do? Has anybody succesfully created a Firebird udf library on lin32? (The same module build with fpc win32 works fine with Firebird win32.) It looks as if the code isn't executed at all. Maybe Firebird requires PIC. Is PIC on the shortlist of features for linux i386? Bugtracker doesn't have an entry about this. _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
Jonas Maebe schreef: On 01 Jun 2009, at 11:40, Coco Pascal wrote: It looks as if the code isn't executed at all. Maybe Firebird requires PIC. That is extremely unlikely (I'd say "impossible", but that's dangerous). Whether or not the code in the library is position-independent is something Firebird has no clue about (unless it starts disassembling the library and/or reading the relocation information). Found this thread on the firebird-support list which blames PIC http://tech.groups.yahoo.com/group/firebird-support/message/99600 _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
Jonas Maebe wrote: On 01 Jun 2009, at 12:30, Jonas Maebe wrote: On 01 Jun 2009, at 11:40, Coco Pascal wrote: It looks as if the code isn't executed at all. Maybe Firebird requires PIC. That is extremely unlikely (I'd say "impossible", but that's dangerous). Whether or not the code in the library is position-independent is something Firebird has no clue about (unless it starts disassembling the library and/or reading the relocation information). Not to mention that it would make no difference for the function you posted, since it does not refer to any other code nor to global data. This made me start a test again with a clean sheet and guess... function VV(const AValue: LongInt): LongInt; cdecl; export; begin Result := AValue; end; works fine now. But if I add the following function it returns wrong results. This one does refer to other code. function Y_Odd(const AValue: LongInt): LongInt; cdecl; export; begin if Odd(AValue) then Result := -1 else Result := 0; end; _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
Jonas Maebe wrote: On 01 Jun 2009, at 14:39, Coco Pascal wrote: But if I add the following function it returns wrong results. This one does refer to other code. function Y_Odd(const AValue: LongInt): LongInt; cdecl; export; begin if Odd(AValue) then Result := -1 else Result := 0; end; It doesn't anymore once it is compiled, because odd() gets inlined. So, what do think? A simple module contains two simple functions. On win32 it works fine. On lin32 one function works as expected, the other returns garbage (0 or null). Is the problem linux, firebird or fpc related? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Firebird +lin32 + fpc lib udf returns garbage.
Jonas Maebe schreef: On 01 Jun 2009, at 21:06, Coco Pascal wrote: So, what do think? A simple module contains two simple functions. On win32 it works fine. On lin32 one function works as expected, the other returns garbage (0 or null). Is the problem linux, firebird or fpc related? I really don't know. I have no experience whatsoever with Firebird on any platform. Bug reported: http://bugs.freepascal.org/view.php?id=13891 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Linux-64 distro recommendation
Hello, Any recommendation regarding free linux 64 bits desktop and server distros? Its completely new to me. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Linux-64 distro recommendation
Coco Pascal wrote: Hello, Any recommendation regarding free linux 64 bits desktop and server distros? Its completely new to me. Nobody? I haven't been able yet to install Ubuntu-64 or openSUSE-64 on my machine. Can I make "pure" 64 bits builds on a 32 bits platform? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Linux-64 distro recommendation
Felipe Monteiro de Carvalho wrote: On 9/5/06, Coco Pascal <[EMAIL PROTECTED]> wrote: Nobody? In that case you could test Mandriva 2006 for x86_64 Will do. Can I make "pure" 64 bits builds on a 32 bits platform? You want to cross compile from 32 bits to 64 bits If "cross compiling" means compiling a 64 bits AMD64 ISA build on a 64 bits machine with a 32 bits os: yes. Should it work? _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] msedb and fcl-db benchmarks
Joost van der Sluis wrote: Discussion: What tests could I do more? Is there something I overlooked? To me it seems that benchmark tests on 10 records are missing relevance more and more. I'm interested in responsiveness in n-tier solutions: opening connection - begin transaction - quering/updating mostly 1 or a few records - commit transaction - close connection - browsing a small (<50) set of records . Opening /closing connections could be skipped in this context when a connectionpool is used. Also I'm interested in tests selecting/updating/browsing sets larger than 1 million records, obviously local. Consequently one could ask if one type of dataset could satisfy requirements regarding performance and use of resources in both cases. _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] msedb and fcl-db benchmarks
Daniël Mantione wrote: Op Tue, 17 Jul 2007, schreef Coco Pascal: Joost van der Sluis wrote: Discussion: What tests could I do more? Is there something I overlooked? To me it seems that benchmark tests on 10 records are missing relevance more and more. I'm interested in responsiveness in n-tier solutions: opening connection - begin transaction - quering/updating mostly 1 or a few records - commit transaction - close connection - browsing a small (<50) set of records . Opening /closing connections could be skipped in this context when a connectionpool is used. Also I'm interested in tests selecting/updating/browsing sets larger than 1 million records, obviously local. Consequently one could ask if one type of dataset could satisfy requirements regarding performance and use of resources in both cases. While relevant for many software, connect and disconnet are largely uninterresting, as opening a connection per query scales very bad. Properly designed software uses connection pooling; representative benchmarks should assume well designed software. I already stated that, or am I missing your point? _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] msedb and fcl-db benchmarks
Joost van der Sluis wrote: On Tue, 2007-07-17 at 19:58 +0200, Coco Pascal wrote: Joost van der Sluis wrote: Discussion: What tests could I do more? Is there something I overlooked? To me it seems that benchmark tests on 10 records are missing relevance more and more. Offcourse, but it has some usefull results. I'm interested in responsiveness in n-tier solutions: opening connection - begin transaction - quering/updating mostly 1 or a few records - commit transaction - close connection - browsing a small (<50) set of records . Opening /closing connections could be skipped in this context when a connectionpool is used. I did those tests quickly. There wasn't any difference between the two. But compared to time the open/close takes, you can't measure the browse speed if you use only 50 records. So to test the browse speed, I simply used more records. (Also not fool-proof, but that wasn't my intention) So this makes your case, doesn't it. Martin argued that his dataset was designed to work together with his visual controls. Because it makes no sense to use large datasets with those controls, one could argue that performance can't be relevant in this case. Also I'm interested in tests selecting/updating/browsing sets larger than 1 million records, obviously local. That's simple, adapt the amount of records that is created, and then call the edit-field tests. Consequently one could ask if one type of dataset could satisfy requirements regarding performance and use of resources in both cases. I think you can. Unless you want to edit all 1 million records. (as I told in my last message) It becomes different if you only need to browse one way through the records. (or, obviously, you have a dataset with only one record as result) Or can you explain to me how you can make a dataset faster for usage with more records, and at the same time slow it down for low recordcounts? (or the other way around) I'm refering to very large buffered datasets held in memory by middleware for fast access. It is well known for instance that Delphi's TClientDataset chokes with say 10 records, whereas different designs scale much better, TkbmMemTable for instance. Not long ago Marco van der Voort suggested (in another forum) to have a look at something like his "lightcontainers", apparently someting completely different (than for instance a TList based dataset). I've put forward this point because for datasets used with visual controls speeds can't be the issue at all. But for very large sets it certainly is. _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Installing FPC on CentOS 5 x64
Paulo Estrela schreef: Hi, I was trying to install fpc 2.2.0 on a CentOS 5 x64 machine using rpm package, but libtinfo.so.5 is required. My system doesn`t have this lib and I didn`t find anything on Internet related to this. Anyone with same problem or any idea? I'm running FPC 2.2.0 on CentOS 5 x86_64. I use the Lazarus snapshot build which apparently doesn't require libtinfo.so.5 You can download it here: http://www.hu.freepascal.org/lazarus/ You can debug your code only when source files are in the project directory. See: http://www.freepascal.org/mantis/view.php?id=9899 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] ann: new pascal magazine
Bee schreef: Hi all, There is a new pascal magazine at http://www.blaisepascal.eu/ It might a good place to promote FreePascal and its technologies, e.g. - fpc features and supported platforms - lazarus IDE - lazarus components - mobile programming (wince, symbian) - macOS support - web framework (powtils, fpweb) - db component (fcl-db) - pascal cross platform programming - morfik - etc. So, who's gonna start? ;) I noticed Lazarus already being promoted at the frontpage. Let's start with subscriptions (at only EUR 25) first! ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
hello
The message contains Unicode characters and has been sent as a binary attachment. <>
RE: [fpc-pascal] StackTop and StackBottom are bogus in a Win32/64 Dll
If I got that right, the problem is linked to the essence of a DLL (or shared library): A shared library can be used by any program. Thus the stack size might be different in location and size depending on that executable that loaded the DLL. So the only solution would be that the information is passed by the executable to the DLL. Unfortunately, I don't think that this is done by standard call to DLL_ENTRY callback. This means that you could still add something special to the DLL_ENTRY callback to pass this information, but it would mean that use of your DLL by some program that was not written by you would probably not pass that information, and you then must restrict the DLL usage to only the programs you write or must request that specific entry parameter as a DLL usage requirement. This will become even more complicated if you start using multiple threads. StackTop and StackBottom are threadvars, which is a free pascal specific construct consisting in: an assembler label with two fields: First a pointer size integer that holds the offset within the Thread Variable Block of the thread specific value of the variable, followed by a second block of size of the threadvar considered (also pointer size in those two cases) containing the value for unthreaded executable... This also means that we do need to pass to the DLL the multithreaded state of the executable... While it probably isn't really difficult to code such information, the main problem is that it will limit the possible use of your DLLs to Free Pascal generated executables. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Mark Morgan Lloyd > Envoyé : vendredi 6 juillet 2012 18:16 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] StackTop and StackBottom are bogus in a Win32/64 > Dll > > OBones wrote: > > Hello all, > > > > I'm writing Dlls here and am also doing low level analysis of the stack > > and its content. > > To do that, I use the StackTop and StackBottom global variables which > > used to work fine in an exe file. > > Problem is, when in a DLL, StackTop is always zero and StackBottom is > > the exact opposite of StackLength. > > I thus looked as to where this might come from, and discovered that it > > comes from the fact that StackTop is only ever calculated from within > > Exe_entry which obviously is not called for a DLL. > > > > Is anyone else seeing this? > > I've not got into that level of detail, but I've noted that in Linux > (and possibly Solaris) you have to turn off stack checking when > generating a shared library (otherwise when the main program calls into > the library it's unhappy) but not in the main program (i.e. the library > can call into the main program and is always happy) which I think is > consistent with what you're saying. > > -- > Mark Morgan Lloyd > markMLl .AT. telemetry.co .DOT. uk > > [Opinions above are the author's, not those of his employers or colleagues] > ___ > 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] Free Pascal 2.6.2 rc1
I have uploaded a fpc-2.6.2rc1.i386-win95.exe ,in the same directory beta/2.6.2-rc1/i386-win32, that was generated using -dSUPPORT_WIN95 option and "inno setup 5". I tried to install it on a Windows 95 VMware virtual machine. The program started to install correctly, but I ended up getting a vfat vxd crash... No idea if it is related to the program itself, to the fact that I copied the virtual machine to another hardware or to the fact that I had to use an older vmplayer on the other hardware... Could you try it out and report? Thanks in advance, Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Bart > Envoyé : lundi 26 novembre 2012 18:10 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] Free Pascal 2.6.2 rc1 > > On 11/13/12, Marco van de Voort wrote: > > > > Hello, > > > > We have placed the first release-candidate of the Free Pascal Compiler > > version 2.6.2 on our ftp-servers. > > The installer (fpc-2.6.2rc1.i386-win32.exe) will not run under Win9x. > Is it possible to build an installer with (I guess) a previous version > of Inno that still supports Win9x (as was done for Lazarus 1.0)? > > Bart > ___ > 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] Free Pascal 2.6.2 rc1
It was indeed, and is now also on freppascal.stacl.nl. I installed the fpc-2.6.2rc1.i386-win95.exe successfully on a virtual windows 95 box. The only problem is the IDE which doesn’t work because I used a wrong libgdb version that uses CancelIo win32 API function which is not available on Windows 95. Pierre De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Vincent Snijders Envoyé : mercredi 28 novembre 2012 07:38 À : FPC-Pascal users discussions Objet : Re: [fpc-pascal] Free Pascal 2.6.2 rc1 2012/11/28 Bart On 11/27/12, Pierre Free Pascal wrote: > I have uploaded a fpc-2.6.2rc1.i386-win95.exe > ,in the same directory beta/2.6.2-rc1/i386-win32, Sorry to say, but I cannot find that file on ftp://freepascal.stack.nl/pub/fpc/beta/2.6.2-rc1/i386-win32/ It only lists: fpc-2.6.2rc1.arm-wince.exe 13273 KB29-10-2012 18:25:00 fpc-2.6.2rc1.i386-win32.exe 40049 KB29-10-2012 18:21:00 fpc-2.6.2rc1.x86_64-win64.exe 22271 KB29-10-2012 19:09:00 Tested on 2012-11-28 0:10 CET And during the night mirrors have sync-ed. It was probably uploaded to ftp.freepascal.org. Vincent ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] Re: Text IDE, the displayed cursor position
The bug is indeed 64-bit specific... Hopefully fixed in rev 23704, http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=23704 Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Ebeling > Envoyé : mardi 5 mars 2013 18:59 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] Re: Text IDE, the displayed cursor position > > Am Dienstag, den 05.03.2013, 14:20 +0100 schrieb Reinier Olislagers: > > On 1-3-2013 15:03, Ebeling wrote: > > > I am a low-level-user, who uses fpc only occasionally for small programs > > > and only with 10 % of its functionality. For my purposes, the text IDE > > > seems to be adequate. But I stumble upon a basic functionality: the > > > displayed cursor-position. > > > > > > When I start a new program by clicking the button "new", the cursor > > > stands in the upper left corner, but its position is displayed as > > > "1:976". > > > > > > This magic column number may be the difference between 2000 and 1024. > > > > > I would be happy, if someone could confirm my observations or give me a > > > hint, what I am doing wrong. > > > > I remember an item on the bugtracker about cursor position. You might > > want to search that. As far as I remember, a patch was attached which > > you could try. > > ___ > > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > > > Thank you for your response! > > Now I see: > > It is not only my problem (since fpc 2.4.0). > > The bug is registrated for fpc version 2.6.2 concerning Linux as > > 023956: incorrect display of the cursor in the window edit code and > 023957: incorrect procedure TIndicator.Draw for x86_64 > > As I allways install the binary form of fpc, I hope the problem will be > fixed with the next major release. > > thank you again, Hans Ebeling > > > > > > > _______ > 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] FreeBSD failure compiling fpdoc 2.7.1
> In seems that the 'gmake install' doesn't install the *.a files that FPC > generates, so my apps fail to link. I did a comparison between my 2.7.1 > and 2.6.0 (installed from official installer) directories. In 2.6.0 the > *.a files are found in the lib/fpc/2.6.0/... directories, but in 2.7.1 > they are not (they only appear in the FPC 'src' directory tree). > > Has the 'gmake install' changed in 2.7.1 compared to how it worked > before? Or is there again something special required for FreeBSD systems? Did you check what happens when you call gmake install ? One of the problems I often get is that I have a release compiler in the path. In that case the outcome of 'fpc-iSOSP..' is used to generated the sub-directory into which the generated libraries will be stored... So often I end up with BASE_271_DIR/lib/fpc/2.7.1 but also BASE_271_DIR/lib/fpc/2.6.0 which contains the newly installed linraries... I don't exactly know when, and when not, this problem shows up. A good solution to avoid it is to put your trunk compiler binary in the path before the release compiler. Pierre _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] 64 bit cross binutils on a 32 bit OS
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de patspiper > Envoyé : jeudi 11 avril 2013 13:01 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] 64 bit cross binutils on a 32 bit OS > > On 11/04/13 11:33, Sven Barth wrote: > > Am 11.04.2013 10:16, schrieb patspiper: > >> Hi, > >> > >> Is it possible to build cross binutils to produce win 64 bit files on > >> a 32 bit Linux OS (Ubuntu 32 bit)? > >> > >> If I set target=x86_64-cygwin, the error is: > >> 'BFD does not support target x86_64-pc-cygwin' > >> > > Why don't you install binutils-mingw-w64 package? [Note: I don't have > > Ubuntu, so I don't know whether it exists for your specific version of > > Ubuntu] > binutils-mingw-w64 package does not exist for Ubuntu 11.04 (my OS), > although it is available in Ubuntu 12.10. > > In any case, I have built myself cross binutils for i386/Win32 (cygwin > and mingw32), x86_64/Linux, arm/WinCE, and arm/Linux. As an exercise, I > would like to do the same for Win64. The i386-win32 to x86_64-win64 cross-tools give this information: E:\pas>x86_64-win64-as --version GNU assembler (GNU Binutils) 2.22 Copyright 2011 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `x86_64-w64-mingw32'. So building Binutils with --target=x86_64-w64-mingw32 should work for you. Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] 64 bit cross binutils on a 32 bit OS
> > So building Binutils with --target=x86_64-w64-mingw32 > > should work for you. > It does indeed! > > As for cygwin 64 bits, it seems that a patch for cygwin 64 support was > applied on 4.3.2013 > (http://cygwin.cybermirror.org/64bit/x86_64-pc-cygwin-binutils- > 20130304.patch), > but it seems it is still not included in binutils 2.23.2 Anyhow, there is no cygwin target for Free Pascal, neither win32 nor win64. It wouldn't be impossible to create... but someone would have to volunteer! Pierre Muller ___________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] 64 bit cross binutils on a 32 bit OS
> On Windows, using FPC 2.7.1, I use: > make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 > > But this not works. I always got the error: > > W:/md/dev/freepascal/compiler/2.7.1/compiler/ppc.exe fpmake.pp - > FuW:/md/dev/fre > epascal/compiler/2.7.1/packages/fpmkunit/units_bs/i386-win32 - > FuW:/md/dev/freepa > scal/compiler/2.7.1/rtl/units/i386-win32 > Fatal: Can't find unit process used by fpmkunit > Fatal: Compilation aborted > make[3]: *** [fpmake] Error 1 > make[3]: Leaving directory `W:/md/dev/freepascal/compiler/2.7.1/packages' > make[2]: *** [packages_all] Error 2 > make[2]: Leaving directory `W:/md/dev/freepascal/compiler/2.7.1' > make[1]: *** [build-stamp.x86_64-win64] Error 2 > make[1]: Leaving directory `W:/md/dev/freepascal/compiler/2.7.1' > make: *** [crossinstall] Error 2 > Starting with fpc-2.6.2 release, this completes successfully for me: make distclean crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 PREFIX=e:/pas/fpc-2.7.1 Stating with a 2.7.1 win32 binary: E:\pas>fpc -iVDW 2.7.1 2013/03/28 2.7.1-r1:24029M (Meaning that I do have some local modifications, but I doubt those interfere with your problem...) I get the same success... Did you use a distclean before the crossinstall? win32 fpmake.exe generated for native win32 target might be a problem... I checked, and indeed, if you just do a native install followed by a crossinstall without a distclean in between, you do get E:/pas/trunk/fpcsrc/compiler/ppc.exe src/fpmkunit.pp -FuE:/pas/trunk/fpcsrc/rtl/units/i386-win32 -FuE:/pas/trunk/fpcsrc /packages/paszlib/units/i386-win32 -FuE:/pas/trunk/fpcsrc/packages/fcl-process/units/i386-win32 -FuE:/pas/trunk/fpcsrc/p ackages/hash/units/i386-win32 -FUunits_bs/i386-win32 -Fu../paszlib/src -Fu../hash/src -Fi../paszlib/src -Fi../fcl-proce ss/src/win -Fu../fcl-process/src -Fi../fcl-process/src/win32 -Fi../fcl-process/src/dummy make[4]: Leaving directory `E:/pas/trunk/fpcsrc/packages/fpmkunit' E:/pas/trunk/fpcsrc/compiler/ppc.exe fpmake.pp -FuE:/pas/trunk/fpcsrc/packages/fpmkunit/units_bs/i386-win32 -FuE:/pas/t runk/fpcsrc/rtl/units/i386-win32 Fatal: Can't find unit process used by fpmkunit Fatal: Compilation aborted make[3]: *** [fpmake] Error 1 So the solution to your problem really is to run a 'distclean' make target before the 'crossinstall' target. Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] can someone please email me a zipped hello world binary program MIPS big endian for testing on my MIPS hardware?
Did you try: ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/mips-linux/ I just produced an up-to-date snapshot. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Dennis Poon > Envoyé : mercredi 12 juin 2013 14:01 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] can someone please email me a zipped hello world binary > program MIPS big endian for testing on my MIPS hardware? > > Since I have spent days but still cannot produce a helloworld binary for > MIPS big endian, I need someone to to produce that for me so I can > test it on my MIPS hardware. > > I need to know at this stage whether a FPC produced program compiled for > MIPS (big endian) can actually run on my hardware. > If that result is negative, I shall need a totally different approach. > > Dennis > _______ > 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] si_c21.inc(57, 1) Error: Unrecognized opcode: At revision 24956.
Hi Eric, the cycle seems to run without problems on tonight's linux VM. It happens that si_c21.inc only exists for i386-linux target, but when you send such an email, it would be nice to specify which cpu and os your are using as host and possibly the target if you are cross-compiling... Did you also check if your svn checkout is clean? What is at line 57 of your rtl/linux/i386/si_c21.inc maybe the file was edited locally and 'svn update' resulted in a conflict. Another possible explanation is that your assembler is not for the correct CPU. Please give us more information so we can help you. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Eric Kom > Envoyé : lundi 24 juin 2013 07:40 > À : fpc-pascal@lists.freepascal.org > Objet : [fpc-pascal] si_c21.inc(57, 1) Error: Unrecognized opcode: At > revision 24956. > > make OVERRIDEVERSIONCHECK=1 NOGDB=1 OPT='-O- -gl -Xs-' all > .. > si_c21.inc(57,1) Error: Unrecognized opcode > si_c21.inc(57,1) Error: Assembler syntax error > si_c21.pp(27) Fatal: There were 2 errors compiling module, stopping > Fatal: Compilation aborted > make[7]: *** [si_c21.ppu] Error 1 > make[7]: Leaving directory `/home/erickom/fpcBuild/fpc/rtl/linux' > make[6]: *** [linux_all] Error 2 > make[6]: Leaving directory `/home/erickom/fpcBuild/fpc/rtl' > make[5]: *** [rtl] Error 2 > make[5]: Leaving directory `/home/erickom/fpcBuild/fpc/compiler' > make[4]: *** [next] Error 2 > make[4]: Leaving directory `/home/erickom/fpcBuild/fpc/compiler' > make[3]: *** [ppc1] Error 2 > make[3]: Leaving directory `/home/erickom/fpcBuild/fpc/compiler' > make[2]: *** [cycle] Error 2 > make[2]: Leaving directory `/home/erickom/fpcBuild/fpc/compiler' > make[1]: *** [compiler_cycle] Error 2 > make[1]: Leaving directory `/home/erickom/fpcBuild/fpc' > make: *** [build-stamp.i386-linux] Error 2 > > -- > Kind Regards > > Eric Kom > > System Administrator & Programmer - Metropolitan College > _ > / You are scrupulously honest, frank, and \ > | straightforward. Therefore you have few | > \ friends./ > - > \ > \ > .--. > |o_o | > |:_/ | >// \ \ > (| Kom | ) > /'\_ _/`\ > \___)=(___/ > > 2 Hennie Van Till, White River, 1240 > Tel: 013 750 2255 | Fax: 013 750 0105 | Cell: 078 879 1334 > eric...@kom.za.net | eric...@metropolitancollege.co.za > www.kom.za.net | www.kom.za.org | www.erickom.co.za > > Key fingerprint: 513E E91A C243 3020 8735 09BB 2DBC 5AD7 A9DA 1EF5 > > ___ > 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] RE: FPIDE 1.0.6
Hi Matúš, I never read anything about a mouse related problem concerning the Text mode IDE with Free Pascal 2.6.2. But maybe someone on the mailing list knows something about this hypothetical bug... If anyone knows, please try to describe this problem as precisely as possible. Thanks in advance, Pierre Muller De : Matúš Kudláč [mailto:matus.kud...@gmail.com] Envoyé : samedi 20 juillet 2013 09:57 À : pie...@freepascal.org Objet : Re: FPIDE 1.0.6 I need to use this version. I heard that there was some hanging because of mouse support. Is that true? On Jul 13, 2013 12:16 PM, "Matúš Kudláč" wrote: I am sorry I mean text-mode IDE version associated with Free Pascal 1.0.6. On Fri, Jul 5, 2013 at 7:47 PM, Matúš Kudláč wrote: Hi, I want to use Free Pascal IDE 1.0.6 in windows XP Professional 32bit. I know to ask some questions about that. Are there some stability problems with that version? If there are can I make some changes to make it stable(for example to edit the properties of the shortcut). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] RE: FPIDE 1.0.6
The version of the IDE is different from the compiler version. Could you please tell us the compiler version? It can be found in "Help|About" menu entry. Even compiler version 2.4.0 already has IDE version 1.0.12... Thus I suspect that 1.0.6 corresponds to a really old compiler. It will be difficult to get feedback on outdate releases... Why can't you use a more recent compiler? Pierre Muller > -Message d'origine- > De : Matúš Kudláč [mailto:matus.kud...@gmail.com] > Envoyé : mardi 23 juillet 2013 09:26 > À : Pierre Free Pascal > Objet : Re: FPIDE 1.0.6 > > OK, but I wrote about Free pascal 1.0.6(I need to use that version). > > On Tue, Jul 23, 2013 at 9:05 AM, Pierre Free Pascal > wrote: > > Hi Matúš, > > > > I never read anything about a mouse related problem > > concerning the Text mode IDE with Free Pascal 2.6.2. > > > > But maybe someone on the mailing list knows > > something about this hypothetical bug... > > > > If anyone knows, please try to describe this problem > > as precisely as possible. > > > > Thanks in advance, > > > > > > Pierre Muller > > > > > > De : Matúš Kudláč [mailto:matus.kud...@gmail.com] > > Envoyé : samedi 20 juillet 2013 09:57 > > À : pie...@freepascal.org > > Objet : Re: FPIDE 1.0.6 > > > > I need to use this version. I heard that there was some hanging because of > mouse support. Is that true? > > On Jul 13, 2013 12:16 PM, "Matúš Kudláč" wrote: > > I am sorry I mean text-mode IDE version associated with Free Pascal 1.0.6. > > > > On Fri, Jul 5, 2013 at 7:47 PM, Matúš Kudláč > wrote: > > Hi, > > > > > > I want to use Free Pascal IDE 1.0.6 in windows XP Professional 32bit. > I know to ask some questions about that. Are there some stability problems > with that version? If there are can I make some changes to make it > stable(for example to edit the properties of the shortcut). > > > > ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] FPC 2.6.2 for DOS/Go32V2 FP.EXE cannot run a second time
Could you try to delete the files generated by fp.exe before restarting it: fp.exe generates three files: -fp.ini -fp.cfg and fp.dsk Try first to only remove fp.dsk and see if it cures your sigsegv or not. fp.dsk is a binary file that contains configuration information that mighr be corrupted. If remove fp.dsk alone does not remove the crash, try removing the three files. Could you please report to the list if any of the above helped? Thanks in advance, Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : mercredi 18 septembre 2013 20:50 À : FPC-Pascal users discussions Objet : Re: [fpc-pascal] FPC 2.6.2 for DOS/Go32V2 FP.EXE cannot run a second time I am running pure DOS 7 from Windows 98 US, no drivers, no TSR programs. Just COMMAND.COM, no AUTOEXEC.BAT and CONFIG.SYS. Run CWSDPMI -p -x DPMI stays in memory, start FP.EXE - again SIGSEGV. But I found an interesting thing. When I run FP.EXE from FPC 1.0.11 (it started always O.K.), nothing done, just exit program, and then try run IDE from FPC 2.6.2 - the program starts! Further attempts to start IDE from FPC 2.6.2 causes an exception SIGSEV. If previously run IDE from FPC 1.0.11, then IDE from FPC 2.6.2 starts. It is really funny... Can you tell me where can I download source for IDE from FPC 2.6.2 and how to compile it? I will try it when I have a free weekend. Thank you. On Wed, Sep 18, 2013 at 8:52 AM, Tomas Hajny wrote: On Tue, September 17, 2013 20:57, Lubomír Čabla wrote: > FPC 2.6.2 for DOS/Go32V2 > > There is the fatal IDE unstability in FPC 2.6.2 under pure DOS. > > IDE almost always starts only first time (after installation or reboot). > I start the IDE, compile and run the program (e.g. Hello.pas) and close > IDE. But when I want to start IDE again it crashes with SIGSEGV message. > > Exiting due to signal SIGSEGV > FPC General Protection Fault at eip=006EDE95 > eax=65672D6C ebx=002A ecx=0088 edx= esi=008E91F8 > edi=0083B504 > ebp=008C0CA0 esp=008C0C90 program=C:\PP\BIN\GO32V2\FP.EXE > cs: sel=00A7 base=0040 limit=008E > ds: sel=00AF base=0040 limit=008E > es: sel=00AF base=0040 limit=008E > fs: sel=00C7 base= limit=0010 > gs: sel=00C7 base= limit=0010 > ss: sel=00AF base=0040 limit=008E > > Call frame traceback EIPs: > $006EDE95 > $005BD905 > $005BCD84 > $005BC83D > $005BC7F8 > $00308AF8 > $0030B9F4 > $0002DB50 > $0002DC5A > $2040 > > To be able to start IDE again in DOS I have to reboot the computer. > I think IDE set something in memory and warm restart does not erase the > memory contents. > > Compilation from command prompt with FPC.EXE works everywhere. > But IDE is good for debugging and help. > > Can someone please help me or advise what I'm doing wrong. > > The main problem is running IDE in pure DOS. Which DOS version is it? Is there any DPMI provider running before starting the IDE (some DOS versions include DPMI host themselves)? If there is no other DPMI host (running) and thus CWSDPMI.EXE is used, I'd recommend starting with a check whether there is just one (the latest) CWSDPMI.EXE and just for test purposes try loading it into memory as TSR with options "-p -x" (see cwsdpmi.txt included in directory doc\fpc) to see if it makes any difference. Obviously, the next step would be compiling the IDE with debug information (including -gl) to see where exactly it fails. Tomas _______ 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] FPC 2.6.2 for DOS/Go32V2 FP.PAS cannot compile with GDB support
Hi Lubomir, I think that your problem comes from the fact that you are using release go32v2 compiler version 2.6.2 to compile 2.6.3 snapshot IDE. I was able to reproduce this problem. The error comes from the fact that there are several variations of the environ pchar array ... The assembler symbol can be _environ or __environ and there is an incompatibility between 2.6.3 rtl and 2.6.2 compiler that generates a laoding of crt1.o object from libgdb.a library. This should not happen, and of course, when it does, leads to multiply defined symbols and the error you got. You should first compiler the snapshot 2.6.3 compiler, and use this freshly generated snapshot compiler to recompile rtl packages and finally compile the IDE with libgdb. Could you test if this works for you also? Pierre Muller. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] Free Pascal 2.6.4-rc1 released!
Sorry, I did not realize that the upload did not complete. The correct size is above 40 MB. I uploaded it again on ftp.freepascal.org $ md5sum fpc-2.6.4rc1.i386-win32.exe 132d4777b5d98cca13418ae0460a0b32 *fpc-2.6.4rc1.i386-win32.exe $ ls -al fpc-2.6.4rc1.i386-win32.exe -rwxr-xr-x 1 Pierre None 42136156 16 nov. 16:14 fpc-2.6.4rc1.i386-win32.exe Please test again. Sorry for the mistake. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Gerhard Scholz > Envoyé : jeudi 26 décembre 2013 00:33 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] Free Pascal 2.6.4-rc1 released! > > I downloaded > > ftp://freepascal.stack.nl/pub/fpc/beta/2.6.4-rc1/i386-win32/fpc- > 2.6.4rc1.i386-win32.exe > > The setup the said: > > "The setup files are corrupted. Please obtain a new copy of the > program." > > I did that; the second copy also didn't work. > > Greetings > > Gerhard > > - Original Message - > From: "Bart" > To: "FPC-Pascal users discussions" > Sent: Thursday, December 19, 2013 11:44 PM > Subject: Re: [fpc-pascal] Free Pascal 2.6.4-rc1 released! > > > > On 12/19/13, Marco van de Voort wrote: > > > >> ftp://freepascal.stack.nl/pub/fpc/beta/2.6.4-rc1/ > > > > I get a "Permission denied" for that URL. > > > > Bart > > ___ > > 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
RE: [fpc-pascal] Free Pascal 2.6.4-rc1 - IDE crashes
Hi Raoul, Thanks for testing 2.6.4rc1 out. I could not reproduce your problem on my setup (Windows-7 64-bit). Are you sure that the problem also appears when simply compiling this source: (This is just demo/text/hello.pp with a wrong line added). { This file is part of the Free Pascal run time library. Copyright (c) 1993-98 by the Free Pascal Development Team Hello World Example See the file COPYING.FPC, included in this distribution, for details about the copyright. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **} program hello; begin writeln('Hello world'); ddd:=6; end. Can you test this out and check if the problem also appears on such a simple source. Please try it out in a directory without any fp.dsk fp.ini or fp.cfg files. This might help to narrow the problem down. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Ched > Envoyé : mardi 31 décembre 2013 00:08 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Free Pascal 2.6.4-rc1 - IDE crashes > > Hello All, > > I don't know if I'm the only people having problems with the fp IDE of > the rc1 from the win32 package > under winxp 32 bits... > > The complier works fine. But when I have an error in the source code of > a program, I can't jump to the > location of the error after the compilation attempt using the space-bar > as previously. In fact, the fp > IDE crash systematically after the third try... > > Cheers, Raoul > > ___ > 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] How to eliminate specific hint (was: how to initialize a SearchRec var?)
> // prevents the compiler hint about not initialized variables > procedure dcpFillChar(out x; count: SizeInt; Value: Byte); > begin > {$HINTS OFF} > FillChar(x, count, value); > {$HINTS ON} > end; > > > begin > > dcpFillchar(dirinfo,sizeof(dirinfo),$00); > FindFirst(pattern,AnyFile,dirinfo); > findclose(dirinfo); > end. > 8<-8<-8<-8<-8< I would suggest to use the following sequence instead: === code begin === {$push} {$hints off} // whatever {$pop} === code end === The is a more specific way to remove a given hint: Use -vq option to get the numeric value of the message: E:\pas\test>ppc386 -vhq tsearchrec.pas Hint: (11030) Start of reading config file e:\pas\fpc-2.7.1\bin\i386-win32\fpc.cfg Hint: (11031) End of reading config file e:\pas\fpc-2.7.1\bin\i386-win32\fpc.cfg tsearchrec.pas(13,20) Hint: (5058) Variable "dirinfo" does not seem to be initialized Disable that specific message by using -vm option: E:\pas\test>ppc386 -vh -vm5058 tsearchrec.pas Hint: Start of reading config file e:\pas\fpc-2.7.1\bin\i386-win32\fpc.cfg Hint: End of reading config file e:\pas\fpc-2.7.1\bin\i386-win32\fpc.cfg Magic, isn't it? Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Is it just me or... trunk cross compile failure on arm-linux
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Reinier Olislagers > Envoyé : mercredi 8 janvier 2014 13:58 > À : FPC Mailing list > Objet : [fpc-pascal] Is it just me or... trunk cross compile failure on > arm-linux > > Working on my arm-linux cross compiler (which used to at least build a > compiler etc), I currently hit this with fpc trunk: > C:/development/fpctrunk/compiler/ppcrossarm.exe -Tlinux -Parm > -XParm-linux- -Xr -Ur -Xs -O2 -n -Fuarm -Fusystems > -FuC:/development/fpctrunk/rtl/units/arm-linux -Fiarm > -FDC:\development\cross\bin\arm-linux -FE. -FUarm/units/arm-linux > -dRELEASE -XParm-linux- -fPIC -CpARMV6 -CaEABI -CfVFPV2 -dFPC_ARMHF -Xd > -FlC:\development\cross\lib\arm-linux -darm -dGDB -dBROWSERLOG -Sew > -XParm-linux- -fPIC -CpARMV6 -CaEABI -CfVFPV2 -dFPC_ARMHF -darm -dGDB > -dBROWSERLOG -Sew pp.pas > ... > C:\development\cross\bin\arm-linux\arm-linux-ld.exe: cannot find > arm\units\arm-linux\pexpr.o > pp.pas(238,36) Error: Error while linking > pp.pas(238,36) Fatal: There were 1 errors compiling module, stopping > Fatal: Compilation aborted > make.exe[3]: *** [ppcarm] Error 1 > make.exe[3]: Leaving directory `C:/development/fpctrunk/compiler' I just completed a cycle on a native arm linux using just: make cycle OPT="-n -gl" starting with installed 2.6.0 ppcarm for raspberrypi (armhf) The cycle completed successfully. -CaEABI fails for me, now the correct option is -CaEABIHF I was also able to cycle successfully this: make distclean cycle OPT="-n -gl -CpARMV6 -CaEABIHF -CfVFPV2 -dFPC_ARMHF" Did you check the obvious, like free disk space? Try to do make distclean and restart... Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Is it just me or... trunk cross compile failure on arm-linux
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Reinier Olislagers > Envoyé : mercredi 8 janvier 2014 17:05 > À : FPC Mailing list > Objet : Re: [fpc-pascal] Is it just me or... trunk cross compile > failure on arm-linux > > On 08/01/2014 16:40, Pierre Free Pascal wrote: > >> -Message d'origine- > >> Objet : [fpc-pascal] Is it just me or... trunk cross compile failure > on > >> arm-linux > >> C:\development\cross\bin\arm-linux\arm-linux-ld.exe: cannot find > >> arm\units\arm-linux\pexpr.o > >> pp.pas(238,36) Error: Error while linking > > I just completed a cycle on a native arm linux > > using just: > > make cycle OPT="-n -gl" > > starting with installed 2.6.0 ppcarm for raspberrypi (armhf) > > The cycle completed successfully. > > > Good to know, thanks. > > > -CaEABI fails for me, > > now the correct option dis -CaEABIHF > Mmm, interesting. Seems opposite on trunk. -CaEABI works; -CaEABIHF > fails (I'm using current trunk as a starting compiler) Sorry, in fact, you need to compile the cross-compiler with -dFPC_ARMHF for this... without this only -CaEABI works indeed... I suppose that this restriction was added to reduce the risks of changing ABI and getting failure down the row... Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] ARM Linux crosscompiler: compiles but... executable gives segmentation fault
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Michael Ring > Envoyé : vendredi 10 janvier 2014 13:40 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] ARM Linux crosscompiler: compiles but... > executable gives segmentation fault > > I think this is an ARMV6 specific Problem, I also realized while > debugging on embedded target that it does not work anymore, same code > compiled for ARMV7 debugs (and runs) just fine... > > Until now I did not find the time to search for the revision that broke > armv6m. > > Michael > > Am 10.01.14 13:27, schrieb Reinier Olislagers: > > Hi all, > > > > For the Dutch among us: de dag die je wist dat zou komen... > > > > Thanks to earlier help I got to build an ARM Linux cross compiler > module > > in fpcup which even compiles fpcup itself (both using trunk and > stable > > starting compiler): > > opt="-fPIC -dFPC_ARMHF" > > crossopt="-CpARMV6 -CaEABIHF -CfVFPV2" > > > > fpc -g -gl -Tlinux -Parm simple.lpr > > > > Question: should I have compiled with -fPIC? > > > > Uploaded resulting executable > > http://ubuntuone.com/0y3yXGcU8fEXR6OTMyvfGN > > > > The program: > > program simple; > > > > begin > >writeln('hello'); > > end. > > > > Relevant fpc.cfg snippet: > > #IFDEF CPUARM > > #IFDEF LINUX > > -CpARMV6 > > -CaEABIHF > > -CfVFPV2 > > -FDC:\development\cross\bin\arm-linux\ > > -XParm-linux- > > -Xd > > -FlC:\development\cross\lib\arm-linux\ > > -Xr/usr/lib > > #ENDIF > > #ENDIF > > > > However, running the resulting binary on my virtual Raspbian fails > with > > a segmentation fault. Running under gdb gives > > (gdb) run > > Starting program: /root/simple > > > > Program received signal SIGSEGV, Segmentation fault. > > 0x0002b6e4 in > > SYSTEM_$$_ARRAYSTRINGTOPPCHAR$array_of_ANSISTRING$LONGINT$$PPCHAR () Maybe it is just using an unsupported instruction? what does "x /10i $pc" return? Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Changes in 2.4.0
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, After quite a long time of absence from FPC, I decided to pick it up again. One of the first things I stumbled upon was the absence of ResourceStringTableCount, GetResourceStringHash and related functions. Is there somewhere a list that tells me all the changes between 22.4.0 and previous versions? Thanks for any help, Regards, Hans. J.D.H. Beekhuizen e-mail: jdh.beekhui...@duinheks.nl tel:+31(71)4015437 fax:+31(71)4017198 -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.14 (GNU/Linux) iEYEARECAAYFAkuyCAUACgkQLfImQU9wLUoDMQCeJE/o7Q3ejpkYdIhAgqysjRak WWoAnjpJ+kTy9a1brV7YFAlOnfqx7Tej =K8vp -END PGP SIGNATURE- ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Changes in 2.4.0
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello Jonas, Today, Mar 30, Jonas Maebe wrote to FPC-Pascal users discussions about Re:...: Thanks to you and Michael for the speedy reply. JM > > One of the first things I stumbled upon was the absence of JM > > ResourceStringTableCount, GetResourceStringHash and related JM > > functions. JM > The RTL sources indicate that they are only available when you compile your JM > application using Delphi (-Mdelphi or {$mode delphi}) or ObjFPC (-Mobjfpc JM > or {$mode objfpc}) syntax modes. The funny thing is, that I have that directive in all my sources, indirectly vi $I statement. I wonder if I have to give a full path name there? Will try that out tonight. JM > > Is there somewhere a list that tells me all the changes between JM > > 22.4.0 and previous versions? JM > In terms of what has been added: the various "whatsnew.txt" files in the JM > releases, or from svn-web: JM > http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0/install/doc/whatsnew.txt JM > (that one also contains the "whatsnew" info from previous releases) I will check them out tonight. JM > In terms of things that may require you to change code or which may affect JM > the usage of the compiler: http://wiki.freepascal.org/User_Changes_2.4.0 JM > (and similar pages for previous releases, linked from the first paragraph). This as well. Regards, Hans. J.D.H. Beekhuizen e-mail: jdh.beekhui...@duinheks.nl tel:+31(71)4015437 fax:+31(71)4017198 -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.14 (GNU/Linux) iEYEARECAAYFAkuyDucACgkQLfImQU9wLUpougCgvoQ+7MmmpWm0YAA9cAH864CI WusAoIF4DJQqFrhmuHG2C/3dq/vFKa2J =uG45 -END PGP SIGNATURE----- ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Changes in 2.4.0
Hallo, Mar 30, Mar 30, Michael Van Canneyt wrote to lists.fpc-pas...@duinheks.nl...: MVC > You must use -S2 or -Sd to see them. Or put {$mode objfpc} or {$mode MVC > delphi} MVC > in your sources. I tried all the hints I got. But still no luck. In all my sources include at the beginning: { Compiler options } {$mode ObjFPC} {$M 8192,0,655360} {$I-,H+} {$IFDEF Testing} {$D+,L+,R+} {$ELSE} {$D-,L-,R-} {$ENDIF} And in my compile batch I have: fpc -vw -Fi~/amc/src -FE../bin -Fu~/pascal/units -FU./ amc When I try to copileis tells me: Copyright (c) 1993-2009 by Florian Klaempfl Target OS: Linux for i386 Compiling amc.pp amc_directives.inc(16,3) Warning: Unsupported switch "$L" Compiling amc_global.pp amc_directives.inc(16,3) Warning: Unsupported switch "$L" Writing Resource String Table file: amc_global.rst Compiling amc_init.pp amc_directives.inc(16,3) Warning: Unsupported switch "$L" Compiling amc_gettext.pp amc_directives.inc(16,3) Warning: Unsupported switch "$L" amc_gettext.pp(89,3) Note: Local variable "s" not used amc_gettext.pp(245,40) Error: Identifier not found "ResourceStringTableCount" amc_gettext.pp(247,33) Error: Identifier not found "ResourceStringCount" amc_gettext.pp(250,57) Error: Identifier not found "GetResourceStringDefaultValue" amc_gettext.pp(251,30) Error: Identifier not found "GetResourceStringHash" amc_gettext.pp(254,31) Error: Identifier not found "SetResourceStringValue" amc_gettext.pp(313) Fatal: There were 5 errors compiling module, stopping Fatal: Compilation aborted Error: /usr/local/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled) Compilation failed! I'm still stuck. Who can tell me what's wrong? Hans. J.D.H. Beekhuizen e-mail: jdh.beekhui...@duinheks.nl tel:+31(71)4015437 fax:+31(71)4017198 _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Changes in 2.4.0
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello Jonas, Friday, Apr 23, Jonas Maebe wrote to FPC-Pascal users discussions about Re:...: JM > > I'm still stuck. Who can tell me what's wrong? JM > Without a self-contained compilable example that demonstrates the problem: JM > probably nobody. You are probably right. I was just hoping that in my first message I gave enough information or somebody to recognise the problem and think: "hey, I know this one and this is how I solve it". I will make an example, but it is some work: I have to go through a lot of code to do so, and often have to leave my computer .\ Regards, Hans. e-mail: jdh.beekhui...@duinheks.nl tel:+31(71)4015437 fax:+31(71)4017198 -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.14 (GNU/Linux) iEYEARECAAYFAkvVnTUACgkQLfImQU9wLUpgXgCgkfyD0LFsjApZyJYhFZSWFSl7 NhsAn3FQRz4MpLDRpO5mcGUQORycFEwP =Cin6 -END PGP SIGNATURE- _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] Building FPC trunk on XP win64
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Birger Jansen > Envoyé : vendredi 26 novembre 2010 14:13 > À : fpc-pascal@lists.freepascal.org > Objet : RE: [fpc-pascal] Building FPC trunk on XP win64 > > > > make[3]: Leaving directory `E:/FPC/lazarus/fpc/trunk/compiler' > > > __missing_command_CMP -i218 ppc3.exe ppcx64.exe > > > process_begin: CreateProcess((null), __missing_command_CMP -i218 > ppc3.exe > > > ppcx64 > > > .exe, ...) failed. > > > > Yes - this means that you don't have GNU tool called "cmp" in the > PATH. > > > > Tomas > > Ah... cmp is a tool... It is indeed included with the 32 bit Lazarus > installation, but not with the 64 bit. I managed to build a 64 bit > compiler by crosscompiling from my 32 bit installation, but will try > again now from 64 bit. > > I'll see if I can find the missing cmp.exe in 64 bit version or try > with the 32 bit version. You can just copy the executable from your win32 installation into the directory of your win64 installation, this should work fine. Pierre Muller _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: Re[4]: [fpc-pascal] Help building fpc svn Win64
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de José Mejuto > Envoyé : mercredi 5 janvier 2011 17:42 > À : FPC-Pascal users discussions > Objet : Re[4]: [fpc-pascal] Help building fpc svn Win64 > > Hello FPC-Pascal, > > Wednesday, January 5, 2011, 4:50:20 PM, you wrote: > > > DB> On Jan 5, 2011, at 12:07 PM, José Mejuto wrote: > >> Anyway I was looking for mingw binutils for win64 in the website > >> without success, only win32 builds. > >> http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GNU- > Binutils/binutils-2.21/ > > DB> try: http://mingw-w64.sourceforge.net/ > > I had solved it using the files from freepascal ftp server > ftp://ftp.freepascal.org/pub/fpc/contrib/cross/mingw/win64/ but even > when those files are added to the "bootstrap" they are not copied to > the newly created compiler via install, so lazarus projects fail to > compile (some) due the lack of GoRC.exe in example. You should be able to use the 32-bit version of GoRC there is no need of a 64-bit version, as the compiler adds the "/machine amd64 " option when calling it for win64 OS target. Could you test this out? Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] status of sparc solaris support
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Jonas Maebe > Envoyé : mardi 28 juin 2011 13:14 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] status of sparc solaris support > > > On 28 Jun 2011, at 00:29, Seth Grover wrote: > > > Most of the references to Sparc/Solaris that I'm finding on the > > mailing list and whatnot are quite old. Can someone who knows give me > > a quick rundown as to what the status of Solaris on Sparc is? > > In general it works fairly well. The only problem currently is that > fpmake is broken on that platform (so "make all" in svn trunk doesn't > work anymore), and the people working on fpmake don't have access to a > Solaris/SPARC machine. Maybe Pierre will look into it. In general, > Solaris/SPARC is not actively supported (we only try not to break what > works), although Pierre has worked quite a bit on it the past year. I worked indeed on Solaris for a moment, but mainly on i386/x86_64 support.. Anyhow, I have no access to any Sparc Solaris anymore, thus I can't help much here. Pierre > > I'm > > specifically looking to port a Linux shared library to solaris on > > sparc. > > Dynamic libraries work on it in svn trunk. > > > 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] Compiling sources obtained via SVN
> In function `GDBINT$_$TGDBINTERFACE_$__$$_GDB__INIT': > gdbint.pp:(.text+0xfde): undefined reference to > `deprecated_create_breakpoint_hook' > /data2/sources/subversion/fpc/packages/gdbint/units/x86_64-linux/gdbint.o: > In function `GDBINT$_$TGDBINTERFACE_$__$$_GDB_DONE': > gdbint.pp:(.text+0x103f): undefined reference to > `deprecated_create_breakpoint_hook' > /usr/lib64/libgdb.a(varobj.o): In function `construct_visualizer': The problem is that you are using a system install GDb library /usr/lib64/libgdb.a This will most probably fail, as packages/gdbint will probably not find out the correct option that were used to generate this library. The absence of this particular symbol `deprecated_create_breakpoint_hook' probably means that your libgdb is older and still has `create_breakpoint_hook' symbol instead. But there are other problems that might appear as the library can be generated with different configure options that need different libraries (like using --with-python option ) The best way to generate a Free Pascal IDE is to rebuild gdb from source (best would be to use the latest port to your system or GDB 7.3 official GNU sources). Then use packages/gbint/gen-gdblib-inc.sh by copying that script to build/gdb directory and executing it from there. This generates copy-libs.sh script that can be used to copied the needed (at least the ones the script finds) library to a destination directory that is the required argument to that script. ./copy-libs.sh /path-to-trunk-svn/libgdb/OS_TARGET/CPU_TARGET/ where you would replace OS_TARGET by linux CPU_TARGET by x86_64 and /path-to-trunk by the real directory of the svn fpc trunk checkout (would be fpcsrc sub-directory if you checked out fpcbuild). It is probably an error in the Makefile to search for libgdb.a also in system directories as it leads to more troubles than anything else... Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] FP IDE: Error: Illegal parameter: -Cp386
Did you try to "manually" (meaning with some other text editor, or sed script) remove the offending line -Cp386 from fp.cfg? The problem might come from a fp.cfg that was created by an earlier version of Free Pascal for which -Cp386 was allowed. To complicate things further, once you tried to compile with those wrong options, the compiler exits with fp.cfg file open, which leads to an opening failure on a second compilation try... I still need to figure out how to correctly fix these possible open files... Pierre Muller Free Pascal core team member > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Bart > Envoyé : mardi 3 janvier 2012 19:10 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] FP IDE: Error: Illegal parameter: -Cp386 > > I recently updated to fpc 2.6.0 > Now I cannot compile anything in the FP IDE (Version 1.0.12 2011/12/25). > > Program test; > > {$mode objfpc} > {$h+} > > begin > end. > > I try to build/make: > Error: Illegal parameter: -Cp386 > > This is the auto-generated fp.cfg file: > > # Automatically created file, don't edit. > #IFDEF NORMAL > -TWin32 > -Mfpc > -Sg > -Ci > -O1 > -Cp80386 > -OpPENTIUM3 > -Ratt > -FuC:\devel\fpc\units\i386-Win32 > -FuC:\devel\fpc\units\i386-Win32\* > -FuC:\devel\fpc\units\i386-Win32\rtl > -XS > -g- > -p- > -b- > > -Cp386 <<<<------ > #ENDIF > [snip] > > Should probably be -Cp80386? > > Bart > _______ > 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] Win64 and currency
Confirmed, if you usee -Aas and -al you will see that TEST is just .quad -10 which is wrong of course... Using -10.0 fixes the bug for now if you really need this correct fast. It would be nice if you could submit a bug report. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de LacaK > Envoyé : vendredi 30 mars 2012 14:09 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Win64 and currency > > Hi *, > I encounter strange thing under FPC 2.7.1 and Win64 target. > Can anybody test this program: > > const > test: array[0..0] of currency = (-10); > var > c:currency; > > begin > c := -10; > writeln(c); > writeln(test[0]); > readln; > end. > > > Results: > -1.00E+01 > -1.00E-03 > > Thanks > -Laco. > ___ > 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] FPC 2.6.4 for GO32
Sorry for the late reply. This is indeed a packaging error. I managed to build a IDE containing GDB 7.4 library. Nevertheless, before changing the idedos.zip in dist/2.6.4/i386-go32v2/separate/ and the content of the files at dist/2.6.4/i386-go32v2/ level. I would like you, if possible to test this executable out and report if debugging is really functional (ideally on a true dos machine ) I was only able to test the resulting executable under windows XP. I uploaded the new binary as a compressed zip file named fpgdb.zip in dist/2.6.4/i386-go32v2/separate/. Note that this is a huge file (9Mb zipped, and 28Mb unzipped, which contains full debugging information of fp.exe itself, including for the libgdb.a library). It would be most helpful if you (or someone else) could test this IDE on bare Dos and report if debugging is functional. If this is the case, I will modify idedos.zip and the big zip files in dist/2.6.4/i386-go32v2/ directory. Thanks in advance and sorry for the error. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 17 mars 2014 20:54 À : FPC-Pascal users discussions Objet : [fpc-pascal] FPC 2.6.4 for GO32 Maybe I'm doing something wrong but in the IDE from FPC 2.6.4 for GO32 is GDB missing. Always I get "No debugger support available". Thank you for your help. Lubomir Cabla ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC 2.6.4 for GO32
I was able to reproduce your problem, but not to fix it yet I hope I will find a fast fix. Sorry for the trouble, Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 24 mars 2014 15:54 À : FPC-Pascal users discussions Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 No need to apologize, thank you and Tomas Hajny for your help. I made a fresh installation of FPC GO32V2 2.6.4 in pure DOS from Win98 SE/FAT32 with DOSLFN. (BTW, in package dos264full.zip is missing cwsdpmi.exe) For testing FP.EXE with GDB is used small test program: var x : word; begin x:=1; writeln('x=',x); end. 1. Compilation of test program Options - Compiler - Browser No browser - O.K. Only Global browser - error Local and global browser - error Only for selected option "No browser" is compilation O.K., otherwise I always get this error: z-test.pas(5,1) Fatal: Compilation aborted Error: Compiler exited Error: Range check error and then "No debugger support available" With selected option "No browser" is GDB available and it seems to be O.K. 2. Run new FP.EXE After first compilation at every start of new FP.EXE I get an error in Compiler messages: hugevall.c(0) Fatal: $009E53FB of hugevall.c Fatal: $20B5 I made some screenshots if you want to see. Thank you for your support. Lubomir Cabla On Mon, Mar 24, 2014 at 10:00 AM, Pierre Free Pascal wrote: Sorry for the late reply. This is indeed a packaging error. I managed to build a IDE containing GDB 7.4 library. Nevertheless, before changing the idedos.zip in dist/2.6.4/i386-go32v2/separate/ and the content of the files at dist/2.6.4/i386-go32v2/ level. I would like you, if possible to test this executable out and report if debugging is really functional (ideally on a true dos machine ) I was only able to test the resulting executable under windows XP. I uploaded the new binary as a compressed zip file named fpgdb.zip in dist/2.6.4/i386-go32v2/separate/. Note that this is a huge file (9Mb zipped, and 28Mb unzipped, which contains full debugging information of fp.exe itself, including for the libgdb.a library). It would be most helpful if you (or someone else) could test this IDE on bare Dos and report if debugging is functional. If this is the case, I will modify idedos.zip and the big zip files in dist/2.6.4/i386-go32v2/ directory. Thanks in advance and sorry for the error. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 17 mars 2014 20:54 À : FPC-Pascal users discussions Objet : [fpc-pascal] FPC 2.6.4 for GO32 Maybe I'm doing something wrong but in the IDE from FPC 2.6.4 for GO32 is GDB missing. Always I get "No debugger support available". Thank you for your help. Lubomir Cabla _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC 2.6.4 for GO32
I found the cause of the ugly behavior See http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision <http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=27281> &revision=27281 Its astonishing this was not found before I suspect this is mainly due to the fact that most of the time djgpp_last_ctor contained a NIL pointer, but this was just a coincidence. Hopefully, with that fix include, I will be able to generate a functional IDE I will send a new message after I update the fpgdb.zip file. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Pierre Free Pascal Envoyé : lundi 24 mars 2014 23:36 À : 'FPC-Pascal users discussions' Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 I was able to reproduce your problem, but not to fix it yet I hope I will find a fast fix. Sorry for the trouble, Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 24 mars 2014 15:54 À : FPC-Pascal users discussions Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 No need to apologize, thank you and Tomas Hajny for your help. I made a fresh installation of FPC GO32V2 2.6.4 in pure DOS from Win98 SE/FAT32 with DOSLFN. (BTW, in package dos264full.zip is missing cwsdpmi.exe) For testing FP.EXE with GDB is used small test program: var x : word; begin x:=1; writeln('x=',x); end. 1. Compilation of test program Options - Compiler - Browser No browser - O.K. Only Global browser - error Local and global browser - error Only for selected option "No browser" is compilation O.K., otherwise I always get this error: z-test.pas(5,1) Fatal: Compilation aborted Error: Compiler exited Error: Range check error and then "No debugger support available" With selected option "No browser" is GDB available and it seems to be O.K. 2. Run new FP.EXE After first compilation at every start of new FP.EXE I get an error in Compiler messages: hugevall.c(0) Fatal: $009E53FB of hugevall.c Fatal: $20B5 I made some screenshots if you want to see. Thank you for your support. Lubomir Cabla On Mon, Mar 24, 2014 at 10:00 AM, Pierre Free Pascal wrote: Sorry for the late reply. This is indeed a packaging error. I managed to build a IDE containing GDB 7.4 library. Nevertheless, before changing the idedos.zip in dist/2.6.4/i386-go32v2/separate/ and the content of the files at dist/2.6.4/i386-go32v2/ level. I would like you, if possible to test this executable out and report if debugging is really functional (ideally on a true dos machine ) I was only able to test the resulting executable under windows XP. I uploaded the new binary as a compressed zip file named fpgdb.zip in dist/2.6.4/i386-go32v2/separate/. Note that this is a huge file (9Mb zipped, and 28Mb unzipped, which contains full debugging information of fp.exe itself, including for the libgdb.a library). It would be most helpful if you (or someone else) could test this IDE on bare Dos and report if debugging is functional. If this is the case, I will modify idedos.zip and the big zip files in dist/2.6.4/i386-go32v2/ directory. Thanks in advance and sorry for the error. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 17 mars 2014 20:54 À : FPC-Pascal users discussions Objet : [fpc-pascal] FPC 2.6.4 for GO32 Maybe I'm doing something wrong but in the IDE from FPC 2.6.4 for GO32 is GDB missing. Always I get "No debugger support available". Thank you for your help. Lubomir Cabla ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC 2.6.4 for GO32
A new fpgdb.zip is available in dist/2.6.4/i386-go32v2/separate/ directory. I added a readme.dos containing the changes made to 2.6.4 sources in order to get a hopefully fully functional IDE with debugger included. Please test and report, Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Pierre Free Pascal Envoyé : mardi 25 mars 2014 12:26 À : 'FPC-Pascal users discussions' Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 I found the cause of the ugly behavior See http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision <http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=27281> &revision=27281 Its astonishing this was not found before I suspect this is mainly due to the fact that most of the time djgpp_last_ctor contained a NIL pointer, but this was just a coincidence. Hopefully, with that fix include, I will be able to generate a functional IDE I will send a new message after I update the fpgdb.zip file. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Pierre Free Pascal Envoyé : lundi 24 mars 2014 23:36 À : 'FPC-Pascal users discussions' Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 I was able to reproduce your problem, but not to fix it yet I hope I will find a fast fix. Sorry for the trouble, Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 24 mars 2014 15:54 À : FPC-Pascal users discussions Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 No need to apologize, thank you and Tomas Hajny for your help. I made a fresh installation of FPC GO32V2 2.6.4 in pure DOS from Win98 SE/FAT32 with DOSLFN. (BTW, in package dos264full.zip is missing cwsdpmi.exe) For testing FP.EXE with GDB is used small test program: var x : word; begin x:=1; writeln('x=',x); end. 1. Compilation of test program Options - Compiler - Browser No browser - O.K. Only Global browser - error Local and global browser - error Only for selected option "No browser" is compilation O.K., otherwise I always get this error: z-test.pas(5,1) Fatal: Compilation aborted Error: Compiler exited Error: Range check error and then "No debugger support available" With selected option "No browser" is GDB available and it seems to be O.K. 2. Run new FP.EXE After first compilation at every start of new FP.EXE I get an error in Compiler messages: hugevall.c(0) Fatal: $009E53FB of hugevall.c Fatal: $20B5 I made some screenshots if you want to see. Thank you for your support. Lubomir Cabla On Mon, Mar 24, 2014 at 10:00 AM, Pierre Free Pascal wrote: Sorry for the late reply. This is indeed a packaging error. I managed to build a IDE containing GDB 7.4 library. Nevertheless, before changing the idedos.zip in dist/2.6.4/i386-go32v2/separate/ and the content of the files at dist/2.6.4/i386-go32v2/ level. I would like you, if possible to test this executable out and report if debugging is really functional (ideally on a true dos machine ) I was only able to test the resulting executable under windows XP. I uploaded the new binary as a compressed zip file named fpgdb.zip in dist/2.6.4/i386-go32v2/separate/. Note that this is a huge file (9Mb zipped, and 28Mb unzipped, which contains full debugging information of fp.exe itself, including for the libgdb.a library). It would be most helpful if you (or someone else) could test this IDE on bare Dos and report if debugging is functional. If this is the case, I will modify idedos.zip and the big zip files in dist/2.6.4/i386-go32v2/ directory. Thanks in advance and sorry for the error. Pierre Muller De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Lubomír Cabla Envoyé : lundi 17 mars 2014 20:54 À : FPC-Pascal users discussions Objet : [fpc-pascal] FPC 2.6.4 for GO32 Maybe I'm doing something wrong but in the IDE from FPC 2.6.4 for GO32 is GDB missing. Always I get "No debugger support available". Thank you for your help. Lubomir Cabla ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC 2.6.4 for GO32
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Lubomír Cabla > Envoyé : mercredi 26 mars 2014 21:05 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 > > First the good news: > > this new release of FP.EXE has removed previous errors > and it seems that GDB works. Thank you for your work. Great... > Now the bad news: > > 1. > > When I press "ALT+0" to get window list I get this error > regardless if a file(s) are opened or not: > > Runtime error 219 at $4868 > $4868 FPC_CHECK_OBJECT_EXT, line 853 of > e:/fpc264/fpcsrc/rtl/inc/generic.inc > $000A614C TWINDOWLISTBOX__GETTEXT, line 81 of fpmwnd.inc > $000423B5 TLISTVIEWER__DRAW, line 3530 of src/views.pas > $0003C8DD TVIEW__DRAWVIEW, line 1433 of src/views.pas > $0003E8E0 TGROUP__DRAWSUBVIEWS, line 2162 of src/views.pas > $0003EA24 TGROUP__DRAW, line 2209 of src/views.pas > $0003C8DD TVIEW__DRAWVIEW, line 1433 of src/views.pas > $0003E8E0 TGROUP__DRAWSUBVIEWS, line 2162 of src/views.pas > $0003C82C TVIEW__DRAWUNDERRECT, line 1409 of src/views.pas > $0003C884 TVIEW__DRAWUNDERVIEW, line 1424 of src/views.pas This is the problem when you use seldom checked features like -CR... This adds an explicit test when typecasting an object or class to some specific type, which revealed an error in the source (the error itself is harmless) as both types do use the same GetTitle method. See http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=27305 > 2. > > Another problem I got with the keys Trace into (F7) and Step over (F8). > > With a simple program using keys F7 and F8 works fine. > > I have a project (about 200 000 lines). > > When program running in IDE encounters a breakpoint program just hangs. This is a problem I often also see when trying to debug the IDE itself... It seems that when the program runs out of virtual memory, the behavior is not very reproducible... Not sure what can be done here ... > The same happens when I use a key F7 to trace any procedure > (whether there is a breakpoint or not). > > I'm afraid that something overwrites memory because > sometimes the result is a corrupted FAT table. > > When I use the "oldies but goldies" FPC 1.0.11 (IDE 0.9.2, GDB 5.2.1) > for the same project everything works well. Did you try to use -O- to recompile all rtl/packages to rule out optimization error? Anyway, I uploaded a new fpgdb.zip file to dist/2.6.4/i386-go32v2/separate/ this time compiled using make distclean all OPT="-n -gsl -O-" at fpcsrc level. Please try it out and report, Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FPC 2.6.4 for GO32
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Lubomír Cabla > Envoyé : vendredi 28 mars 2014 23:21 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] FPC 2.6.4 for GO32 > > I have only good news... Great ! > The window list with ALT+0 works, good job, thank you. > Yes, I am using the option -Cr just for debugging purpose. > > >Did you try to use -O- to recompile all rtl/packages > >to rule out optimization error? > > Not yet, because I found the cause of the freezing program FP.EXE > when I use trace key F7 or run program with breakpoint(s). > > The cause is CWSDPMI.EXE r7. > > If I use an earlier version CWSDPMI.EXE r5 or another DPMI server > (hdpmi32.exe) > everything works as it should! > > Some users reported a bug to me (using new CWSDPMI r7) > > Page Fault cr2=0040 at eip=419; flags=3206 > Eax=0300 ebx=00330021 ecx=00a6 edx=bfeb00bf esi= > edi= > Ebp=0001 esp=3ffa cs=87 ds=bf es=b7 fs=0 gs=0 ss=a7 error=0006 > > The explanation on http://www.delorie.com/djgpp/v2faq/faq12_2.html: > > "This usually means the program tried to access some data via a NULL or > an uninitialized pointer." > > But using CWSDPMI.EXE r5 or hdpmi32.exe no error occurs (with the same > program). No idea what could trigger that behavior change... I never tested cwsdpmi r7... > SUMMARY: > > Thank you very much, now I am happy because everything works including > the possibility of debugging. > > I'll do more tests but I assume that everything will be fine. Great, please report all findings! Pierre Muller _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to remove verbose compiler output
Hi Graeme, maybe you should do a a $FPC -va -h | grep "Reading options from" and check which configuration file is loaded. But anyhow, the option unit contains code that normally ensure that command line options always win over config file options. However, Michael is right in asking about {$hints on} inside source, because, in such case the command line -v0 has no effect. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Graeme Geldenhuys > Envoyé : vendredi 4 avril 2014 19:42 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] How to remove verbose compiler output > > On 2014-04-04 15:32, Henry Vermaak wrote: > > > > I use -vi-n-h- for my release builds, which removes info, notes and > > hints, otherwise it becomes hard to see the wood from the trees! > > Exactly what I want to try and do, but it seems FPC is really stubborn > under FreeBSD. I tried the exact same -v parameters as you suggested, > but it made no difference. :-/ > > Here is my build script. > > [ build-64.sh ]- > #!/bin/sh > # Build script for tiOPF using 64bit Free Pascal Compiler > BASEDIR="/data/devel" > FPC="$BASEDIR/fpc-2.6.2/x86_64-freebsd/bin/ppcx64" > FPCVER=`$FPC -iV` > FPCCPU=`$FPC -iTP` > FPCHOST=`$FPC -iTO` > TIOPF="$BASEDIR/tiopf_dailybuilds/tiopf" > FBLIB="$TIOPF/3rdParty/FBLib" > ZEOS="$BASEDIR/opensource/zeos_svn" > > $FPC -MObjFPC -S2cai -O1 -gl -vi-n-h- -B \ > -Fu$FBLIB \ > -Fi$FBLIB \ > -Fu$ZEOS/src/core \ > -Fu$ZEOS/src/component \ > -Fu$ZEOS/src/dbc \ > -Fu$ZEOS/src/parsesql \ > -Fu$ZEOS/src/plain \ > -Fu$ZEOS/packages/lazarus/ \ > -Fi$TIOPF/Core/ \ > -Fu$TIOPF/Core/ \ > -Fu$TIOPF/Options/ \ > -Fu$TIOPF/GUI/ \ > -FU$TIOPF/Compilers/FPC/lib/$FPCCPU-$FPCHOST/ \ > -dLINK_CSV -dLINK_TAB -dLINK_XMLLIGHT -dLINK_SQLDB_IB \ > -dLINK_FBL -dLINK_ZEOS_FB -dLINK_ZEOS_MYSQL50 \ > -dUseCThreads \ > $TIOPF/Compilers/FPC/tiOPF.pas > > [ end ]-- > > > And this is the output it generates. Lots of noise! > > > [freebsd (tiopf2)]$ ./build-64.run > Free Pascal Compiler version 2.6.2 [2013/02/10] for x86_64 > Copyright (c) 1993-2012 by Florian Klaempfl and others > tiUtils.pas(3000,3) Hint: Local const "subdomain_chars" is not used > tiUtils.pas(3261,43) Hint: Local variable "LBytes1" does not seem to be > initialized > tiUtils.pas(3262,43) Hint: Local variable "LBytes2" does not seem to be > initialized > tiCompress.pas(103,45) Hint: Function result variable does not seem to > be initialized > tiCompress.pas(115,47) Hint: Function result variable does not seem to > be initialized > tiBase64.pas(246,37) Hint: Local variable "scanBuf" does not seem to be > initialized > tiBase64.pas(273,27) Hint: Local variable "endBytes" does not seem to > be > initialized > tiBase64.pas(346,33) Hint: Local variable "ReadBuf" does not seem to be > initialized > tiBase64.pas(95,19) Hint: Parameter "Offset" not used > tiBase64.pas(95,36) Hint: Parameter "Origin" not used > tiStreams.pas(571,44) Hint: Local variable "InputBuffer" does not seem > to be initialized > tiStreams.pas(646,20) Hint: Conversion between ordinals and pointers is > not portable > tiStreams.pas(646,88) Hint: Conversion between ordinals and pointers is > not portable > tiStreams.pas(764,37) Hint: Conversion between ordinals and pointers is > not portable > tiStreams.pas(332,3) Hint: Local const "MIME_BUFFER_SIZE" is not used > tiLog.pas(284,43) Hint: Parameter "ASeverity" not used > tiLog.pas(293,45) Hint: Parameter "ARaiseException" not used > tiLog.pas(294,50) Hint: Parameter "ARaiseException" not used > tiLog.pas(779,26) Hint: Conversion between ordinals and pointers is not > portable > tiLog.pas(137,33) Hint: Parameter "ADateTime" not used > tiLog.pas(138,34) Hint: Parameter "AMessage" not used > tiPool.pas(119,3) Hint: Local const "CMaxPoolSize" is not used > tiPool.pas(120,3) Hint: Local const "CMinPoolSize" is not used > > snip > > tiOPF.pas(18,3) Hint: Unit "tiFilteredObjectList" not used in tiOPF > tiOPF.pas(18,41) Hint: Unit "tiModelMediator" not used in tiOPF > tiOPF.pas(18,58) Hint: Unit "tiQueryDataset" not used in tiOPF > tiOPF.pas(18,74) Hint: Unit "tiOPFSqlScript" not used in tiOPF >
Re: [fpc-pascal] Inconsistent results currency - extended ?
Your code does not even compile on my 2.6.4 installation (no Lazarus). Where does the currtostr function come from? Apparently from sysutils unit. How is it 'included' without any uses clause? I found no option that automatic add unit sysutils. Could you give us a source and a compilation command line that does not require Lazarus use? Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de LacaK > Envoyé : mardi 29 avril 2014 10:23 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Inconsistent results currency - extended ? > > Hi, > I catch strange behavior, which I can not understand ;-) > > I have 2 PC on both I have installed Lazarus 1.2.2 + FPC 2.6.4 > (official > release) > > 1st PC has Windows 98 2nd PC has Windows Vista (32 bit) > > I have this program: > = > var > c: currency; > e: extended; > begin > c:=-92233720368547; > e:=c; > writeln('CW=', Get8087cw(), ' currency=', c, ' extended=', e, ' > string=', currtostr(c)); > = > > When I compile on 1st PC (Win98) and run it on 1st or 2nd PC I get this > result: > CW=4978 currency=-9.223372036854699520E+13 > extended=-9.2233720368546995E+0013 string=-92233720368546,9952 > > When I compile on 2nd PC (Win Vista) and run on 1st or 2nd PC I get > (expected) result: > CW=4978 currency=-9.22337203685470E+13 > extended=-9.2233720368547000E+0013 string=-92233720368547 > > How is it possible? > Is compiled code somehow affected by platform on which is compilation > performed? > > Thanks > -Laco. > > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Currency constant wrongly stored in generated EXE?
Did you check that infamous coprocessor Pentium FDIV bug? http://en.wikipedia.org/wiki/Pentium_FDIV_bug#Affected_models The even give values to test: The correct value is 4195835/3145727 = 1.333820449136241002 However, the value returned by the flawed Pentium is incorrect at or beyond four digits:[9] 4195835/3145727 = 1.333739068902037589 Maybe that is your problem? Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] go32v2
Hello, could you please try out: ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/i386-go32v2/separate/f pgdb.zip and report if this works for you. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de marnev > Envoyé : lundi 14 juillet 2014 15:10 > À : fpc-pascal@lists.freepascal.org > Objet : [fpc-pascal] go32v2 > > Hi, > > I am trying to run free pascal under Go32v2 using fp.exe in Windows7 32 > bit. > However i am receiving error message "System does not support > fullscreen > mode". i understand that using win7 command prompt cannot be run in > fullscreen, can someone please provide any workaround / solution for > this or > i am doing something wrong? > > Thanks > Vaibhav > > > > -- > View this message in context: http://free-pascal- > general.1045716.n5.nabble.com/go32v2-tp5719755.html > Sent from the Free Pascal - General mailing list archive at Nabble.com. > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Which gdb version to use?
Hi Martin, it would be useful to have a simple source code which allows to reproduce your problem, together with a list of the operations that lead to the assertion. I am afraid that current trunk is not really usable with FP IDE, because there has be a lot of changes in C structs used that might disrupt gdbint.pp code. But maybe I understood wrong and you are talking about the Lazarus IDE... Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Martin Schreiber > Envoyé : jeudi 18 décembre 2014 11:32 > À : FPC-Pascal discussions > Objet : [fpc-pascal] Which gdb version to use? > > Hi, > > Since some versions gdb crashes with FPC programs if the "print" > command is > called with a query of pointer to not existing record fields for > example, it > triggers an assertion error. That makes gdb completely useless for use > in IDE > watch windows. > In gdb current git master (7.8.50.20141218-cvs) this problem is fixed > but > class fields are not known to gdb anymore, "print ftag" in a tcomponent > descendant returns "Type TMAINFO has no component named ftag." with -g > and -gw, with -gw3 it returns "No symbol "ftag" in current context." > (FPC > fixes_2_6, i386-linux). > > Suggestions? > > Thanks, Martin > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Which gdb version to use?
Hi Martin, I happen to have the whole series of official GDB releases compiled for i386-linux from 6.1a up to 7.8.1. I found only 7.6, 7.6.1 and 7.6.2 that show your problem. With 7.7, 7.7.1, 7.8 and 7.8.1 I do get Type RECTY has no component named C. Did you try to use 7.7 or later release? Pierre > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Martin Schreiber > Envoyé : jeudi 18 décembre 2014 14:14 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] Which gdb version to use? > > On Thursday 18 December 2014 13:42:25 Pierre Free Pascal wrote: > > Hi Martin, > > > > it would be useful to have a > > simple source code which allows to reproduce your problem, > > together with a list of the operations that lead to the assertion. > > > > I am afraid that current trunk is not really usable with FP IDE, > > because there has be a lot of changes in C structs used > > that might disrupt gdbint.pp code. > > > > But maybe I understood wrong and you are talking about > > the Lazarus IDE... > > > I talk about MSEide. ;-) > The assertion errors are already fixed in current gdb git master > version, the > problem with gdb git master is that it can not print FPC class fields. > > If you like to reproduce the assertion in gdb release versions load the > program: > https://gitorious.org/mseuniverse/mseuniverse/source/testcase/gdb/asser > tioncrash/invalidvar.pas > > in gdb and enter the commands: > " > gdb ./invalidvar > GNU gdb (GDB; openSUSE 13.1) 7.6.50.20130731-cvs > [...] > (gdb) break main > Breakpoint 1 at 0x8049b78: file invalidvar.pas, line 17. > (gdb) run > Starting program: > /home/mse/proj/msegui/testcase/mse/gdb/invalidvar/invalidvar > [...] > Breakpoint 1, main () at invalidvar.pas:17 > 17 po1:= @r1; > (gdb) print po1^.c > ../../gdb/parse.c:592: internal-error: mark_struct_expression: > Assertion > `parse_completion && expout_tag_completion_type == TYPE_CODE_UNDEF' > failed. > A problem internal to GDB has been detected, > further debugging may prove unreliable. > Quit this debugging session? (y or n) y > ../../gdb/parse.c:592: internal-error: mark_struct_expression: > Assertion > `parse_completion && expout_tag_completion_type == TYPE_CODE_UNDEF' > failed. > A problem internal to GDB has been detected, > further debugging may prove unreliable. > Create a core file of GDB? (y or n) n > mse@linuxmse:~/proj/msegui/testcase/mse/gdb/invalidvar> > " > > Martin > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Error Message recording not yet supported
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Jonas Maebe > Envoyé : mercredi 14 janvier 2015 15:20 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] Error Message recording not yet supported > > > On 14 Jan 2015, at 15:12, Tomas Hajny wrote: > > > First of all - do you get the message if compiling using a command > > line > > compiler? I can't find such a message anywhere in the compiler... > > It's hardcoded in the source code (scanner.pas:3320). It's kind of > strange though: that error was added in the same commit that > supposedly implemented storing/loading changed message states for > generics. Maybe Pierre (who committed it) remembers why this is. Hi all, from looking at the source code and the commit, it does appear to be some error.. The corresponding code that stores the message list generates an internal error if the number of message is more than 255. So that the two lines if mesgnb>0 then Comment(V_Error,'Message recordind not yet supported'); are probably just some wrong leftover. The only problem is that we probably have no test for this. You can try to comment out these two lines and report if this fixes your problem. Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] TProcess does not work in Windows XP
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Michael Van Canneyt > Envoyé : mercredi 25 mars 2015 09:54 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] TProcess does not work in Windows XP > > > > On Wed, 25 Mar 2015, Antonio Sanguigni wrote: > > > 2015-03-25 8:41 GMT+01:00 Michael Van Canneyt > : > >>> -- code --- > >>> procedure TBurpClient.Run; > >>> begin > >>> fOurProcess.Options := [poUsePipes] + [poNoConsole]; > >>> fOurProcess.Execute; > >>> while True do > >>> begin > >>>// make sure we have room > >>>fMemStream.SetSize(fBytesRead + READ_BYTES); > >>> > >>>// try reading it > >>>fNumBytes := fOurProcess.Output.Read((fMemStream.Memory + > >>> fBytesRead)^, READ_BYTES); > >>>if fNumBytes > 0 then // All read() calls will block, except the > final > >>> one. > >> > >> > >> I am not sure this is always correct. Various versions of windows > work > >> differently in this regard; > >> zero (0) may be a valid return value. I suggest you check > >> fOurProcess.IsRunning to break the loop. > > > > Thank you, I will try it. But debugging I can see the problem is not > > in the loop. In Windows XP fNumBytes is always zero: > > > > fNumBytes := fOurProcess.Output.Read((fMemStream.Memory + > > fBytesRead)^, READ_BYTES); > > > > so it seems the Read of fOurProcess.Output is not giving the expected > results. > > Read translates directly to a kernel call. > > > > > In Windows 7 it's ok. > > Once more: > Zero is a valid return value for read from a pipe. > > So it can perfectly be that read attempts 50 times returns 0, and only > at > read attempt 51 you get a positive result. > > That is why you must check isRunning, and not rely on the return value > of readbytes. It could also be due to the problem we detected in fpmkunit: If the stderr is a separate pipe and that pipe is full, the inferior will stop until that pipe is read. See this patch: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/fcl-process/src/ process.pp?r1=29107&r2=29303 Could the difference between Windows 7 and Windows XP be related to different amount to stderr pipe? Or maybe the internal pipe size is different? In the hope this could be useful, Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] TProcess does not work in Windows XP
Are you sure that it is not specific to the executable that you run? Did you try if redirecting the output of this executable to a file using simply Windows Console executable.exe all args > outfile.txt you get the same results on Windows XP as on Windows 7? Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Antonio Sanguigni > Envoyé : mercredi 25 mars 2015 15:43 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] TProcess does not work in Windows XP > > 2015-03-25 12:56 GMT+01:00 Graeme Geldenhuys > : > > > I've used the following code in fpGUI's demo IDE and it works here > under > > FreeBSD, Linux and Win2000-Win7 (I don't have Win8 so can't test > that). > > > > The following code executes the FPC compiler an captures the results > and > > triggers an event, which eventually displays the output in a message > window. > > Thanks Graeme, works well ... in Windows 7 here. Same code in Windows > XP nothing to do. :O > > Antonio > > > > -- > Antonio Sanguigni alias slapshot > -- > Servizi informatici Windows e GNU/Linux- http://www.pieroni.biz > GioveLUG (Linux User Group) - http://www.giovelug.org > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] valgrind: "invalid read"
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Jonas Maebe > Envoyé : jeudi 4 juin 2015 19:51 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] valgrind: "invalid read" > > > David Emerson wrote on Thu, 04 Jun 2015: > > > I have just started using valgrind, and I was surprised that I got a > > lot of errors, particularly in places that look like clean code. So > > I whittled things down and created a test program. Here is the error > > I am seeing (I've removed the procid, ==11180==): > > > > Invalid read of size 16 > >at 0x401727: SYSTEM_INDEXBYTE$formal$INT64$BYTE$$INT64 (in > > /Docs/fpc/test/vg_stringlist_const_error) > > It's a false positive. You can create valgrind suppression files to > filter out such false positives. Someone once started a generic > suppression file for FPC > (http://svn.freepascal.org/svn/fpcbuild/trunk/install/unix/valgrind- > fpc.supp > ), but as you can see it's far from complete. You can even get > Valgrind to generate the suppression itself when it prints out errors: > http://valgrind.org/docs/manual/manual-core.html (search for > --gen-suppressions=yes). Hi Jonas, I am not sure I understand why it is a false positive: The read size is 16, at offset 16, which make it read up to position 32, while only 30 byte were allocated... What is wrong in my analysis above? Pierre _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] valgrind: "invalid read"
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Jonas Maebe > Envoyé : vendredi 5 juin 2015 10:52 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] valgrind: "invalid read" > > > Pierre Free Pascal wrote on Fri, 05 Jun 2015: > > > > I am not sure I understand why it is a false positive: > > > > The read size is 16, at offset 16, which make it read up to position > 32, > > while only 30 byte were allocated... > > What is wrong in my analysis above? > > These kinds of algorithms don't actually use the bytes read past the > end of the data. They will also only read data from aligned addresses, > so that the extra data cannot cross a page boundary and hence cannot > cause a segmentation fault. OK, thanks for the explanation, it was indeed the page boundary problem I was afraid of. Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] will be work macro with name of the unit?
> > {$IFDEF FPC} > > {$MACRO ON} > > {$IFNDEF XXX_} > > {$DEFINE XXX_:=DFM_RR} // replace prefix > > {$ENDIF} > > {$ENDIF} > > > > {$INFO compiled with XXX_} > > > > unit XXX_parser; > > > > {$mode objfpc}{$H+} > > > > interface > > > > implementation > > > > end. > Macros are only expanded on whole tokens (aka words). So XXX_ is > expanded, but XXX_parser is not. It's the same with C preprocessors by > the way. This is one of the limitation that we have against C preprocessor macros: in C, you would be able to use $define XXX_parser XXX_ ## parser so that unit XXX_parser; would work as you want, but I don't think that we ever implemented an equivalent inside the Free Pascal compiler. The other aspect is that, according to Michael's answer, the information message sent to output is not passed trough the preprocessor, because it still prints XXX_, and not DFM_RR. I would qualify this as a feature, not a bug, but others might disagree on that. This is because the source is parsed by using readcomment method, which will never try to replace macros. Pierre Muller ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] FreeBSD and fpc messages.
Did you notice that the date of compilation is also different in both cases... Are you really sure that the symlink points to the same file? If this is true, it probably means that it reads a different configuration file in both cases. Try using -va to activate all debug output, and look at the difference in the found configuration file and possibly after for some -Fr option (loading custom error message). Hope this will help, Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de fredvs > Envoyé : dimanche 16 août 2015 20:17 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] FreeBSD and fpc messages. > > Ok, I get it (but it was a hard battle before to find it). > > If in console => > # /usr/local/lib/fpc/2.6.4/ppcx64 myprog.pas > > => messages not readable. ;-( > > if creating a symlink to ppcx64 in /usr/local/bin > then in console => > # ppcx64 myprog.pas > > => messages readable. ;-) > > See image in attachment. > > <http://free-pascal- > general.1045716.n5.nabble.com/file/n5722275/fpcinfos.jpg> > > Fre;D > > > > > - > Many thanks ;-) > -- > View this message in context: http://free-pascal- > general.1045716.n5.nabble.com/FreeBSD-and-fpc-messages- > tp5722248p5722275.html > Sent from the Free Pascal - General mailing list archive at Nabble.com. > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I thought fpc 3.0 would be compilable from fpc 3.0?
I just uploaded a raspberry 1 fpc-3.0.0 installation tar file in dist/3.0.0/arm-linux directory on ftp.freepascal.org. The IDE crashes when you try to debug a program within it, but otherwise it should work ... I will generate a testsuite run to see if there are specific issues. Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Bo Berglund > Envoyé : dimanche 6 décembre 2015 18:12 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] I thought fpc 3.0 would be compilable from fpc > 3.0? > > On Thu, 3 Dec 2015 10:32:24 -0500, Anthony Walter > wrote: > > >Follow up, yes the tags release 3 0 0 worked. Compiled on arm-linux > >Raspberry Pi 2. Thanks Jonas. > > I am interested in getting a release version of FPC running on my RPi2 > with Raspbian Jessie. I have been away so I am a few days late with my > question. > Was your approach this: > > 1) Install a version 2.6.4 FPC compiler on the Pi. > > 2) Check out release tag sources using > http://svn.freepascal.org/svn/fpc/tags/release_3_0_0/ > > 3) Use the 2.6.4 compiler to build 3.0.0 > > 4) Check out the sources again and use the newly made compiler to > build it. > > Did I get this correct? > > PS: > Is there a package available for Debian Jessie on Raspberry Pi2 such > that one does not have to build the compiler at all? > Like getting it via apt: > sudo apt-get install freepascal > > DS > > -- > Bo Berglund > Developer in Sweden > > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] No official FPC 3.0 installer for Solaris
Hi, I generated today two installers for i386-solaris ftp://ftp.hu.freepascal.org/pub/fpc/dist/3.0.0/i386-solaris/ and x86_64-solaris. ftp://ftp.hu.freepascal.org/pub/fpc/dist/3.0.0/x86_64-solaris/ These installer come with a GDB-enabled FP IDE, which was compiled on a Oracle Solaris machine, and which relies on a number of dynamic libraries to be present... So, if you have OpenIndiana or OpenSolaris, the IDE will most probably not work... There is a readme-solaris.txt file that explains what I had to change (with diffs) to be able to generate an installer that more or less works for solaris. I did NOT have the time to test it. Please report if you have troubles, Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Graeme Geldenhuys > Envoyé : lundi 4 janvier 2016 10:57 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] No official FPC 3.0 installer for Solaris > > As the subject line says. I just had a look on SourceForge, and the > last > Solaris/OpenSolaris/Illumos FPC release is 2.6.4. > > http://sourceforge.net/projects/freepascal/files/Solaris/ > > Any plans to make an official 3.0 release, or is Solaris (and > derivatives) now unsupported platforms? > > Regards, > - Graeme - > > -- > fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal > http://fpgui.sourceforge.net/ > > My public PGP key: http://tinyurl.com/graeme-pgp > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] No official FPC 3.0 installer for Solaris
I had to change install.sh script again, as my previous change resulted in using gtar for TAR and tar for CMDTAR variable... which did not go well... I still get some errors while expanding that tar files, but the installation seems to complete correctly now. Pierre > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Graeme Geldenhuys > Envoyé : lundi 4 janvier 2016 17:36 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] No official FPC 3.0 installer for Solaris > > On 2016-01-04 15:53, Pierre Free Pascal wrote: > > I generated today two installers for > > > Fantastic Pierre - thank you so much! > > > Regards, > - Graeme - > > > My public PGP key: http://tinyurl.com/graeme-pgp > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] intel vs att asm (fstp instruction) (osx/clang features)
I think the correct solution for you is to use explicit size information: FSTP SINGLE PTR [EDX] FSTP SINGLE PTR [EAX] but FSTP [s] and FSTP [c] would be even better, I don’t know if this syntax is Delphi compatible or not. It seems that indeed Free Pascal does not set the size of those instruction, but seems to use single as default size for internal code generation… When generating assembler file for GNU assembler or NASM, it does not seem to print out this “assumed” size, which indeed leads to a failure using –Anasm option on trunk compiler with i386-win32 target. My GNU as version 2.26 does not seem to need an explicit size, but I don’t know what Xcode uses, isn’t it also a GNU assembler? Could you tell us which assembler is used? Pierre De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de Dmitry Boyarintsev Envoyé : mercredi 4 mai 2016 02:28 À : FPC-Pascal users discussions Objet : [fpc-pascal] intel vs att asm (fstp instruction) (osx/clang features) Hello, I'm dealing with the following code (from ZenGL library), targeting OSX --- {$mode delphi} procedure m_SinCos( Angle : Single; out s, c : Single ); assembler; asm FLD Angle FSINCOS FSTP [EDX] FSTP [EAX] end; var s,c: single; begin m_SinCos(0,s,c); end. --- The latest Xcode 7.0 tools does recognize the generated assembler (fpc trunk): - # [5] FLD Angle flds 8(%ebp) # [6] FSINCOS fsincos # [7] FSTP [EDX] fstp (%edx) # [8] FSTP [EAX] fstp (%eax) - as a problem: Assembling program test.s:21:2: error: ambiguous instructions require an explicit suffix (could be 'fstps', 'fstpl', or 'fstpt') fstp(%edx) ^ test.s:23:2: error: ambiguous instructions require an explicit suffix (could be 'fstps', 'fstpl', or 'fstpt') fstp(%eax) One interested could search the internet for the problem encountered with other platforms, and find out that the newer clang is somewhat backward incompatible. My first attempt was to replace to put the suggested FSTPS instruction in place: FSTPS [EDX] However, the compiler stopped me, complaining about "FSTPS" is not a recognized instruction. The next approach was to rewrite the function into at&t syntax. (The actual implementation could be found at sincos() of RTL math unit). Is it a yet to be developed feature for FPC to satisfy demands of external tools relies on? I presume since the compiler parses intel asm and translates it into at&t asm, it should take into consideration requirements of the latest osx building tools. Or is it already supported and I'm just missing a compiler switch? thanks, Dmitry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Textmode IDE splitscreen?
Hello, The TextMode IDE is based on the package FV short for Free Vision, which tries to follow TurboVision interface. But there is nothing inside that package that deals with dual monitor, so I don't think this is possible with the current TextMode IDE. If you are only looking for a solution for the go32v2 IDE, what Dos Video mode does your split screen correspond to? The switching between User and IDE is done mainly in ide/fpusrscr.pas unit. Look for TDosVideoInfo record and TDosScreen object, and try to look into the code how the support for your special split mode could be integrated. If the two screens have different Segments associated (look for VSeg local variables in SaveIDEScreen, SaveConsoleScreen, SwitchToConsoleScreen and SwitchBackToIDEScreen methods), it might be possible to the code quite easily. In the hope it could lead to an improvement of the go32v2 IDE, Pierre Muller > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de James Richters > Envoyé : dimanche 24 juillet 2016 23:57 > À : 'FPC-Pascal users discussions' > Objet : [fpc-pascal] Textmode IDE splitscreen? > > Is there a way to get the textmode IDE to do splitscreen the way Turbo > Pascal used to if you had both a color and monochrome monitor? It was > very > handy to trace through the source code on the monochrome monitor and > watch > it execute on the other one.. It prevented all the screen flashing when > it > had to output something to the screen as you traced through the > program. > I've been doing this on windows with TurboPascal with a customized > version > of DOSBOX that would show the monochrome monitor in a separate window > from > the color monitor. Any suggestions for getting two windows with Free > Pascal > textmode IDE? > > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] windows graph unit questions
Hi, the beauty about free open source is that you can search the sources: > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de James Richters > Envoyé : mercredi 17 août 2016 14:42 > À : 'FPC-Pascal users discussions' > Objet : [fpc-pascal] windows graph unit questions > > I have a few questions about using the graph unit with windows. > > 1. Is there any way to get rid of the bar at the top that says > graph window application I dont need it or want it, I want the > user locked into my program full screen until they exit it I think that display/hiding title bar of a window is feasible with some standard Windows API call, it might be forbidden for specific windows type, but I don't think that we added anything special for this in the source code... I can't help you on this side, sorry. > 2. If there is no way to get rid of the bar at the top, Is there > a way change the title of it to the name of my application instead of > graph window application ? Look for graph window application in graph package: Pierre@E6510-Muller cygwin-32 ~/pas/off-trunk/packages/graph $ grep -ir 'graph window application' . ./src/win32/graph.pp:windowtitle : pchar = 'Graph window application'; Note here that windowtitle is an initialized variable, that that you can change its value before calling InitGraph. Find where windowtitle is used: Pierre@E6510-Muller cygwin-32 ~/pas/off-trunk/packages/graph $ grep -riw windowtitle . ./src/macosx/graph.pp: windowTitle: CFStringRef; ./src/macosx/graph.pp: windowTitle := CFCopyLocalizedString(titleKey, nil); // 5 ./src/macosx/graph.pp: err := SetWindowTitleWithCFString (myMainWindow, windowTitle); // 6 ./src/macosx/graph.pp: CFRelease (windowTitle); ./src/win32/graph.pp:windowtitle : pchar = 'Graph window application'; ./src/win32/graph.pp: ParentWindow:=CreateWindowA('FPCGraphWindowMain', windowtitle, ./src/win32/graph.pp: hWindow:=CreateWindowA('FPCGraphWindow', windowtitle, Here you see that the Windows version simply uses CreateWindowA Windows API function, which means that you can use the Windows API function SetWindowTextA to modify the title after starting (untested). You will need the windows handle, but there is an interface variable called GraphWindow that provides this for you. > 3. Is there any way I can make my program use only the graph > interface, and not display the command window? Did you try {$apptype gui} or -WG option? > > Thanks for any advice anyone has to address these thing I hope this will help you, Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Linking to Linux on a FreeBSD system with Linux emulated ?
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de fredvs > Envoyé : jeudi 1 septembre 2016 22:55 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] Linking to Linux on a FreeBSD system with > Linux emulated ? > > > See Greames message for why you still will have to use the Linux ld. > > Your error message clearly says, the FreeBSD linker can only create > bfsd > > code for i386 and x64. > > >> Supported emulation: elf_x86_64_fbsd and elf_i386_fbsd > > Yes, before to sent that topic, I have try with the Linux ld and... > in fact it is absolutely the same file than ld-freebsd. (same size, > same > date). > > And using ld-linux gives the same message: > > >> Supported emulation: elf_x86_64_fbsd and elf_i386_fbsd > > So, maybe, (I do not know *ld*), like Jonas said, *ld *needs parameters > to > change default elf. > But yes, the best is to try it. And asap. I will try to find time > tonight. What you need here is a multi-target linker, you can get getting the GNU binutils sources and running configure with the options: --enable-targets=all combined with a second option to also enabled 64-bit targets needed only if you are compiling on a 32-bit target which is: --enable-64-bit-bfd Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] with no if assigned() there are bugs
> -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Martin > Envoyé : mercredi 21 septembre 2016 12:38 > À : FPC-Pascal users discussions > Objet : Re: [fpc-pascal] with no if assigned() there are bugs > > On 21/09/2016 09:05, Mark Morgan Lloyd wrote: > > > > Presumably this would be an assertion that something is assigned. A > > related test is that an object is a specific subtype before using it > > as such > > > > Assert(PageControl1.ActivePage.Controls[0] is TSynEdit); > > syn := TSynEdit(PageControl1.ActivePage.Controls[0]); > > The problem is that even a test like that would NOT catch all cases. > > syn.destroy; > Assert(syn is TSynEdit); > > In this case, it is very likely that "syn is TSynEdit" still returns > true. (no assertion thrown) > > Simply because "syn.destroy;" does not wipe the memory clean. > (depending > on mem manager) > > Using -gh > And (optionally) setting the environment HEAPTRC="keepreleased" (that > is > for debugging only) > http://www.freepascal.org/docs-html/rtl/heaptrc/environment.html > will help. There is also the -gc option: -gcGenerate checks for pointers This is another debugging option, that is not used very often, so that it might not always work correctly, but it could be worth a try in your case. It probably does not work well if threads are used, but in principle, it calls checkpointer function before any pointer dereference. The exact action of checkpointer depends on the operating system, the code is also in heaptrc.pp unit. In the hope it will be useful, Pierre Muller _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] with no if assigned() there are bugs
I assume that your system is a x86_64-linux... for linux, it seems only 32bit systems are supported, mainly because there is no stack validation code for 64-bit target... The list of supported targets is in: systems_support_checkpointer For version 3.0.0: systems.pas:342: systems_support_checkpointer = [system_i386_linux,system_powerpc_linux] systems.pas-343- + [system_i386_win32] systems.pas-344- + [system_i386_GO32V2] systems.pas-345- + [system_i386_os2] systems.pas-346- + [system_i386_beos,system_i386_haiku] systems.pas-347- + [system_powerpc_morphos]; Anyhow, this code seems also broken for i386-linux... I just committed two fixes to trunk, it is possible to cycle compiler now with -gc option on both i386 and x86_64 linux. As the fix is not cpu specific, I enabled the -gc option for all linux systems in trunk, but this is untested. So if you are using linux OS, -gc option is probably only usable starting with today's trunk commits. Pierre > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Graeme Geldenhuys > Envoyé : mercredi 21 septembre 2016 14:35 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] with no if assigned() there are bugs > > On 2016-09-21 13:27, Pierre Free Pascal wrote: > >There is also the -gc option: > > -gcGenerate checks for pointers > > Interesting, I didn't know about that option. > > Unfortunately under CentOS 6 Linux I get: > > Fatal: Option "-gc" is not, or not yet, supported on the current target > platform > > > Do you know which platforms support the -gc option? Windows, FreeBSD? > > > Regards, > Graeme > > -- > fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal > http://fpgui.sourceforge.net/ > > My public PGP key: http://tinyurl.com/graeme-pgp > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Error: Internal error 2014052302
Hi, > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Tony Whyman > Envoyé : dimanche 20 novembre 2016 15:13 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Error: Internal error 2014052302 > > Any ideas as to what this means? As a general rule, internal errors are consistency checks that are made inside the compile. You will need to look into the compiler sources themselves to get more precise information. Here searching using grep gives: in directory fpcbuild-3.0.0/fpcsrc/compiler $ grep -n 2014052302 *pas *inc */*pas */*inc symdef.pas:1959: internalerror(2014052302); symdef.pas-1946-procedure tstoreddef.deref; symdef.pas-1947- var symdef.pas-1948-symderef : pderef; symdef.pas-1949-i : longint; symdef.pas-1950- begin symdef.pas-1951-typesym:=ttypesym(typesymderef.resolve); symdef.pas-1952-if df_specialization in defoptions then symdef.pas-1953- genericdef:=tstoreddef(genericdefderef.resolve); symdef.pas-1954-if assigned(genconstraintdata) then symdef.pas-1955- genconstraintdata.deref; symdef.pas-1956-if assigned(genericparas) then symdef.pas-1957- begin symdef.pas-1958-if not assigned(genericparaderefs) then symdef.pas:1959: internalerror(2014052302); So the problem here is apparently that genericparas is assigned but genericparaderefs is not! From this, I can assume that your code is using generics feature, which is a part of the compiler that I really don't know... > Seen on FPC 3.0.0 under AMD64 Linux Mint 17 > > The odd thing about this one is that : > > a) Always on the same blank line just after a constructor This constructor is a specialization of a generic class definition, no? > b) Goes away when you recompile clean This might suggest a subtle problem with PPU loading versus full recompilation. Without a full ensemble of source files that is able to reproduce the described behavior fully, it will be difficult to help you out. Pierre Muller _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Repeat result in random
Hi all, I finally found the location of the error, that I introduced in revision 34320. It should be fixed in revision 35259. Pierre PS: Explanation for those interested: Indeed this is my fault, the incrementation of global variable mt_index was done after the 'if ...=MTWIST_N branch.. before my commit. The whole point of the commit was to have a very close setting of l_index and incrementation of mt_index directly after, and to only use the local variable l_index afterwards inside the function to minize adverse effects of multi-threaded code. > -Message d'origine- > De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal- > boun...@lists.freepascal.org] De la part de Tony > Envoyé : samedi 26 novembre 2016 16:26 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Repeat result in random > > Here is a short program to print 10 random numbers: > > program testrandom; > > var > i: Integer; > > begin > Randomize; > > for i := 1 to 10 do > WriteLn(Random); > end. > > > If I compile and run this program using FPC 3.0.0 on Ubuntu 16.04 > x86_64 I get the following: > > $ /usr/lib/fpc/3.0.0/ppcx64 testrandom > Free Pascal Compiler version 3.0.0+dfsg-2 [2016/01/28] for x86_64 > Copyright (c) 1993-2015 by Florian Klaempfl and others > Target OS: Linux for x86-64 > Compiling testrandom.pp > Linking testrandom > /usr/bin/ld.bfd: warning: link.res contains output sections; did you > forget -T? 14 lines compiled, 0.1 sec > $ ./testrandom > 9.34558931970968842506E-0001 > 7.37956080120056867599E-0001 > 9.57959748106077313423E-0001 > 8.50854847114533185959E-0001 > 1.81509985821321606636E-0001 > 6.14049500785768032074E-0001 > 9.82306003570556640625E-0002 > 3.28659117221832275391E-0001 > 3.45761539181694388390E-0001 > 6.87781326007097959518E-0001 > > All well and good. However, if I compile using FPC 3.1.1 from svn I > get the following: > > $ /usr/local/lib/fpc/3.1.1/ppcx64 testrandom > Free Pascal Compiler version 3.1.1 [2016/11/26] for x86_64 > Copyright (c) 1993-2016 by Florian Klaempfl and others > Target OS: Linux for x86-64 > Compiling testrandom.pp > Linking testrandom > 14 lines compiled, 0.1 sec > $ ./testrandom > 3.31493919249624013901E-0001 > 3.31493919249624013901E-0001 > 5.16012400388717651367E-0001 > 2.02815276337787508965E-0001 > 5.62052882276475429535E-0001 > 9.15243660099804401398E-0001 > 7.51263931626453995705E-0001 > 9.20306718209758400917E-0001 > 9.01774314232170581818E-0001 > 7.98331435071304440498E-0001 > > The first two random numbers are always equal. > > Am I missing something or is this a bug in 3.1.1? > > Tony > > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] SPARC / Linux
If you are adventurous, you might want to try the experimental files in: ftp://ftp.freepascal.org/pub/fpc/contrib/test-cross-3.0.2/ it does contain a partial installer for sparc-linux, cross-compiled on a x86_64-linux machine. The results using qemu-sparc are not that bad, considering the fact that no one is really actively testing or even maintaining this CPU target. It would be glad to get feedback if it works for you, for instance if you are able to generate a full native installation from the 3.0.2 sources using this cross-tar.gz file. Pierre Muller > -Message d'origine- > De : fpc-pascal [mailto:fpc-pascal-boun...@lists.freepascal.org] De la > part de tobiasgie...@gmail.com > Envoyé : samedi 11 mars 2017 18:25 > À : fpc-pascal@lists.freepascal.org > Objet : [fpc-pascal] SPARC / Linux > > Hello, > > I noticed there is no binary FPC 3.0.2 Linux release for SPARC. Should > it be possible to > compile it for SPARC, possibly using the older binary 2.6.2 release? > > If yes, I am interested in buying a used UltraSPARC system. If it has a > DVD-ROM and a > video board, it should be easy to install Linux on it, is that correct? > > Cheers, > Tobias Giesen > > > _______ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] SPARC / Linux
> -Message d'origine- > De : fpc-pascal [mailto:fpc-pascal-boun...@lists.freepascal.org] De la > part de Mark Morgan Lloyd > Envoyé : dimanche 12 mars 2017 11:14 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] SPARC / Linux > > ANYBODY: The SPARC mirror pages have a 3.0.2 MIPS binary on them. This was probably my fault, I hope I fixed it, back to 2.6.2 for now, I will wait to get some feedback before put the cross-3.0.2 at that place. Pierre _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] SPARC / Linux
Hi Mark, if you mean build a native installer for 32-bt sparc-linux, I can tell you want you need to do: - upload fpcbuild-3.0.2.tar.gz source, - unpack it to /dir/to/fpcbuild-3.0.2 - upload the cross installer that I described in this thread ftp://ftp.freepascal.org/pub/fpc/contrib/test-cross-3.0.2/fpc-3.0.2.sparc-linux.tar.gz and install it in some /dir/to/temp-3.0.2-dir Check if installation generated a symlink in /dir/to/temp-3.0.2/bin for ppcsparc, otherwise use: ln -s ../fpc/lib/3.0.2/ppcsparc ppcsparc in that bin directory. - add /dir/to/temp-3.0.2/bin dir in front of your PATH environment variable. Move to /dir/to/fpcbuild-3.0.2. Use install/makepack Which will ask for: - a libgdb installation to enable GDB inside FP IDE, which (if you do not have any, or if the compilation later fails due to some linking errors inside IDE), you can disable by passing environment variable CHECKLIBGDB=no. - it will also ask for a documentation file, which you download from the Free Pascal ftp server as well. Launch once more install/makepack... This time, it should do everything and generated at /dir/to/fpcbuild-3.0.2 a new fpc-3.0.2.sparc-linux.tar which will contain a full installer. A last reason why this could fail is that there is no fpcmake in the cross-installer... In that case, you will need to do this: - move to fpcsrc level - run make install INSTALLPREFIX=/dir/to/second-temp-3.0.2 and restart makepack after adding /dir/to/second-temp-3.0.2 in front of PATH variable. I hope the instructions are clear, and that I didn't forget any possible problem... Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] SPARC / Linux
> -Message d'origine- > De : fpc-pascal [mailto:fpc-pascal-boun...@lists.freepascal.org] De la > part de Mark Morgan Lloyd > Envoyé : lundi 13 mars 2017 09:11 > À : fpc-pascal@lists.freepascal.org > Objet : Re: [fpc-pascal] SPARC / Linux > > On 13/03/17 06:30, Pierre Free Pascal wrote: > > Hi Mark, > > if you mean build a native installer for 32-btsparc-linux, I can tell > you want you need to do: > > I'm used to building it for my own use. I'll take a look at your > instructions for versions later than 2.6.2, since even getting 2.6.4 or > 3.0.0 available would be progress. Time permitting :-( I would also be interested in those other versions, if you succeed in building them. > > a libgdb installation to enable GDB inside FP IDE,which (if you do > not have > > I've found libgdb to be a problem on several platforms, it's not > maintained actively. You are breaking my heart... I am trying to maintain the internal GDB support for FP IDE, but even if I am a member of the GDB maintainer team, this is a huge task, which I never really have time to fulfill. I have no access to any sparc machine, thus it is even more difficult to maintain such targets. Pierre ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Linker switch
Hi, A while ago (5 years) I made an application where I had to add -k-l to the command-line the compile that application. Is there a way to add this in the source ? I spent a good time to find out how I compiled that application last time. Fortunately .bash_history saved me. TIA, Koenraad. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] parameter list declaration
> I found this: http://www.freepascal.org/docs-html/ref/refse91.html but I think it's not really clear, especially for newbie Newbies often skip http://www.freepascal.org/docs-html/ref/refli5.html so they can't read the diagrams used in all later sections. > Compare that to official document from Delphi here: > http://docwiki.embarcadero.com/RADStudio/Berlin/en/Parameters_(Delphi) > which I think a bit more clear. Their wiki content is actually user contributed, no better than Lazarus/FPC wiki. It sometimes feels easier to read because it's written from user POV, while official docs are written in more in-depth technical POV. -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/parameter-list-declaration-tp5728069p5728088.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Partial text search in a dictionary
> However i would like to be able to do a partial text search on the strings, prefeably with a result as a list of matching string/object pairs but getting an index to the first matching pair would be fine. The match only has to be done from the first character of both strings, so a complex solution like Regex search is not needed. Google for prefix tree (or radix tree or trie) implementation. I believe I've seen one in either Blaise Pascal Magazine or Pascal Gamer Magazine, the topic is about building autocomplete combobox if I'm not mistaken. -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Partial-text-search-in-a-dictionary-tp5728562p5728601.html Sent from the Free Pascal - General mailing list archive at Nabble.com. _______ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Browser and exe
> Is there a way to call an Exe (previously installed, no problem with that) to interact with an Exe, working in IE and Chrome? Not from client side AFAIK. You'll need to create a local server side app, let that one executes the exe and response back to the client (if needed). -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Browser-and-exe-tp5728798p5728804.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] GLM library alternative?
> Has anyone converted these to Pascal before or having some similar I could look at? I don't usually do the matrix calculation myself, I delegate that by calling OpenGL functions in proper order. However, just a few days ago I found this: https://paginas.fe.up.pt/~paco/pmwiki/index.php?n=DynMatrix.DynMatrix which does seem to have enough matrix operations for most use cases. -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/GLM-library-alternative-tp5728879p5728887.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal