[fpc-devel] Memleak in TFPHttpClient?
Hi, I was trying to find a memory leak in one of my apps, and found the cause was TFPHttpClient. To reproduce the issue, just compile this simple program with -gh and run. I used Free Pascal Compiler version 2.7.1 [2014/10/17] for x86_64 program test; {$mode objfpc} uses classes, fphttpclient; var lHttp: TFPHttpClient; begin lHttp := TFPHttpClient.create(nil); try lHttp.Get('some.web.site'); finally lHttp.Free; end; end. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Memleak in TFPHttpClient?
Reported: 0026959: Memleak in TFHttpClient - Free Pascal/Lazarus Bug Tracker Leonardo M. Ramé http://leonardorame.blogspot.com From: Michael Van Canneyt mich...@freepascal.org To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Tuesday, October 28, 2014 10:58 AM Subject: Re: [fpc-devel] Memleak in TFPHttpClient? Strange. I have debugged it for memory leaks in the past, and fixed all reported leaks. Please report a bug on the bugtracker. if possible, attach the output of heaptrc. Michael. On Tue, 28 Oct 2014, Leonardo M. Ramé wrote: Hi, I was trying to find a memory leak in one of my apps, and found the cause was TFPHttpClient. To reproduce the issue, just compile this simple program with -gh and run. I used Free Pascal Compiler version 2.7.1 [2014/10/17] for x86_64 program test; {$mode objfpc} uses classes, fphttpclient; var lHttp: TFPHttpClient; begin lHttp := TFPHttpClient.create(nil); try lHttp.Get('some.web.site'); finally lHttp.Free; end; end. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] x86_64-linux-as not found
Hi, I'm using XUbuntu 14.04 and it seems that x86_64-linux-as is not installed, do you know which package contains that file?. Here's the output when I try to compile from sources: make[5]: se ingresa al directorio «/home/leonardo/Desarrollo/fpc/rtl/linux» /bin/mkdir -p /home/leonardo/Desarrollo/fpc/rtl/units/x86_64-linux x86_64-linux-as --64 -o /home/leonardo/Desarrollo/fpc/rtl/units/x86_64-linux/prt0.o x86_64/prt0.as make[5]: x86_64-linux-as: No se encontró el programa make[5]: *** [prt0.o] Error 127 make[5]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl/linux» make[4]: *** [linux_all] Error 2 make[4]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl» make[3]: *** [rtl] Error 2 make[3]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[2]: *** [cycle] Error 2 make[2]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[1]: *** [compiler_cycle] Error 2 make[1]: se sale del directorio «/home/leonardo/Desarrollo/fpc» make: *** [build-stamp.x86_64-linux] Error 2 Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] fpHttpClient heartbeat
From: Michael Van Canneyt mich...@freepascal.org To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Sent: Sunday, March 9, 2014 6:22 AM Subject: Re: [fpc-devel] fpHttpClient heartbeat On Sat, 8 Mar 2014, Leonardo M. Ramé wrote: From: Michael Van Canneyt mich...@freepascal.org To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Saturday, March 8, 2014 2:42 PM Subject: Re: [fpc-devel] fpHttpClient heartbeat On Sat, 8 Mar 2014, Leonardo M. Ramé wrote: Hi, does anyone know if fpHttpClient has something similar to the HeartBeat option of Synapse?, this feature is useful for implementing download progress bars, for example. It has an onprogress event, this is implemented in trunk. Michael. Sorry Michael, I cannot find that event, is in packages/fcl-web/src/base/fphttpclient.pp ?. My apologies, I wrote from memory. Less than a month ago I implemented: Property AllowRedirect : Boolean Read FAllowRedirect Write FAllowRedirect; // Maximum number of redirects. When this number is reached, an exception is raised. Property MaxRedirects : Byte Read FMaxRedirects Write FMaxRedirects default DefMaxRedirects; // Called On redirect. Dest URL can be edited. // If The DEST url is empty on return, the method is aborted (with redirect status). Property OnRedirect : TRedirectEvent Read FOnRedirect Write FOnRedirect; // Authentication. // When set, they override the credentials found in the URI. // They also override any Authenticate: header in Requestheaders. Property UserName : String Read FUserName Write FUserName; Property Password : String Read FPassword Write FPassword; // If a request returns a 401, then the OnPassword event is fired. // It can modify the username/password and set RepeatRequest to true; Property OnPassword : TPasswordEvent Read FOnPassword Write FOnPassword; // Called whenever data is read from the connection. Property OnDataReceived : TDataEvent Read FOnDataReceived Write FOnDataReceived; // Called when headers have been processed. Property OnHeaders : TNotifyEvent Read FOnHeaders Write FOnHeaders; OnDataReceived and OnHeaders is probably what you are looking for. Sorry for the fuzzyness. Michael. Hi Michael, I noted you created the httpget.pas demo on fcl-web/examples/httpclient, that's exactly what I'm looking for. One little addition to the example can be exception handling, I noted there's an EHTTPClient exception raised when an error response is received (404, 500, etc). Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] fpHttpClient heartbeat
Hi, does anyone know if fpHttpClient has something similar to the HeartBeat option of Synapse?, this feature is useful for implementing download progress bars, for example. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] fpHttpClient heartbeat
From: Michael Van Canneyt mich...@freepascal.org To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Saturday, March 8, 2014 2:42 PM Subject: Re: [fpc-devel] fpHttpClient heartbeat On Sat, 8 Mar 2014, Leonardo M. Ramé wrote: Hi, does anyone know if fpHttpClient has something similar to the HeartBeat option of Synapse?, this feature is useful for implementing download progress bars, for example. It has an onprogress event, this is implemented in trunk. Michael. Sorry Michael, I cannot find that event, is in packages/fcl-web/src/base/fphttpclient.pp ?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] LoadLibrary result
I'm using a list of objects that each needs to load a shared Library (written in C). As some operations inside the library are slow, I've created a TThread to do multiple operations simultaneously. As the library is not thread safe, I thought using loadLibrary will create a different instance after each load, but, as the TLibHandle resulting of that function is the same, I think the library is only loaded once. Is there a way to have different handles for each loadlibrary?. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LoadLibrary result
From: Jonas Maebe jonas.ma...@elis.ugent.be To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Sent: Thursday, May 30, 2013 12:40 PM Subject: Re: [fpc-devel] LoadLibrary result On 30 May 2013, at 17:27, Leonardo M. Ramé wrote: I'm using a list of objects that each needs to load a shared Library (written in C). As some operations inside the library are slow, I've created a TThread to do multiple operations simultaneously. As the library is not thread safe, I thought using loadLibrary will create a different instance after each load, but, as the TLibHandle resulting of that function is the same, I think the library is only loaded once. Is there a way to have different handles for each loadlibrary?. No, you can load a library only once per process. Loading it more than once is not supported by any dynamic linker I know of, because it would result in symbol clashes. Thanks Jonas, good to know that. I'll have to re-architect the library to avoid using globals... -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] 0023916: BGRABitmap: Internal error 2012090607
Hi, does anyone found a workaround to this issue: 0023916: BGRABitmap: Internal error 2012090607 Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] State of extended RTTI
From: Boian Mitov mi...@mitov.com To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Monday, February 18, 2013 4:30 PM Subject: Re: [fpc-devel] State of extended RTTI Hi All, We have developed an advanced RTTI API that replaces the Embarcadero RTTI API and provides much more powerful and easy to use when accessing the RTTI. We developed it as we ware running into huge number of issues and bugs when trying to use the Embarcadero implementation, and we needed stable, robust and very easy to use implementation, since we have started to rely very heavily on the new RTTI in our development. It also offers additional functionalities not currently available in the Embarcadero extended RTTI, as well as we are doing some work around for critical bugs in the Delphi RTTI unit. If there is interest in adding extended RTTI support in FPC, i am willing to donate the API, and its implementation to the effort if it is deemed a good fit. Who is working on the RTTI at the moment? I can send him/her/them the RTTI unit for evaluation. With best regards, Boian Mitov Hi Boian, did you have to modify/patch the compiler, or it is implemented as a set of classes?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Freebsd 9.1 -liconv not found
I'm trying to compile fpc on a new FreeBsd 9.1 machine, I've installed iconv and libiconv from ports, but /usr/bin/ld keeps complaining about cannot finding -liconv. Any hint?. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Freebsd 9.1 -liconv not found
From: Jonas Maebe jonas.ma...@elis.ugent.be To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Sunday, January 27, 2013 12:13 PM Subject: Re: [fpc-devel] Freebsd 9.1 -liconv not found On 27 Jan 2013, at 16:03, Leonardo M. Ramé wrote: I'm trying to compile fpc on a new FreeBsd 9.1 machine, I've installed iconv and libiconv from ports, but /usr/bin/ld keeps complaining about cannot finding -liconv. Install libiconv-dev, libiconv-devel or something like that. Jonas Mmm, no, that would work for Linux, but not on bsd. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Freebsd 9.1 -liconv not found
- Original Message - From: Marco van de Voort mar...@stack.nl To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Cc: Sent: Sunday, January 27, 2013 12:28 PM Subject: Re: [fpc-devel] Freebsd 9.1 -liconv not found In our previous episode, Leonardo M. Ram? said: I'm trying to compile fpc on a new FreeBsd 9.1 machine, I've installed iconv and libiconv from ports, but /usr/bin/ld keeps complaining about cannot finding -liconv.? Any hint?. Pass -Fl/usr/local/lib in OPT= Thanks Marco, that did the trick!. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Linux ELF executable file size
Here's an interesting article about getting the smallest possible ELF executable size: http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Considerations about observer [was: Free Pascal 2.6.2 rc1]
- Original Message - From: Michael Van Canneyt mich...@freepascal.org To: FPC developers' list fpc-devel@lists.freepascal.org Cc: Sent: Tuesday, November 27, 2012 1:19 PM Subject: Re: [fpc-devel] Considerations about observer [was: Free Pascal 2.6.2 rc1] On Tue, 27 Nov 2012, luiz americo pereira camara wrote: 2012/11/13 Marco van de Voort mar...@stack.nl: Hello, We have placed the first release-candidate of the Free Pascal Compiler version 2.6.2 on our ftp-servers. [..] * Support for observer pattern added to fcl-base (and base classes in RTL) Hi, i requested a change to observer interface with some considerations in http://bugs.freepascal.org/view.php?id=23394 It will not happen. If you want to pass around interfaces safely, then you need to implement them as descendents of IUnknown to maintain reference counts. They are implemented as CORBA interfaces exactly to avoid the overhead of IUnknown. The consequence is that you must pass around the objects themselves. Michael. Hi, does anyone know of a link to the wiki with info about the newly implemented Observer pattern?. -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Considerations about observer [was: Free Pascal 2.6.2 rc1]
- Original Message - From: Graeme Geldenhuys gra...@geldenhuys.co.uk To: fpc-devel@lists.freepascal.org Cc: Sent: Tuesday, November 27, 2012 2:29 PM Subject: Re: [fpc-devel] Considerations about observer [was: Free Pascal 2.6.2 rc1] On 2012-11-27 17:17, Leonardo M. Ramé wrote: Hi, does anyone know of a link to the wiki with info about the newly implemented Observer pattern?. No wiki page, but I did submit in the mailing list and Mantis a observer demo with code comments to show how it works and how to use it. http://bugs.freepascal.org/view.php?id=23329 Regards, - Graeme - Thanks. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] progress of freepascal for mips
From: Mark Morgan Lloyd markmll.fpc-de...@telemetry.co.uk To: fpc-devel@lists.freepascal.org Sent: Tuesday, June 5, 2012 6:38 AM Subject: Re: [fpc-devel] progress of freepascal for mips microc...@zoho.com wrote: On Mon, 4 Jun 2012 14:56:06 -0700 (PDT) Leonardo M. Ramé martinr...@yahoo.com wrote: You are right, the machine (http://www-03.ibm.com/systems/power/hardware/560/specs.html) doesn't have a MIPS processor, but an IBM's Power6. BTW, does anyone know which Linux distribution runs on that machine?, can FPC be compiled to run on it?. Leonardo M. Ramé http://leonardorame.blogspot.com Congrats, that's a nice box. POWER6 is one generation behind but from what I read it can still run the latest version of AIX. The best OS is the one IBM made for it, AIX which is a POSIX UNIX with IBM extensions (and great doc!). You should be able to get a copy without too much difficulty if one isn't already installed. On the same page you linked above, there is a list of some Linux that are certified to run on your box. Running Linux on it would be a horrible waste of a good server. You can probably virtualize Linux and BSD instances under AIX though, as you had mentioned in your first post. With the caveat that, as I understand it, this is a hardware-assisted partitioning operation and is likely to have a very different feel from things like VMWare. As an example (and possibly you can confirm this), my understanding is that there are facilities in the system firmware, i.e. accessed from something analogous to a BIOS setup screen, that dictate how SCSI devices will be distributed between LPARs. In any event, if Leonardo successfully runs Linux or BSD in a partition I hope he writes it up somewhere. My PPC system is only an old Mac running Debian, but I think having the info would be useful. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] I have no problem at all, in fact, I would like to create a VM for the FPC team for testing. Hopefully I'll start trying to create a Linux or Bsd machine on it this week. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] progress of freepascal for mips
You are right, the machine (http://www-03.ibm.com/systems/power/hardware/560/specs.html) doesn't have a MIPS processor, but an IBM's Power6. BTW, does anyone know which Linux distribution runs on that machine?, can FPC be compiled to run on it?. Leonardo M. Ramé http://leonardorame.blogspot.com From: microc...@zoho.com microc...@zoho.com To: fpc-devel@lists.freepascal.org Sent: Saturday, June 2, 2012 3:58 PM Subject: Re: [fpc-devel] progress of freepascal for mips On Sat, 2 Jun 2012 07:04:24 -0700 (PDT) Leonardo M. Ramé martinr...@yahoo.com wrote: Hi, while this interesting discussion about fpc for Linux/MIPS is evolving, we've received an IBM Mips server from a customer (I don't know the model yet) to try to install an hypervisor. Sorry if this has already been answered but I have tons of mail and haven't read them all yet. I am near certain IBM doesn't make any MIPS hardware at all and never has in their history. In the past they've made all sorts of odd things but at the moment all they make is Intel and POWER servers, as far as servers go. MIPS in IBM-speak is millions of instructions per second which is how they describe mainframe performance since they don't publish clock speeds. We need to run at least Windows and Linux servers on it. Do you know if Xen/VMWare or similar hypervisors run on this architecture?. AFAIK, as far as Windows, nothing but Windows CE (not XP, 7, Vista etc) runs on MIPS and I don't think Windows CE will run on server hardware. And all of the virtualization options available are Intel-only except for Oracle's SPARC VM, so no, you don't have any virtualization options except for perhaps QEMU, but so does everyone who has an Intel box, so there isn't anything to offer via virtualization. If I can install an hypervisor, I could create one virtual machine to let the FPC team test the MIPS version on this machine, it can be online 24/7. Virtualization is thin to none on anything but Intel hardware. But there is QEMU and it provides support for various architectures including MIPS. If you install Linux on your MIPS server (if it really is a MIPS server, which I don't think it is, or if it is, it isn't IBM) you can use QEMU like Fuxin Zhang wrote he was using, but then so can everyone else who has an Intel box (everybody) so I don't think it's going to be very helpful. And the guy working on fpc on MIPS, Fuxin, is working for a MIPS manufacturer so I would guess he has all the hardware he needs ;-) ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] progress of freepascal for mips
From: Jonas Maebe jonas.ma...@elis.ugent.be To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Sent: Monday, June 4, 2012 7:19 PM Subject: Re: [fpc-devel] progress of freepascal for mips On 04 Jun 2012, at 23:56, Leonardo M. Ramé wrote: You are right, the machine (http://www-03.ibm.com/systems/power/hardware/560/specs.html) doesn't have a MIPS processor, but an IBM's Power6. BTW, does anyone know which Linux distribution runs on that machine? http://www.google.be/search?hl=enq=IBM+Power+560+Express+linux - http://www.acclinet.com/ibm-servers/ibm-power-560-server.asp can FPC be compiled to run on it?. Yes, both under AIX and under Linux (either the ppc32 or the ppc64 version of FPC). That means that there is a native version of FPC or an emulated x86 version? Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] progress of freepascal for mips
From: Fuxin Zhang zhan...@lemote.com To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Friday, June 1, 2012 9:16 PM Subject: [fpc-devel] progress of freepascal for mips hi everybody, With the attached patch (against revision 21440), most of the tests can now pass, for example, the test directory has only the following failinglist: foxsen@ubuntu-zfx:~/software/fpc/tests/output/mipsel-linux$ cat faillist.testlog test/cg/taddcurr //the Currency support is broken test/cg/tcalext //no ctest.o test/cg/tcalext3 test/cg/tcalext4 test/cg/tcalext5 test/cg/tcalext6 test/cg/tcnvint4 test/cg/tcnvint6 test/cg/tcppcl1 test/cg/tcppcl2 test/cg/tdivz2 test/cg/tnot test/cg/tprintf Note: This test requires a C library test/cg/tprintf2 Note: This test requires a C library test/cg/treadwrt test/cg/tumin test/talign2 test/tbrtlevt test/tclass8 the related changes include: commit 14d7ae388fd5b81300a69d277089c991c13fa0be Author: Zhang Fuxin zhan...@lemote.com Date: Wed Jun 1 19:12:43 2011 +0800 don't define cpuflags for mips is_calljmp should include float branches: BC1T/BC1F no likely branch support: delete bc1tl/bc1fl for now new implementation for getting next fpu registers for LDC1/SDC1 commit 5d51e051a8979563af6b7d096381192e3d1b9b56 Author: Zhang Fuxin zhan...@lemote.com Date: Fri Jun 1 11:34:51 2012 +0800 Commit all accumulated fixes: 1, add -Xs- -g to Makefile to retain symbols and debug info (removed) 2, systems/i_linux.pas: first_parm_offset set to 0 3, rtl/inc/systemh.inc: FPC_HAS_INTERNAL_SAR_DWORD for mips 4, rtl/linux/{ostypes.inc, linux.pp, oldlinux.pp}, macro definitions for mips: MAP_xxx 5, rtl/linux/mips/syscall.inc: don't use second stack 6, mips/*: remove the use of NR_TCR*, allocate temporary registers instead use fake instructions A_BA/A_BC to handle all kinds of branches, remove other condition branch instructions, remove all likely branch add support for boolean64 fix ldc1/sdc1 next register calculation use r25 for interface call to better suite abi fix inverse_cond add bc1t/bc1f to is_calljmp The next major one should be parameter passing, and then the PIC support. Thank you for all your kind help. Regards Hi, while this interesting discussion about fpc for Linux/MIPS is evolving, we've received an IBM Mips server from a customer (I don't know the model yet) to try to install an hypervisor. We need to run at least Windows and Linux servers on it. Do you know if Xen/VMWare or similar hypervisors run on this architecture?. If I can install an hypervisor, I could create one virtual machine to let the FPC team test the MIPS version on this machine, it can be online 24/7. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] OpenBsd cross compiler
From: Leonardo M. Ramé martinr...@yahoo.com To: 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Saturday, April 28, 2012 8:38 AM Subject: Re: [fpc-devel] OpenBsd cross compiler From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Friday, April 27, 2012 11:20 AM Subject: RE: [fpc-devel] OpenBsd cross compiler Hi Leonardo, -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Leonardo M. Ramé Envoyé : jeudi 26 avril 2012 21:10 À : FPC developers' list Objet : [fpc-devel] OpenBsd cross compiler Hi, I usually create Win32 targets using this: make crossinstall OS_TARGET=win32 CPU_TARGET=i386 PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 Now I want to create an OpenBSD cross compiler, so I just replaced win32 by openbsd: Yes, but you do need cross-binutils for openbsd! The problem is that current GNU Binutils source do not generate correct objects/executables for openbsd. Which means that you need to get an openbsd specific binutils source install it, and configure it for the target you are interested in: I checked the internet, and it seems to be difficult to fond. Thus I added it to ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/ 1) Downloaded ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/binutils-openbsd-2.15 .tar.gz file. 2) Untar it tar -xvzf binutils-openbsd-2.15.tar.gz 3) Create build directory: mkdir build-cross-i386-openbsd cd build-cross-i386-openbsd 4) Run configure for that target ../binutils-4.9/configure --target=i386-pc-openbsd --program-prefix=i386-openbsd- (That's what I used on mingw32, but to compile on mingw you also need to apply the patch that I added in the same directory on ftp server). 5) Compile and install everything: make all-gas all-binutils all-ld make install-gas install-binutils install-ld prefix=PATH/TO/WHERE/YOU/WANT/IT This should install i386-openbsd-as i386-openbsd-ld and a few more into PATH/TO/WHERE/YOU/WANT/IT/bin directory Note that I didn't use the same procedure on mingw (because I wanted to get binaries that did not depend on any mingw specific DLLs) make crossinstall OS_TARGET=openbsd CPU_TARGET=i386 PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 But the linker is not found. This is the error I get: make[5]: se ingresa al directorio «/home/leonardo/Desarrollo/fpc/rtl/openbsd» /bin/mkdir -p /home/leonardo/Desarrollo/fpc/rtl/units/i386-openbsd i386-openbsd-as -o /home/leonardo/Desarrollo/fpc/rtl/units/i386- openbsd/prt0.o i386/prt0.as make[5]: i386-openbsd-as: No se encontró el programa make[5]: *** [prt0.o] Error 127 make[5]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl/openbsd» make[4]: *** [openbsd_all] Error 2 make[4]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl» make[3]: *** [rtl] Error 2 make[3]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[2]: *** [cycle] Error 2 make[2]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[1]: *** [compiler_cycle] Error 2 make[1]: se sale del directorio «/home/leonardo/Desarrollo/fpc» make: *** [build-stamp.i386-openbsd] Error 2 Is there an i386-openbsd-as linker?. Where can I find it. i386-openbsd-as is the assembler, not the linker i386-openbsd-ld is the linker. BTW. I'm on Linux x86_64 (Ubuntu 11.10). You could repeat the steps for x86_64-openbsd target by simply using --target=x86_646pc-openbsd Hoping the above will help, Pierre Hi Pierre, finally I got the time to test this. Sadly, this is the ./configure --target=i386-pc-openbsd -program-prefix=i386-openbsd- output. I'm building this from an x86_64 Linux machine. Here's the output: loading cache ./config.cache checking host system type... x86_64-unknown-linux-gnu checking target system type... i386-pc-openbsd checking build system type... x86_64-unknown-linux-gnu checking for a BSD compatible install... (cached) /usr/bin/install -c checking for x86_64-unknown-linux-gnu-ar... no checking for ar... (cached) ar checking for x86_64-unknown-linux-gnu-as... no checking for as... (cached) as checking for x86_64-unknown-linux-gnu-dlltool... no checking for dlltool... (cached) dlltool checking for x86_64-unknown-linux-gnu-ld... no checking for ld... (cached) ld checking for x86_64-unknown-linux-gnu-nm... no checking for nm... (cached) nm checking for x86_64-unknown-linux-gnu-ranlib... no checking for ranlib... (cached) ranlib checking for x86_64-unknown-linux-gnu-windres... no checking for windres... (cached) windres checking for x86_64-unknown-linux-gnu-objcopy... no checking for objcopy... (cached) objcopy checking for x86_64-unknown-linux-gnu-objdump... no checking for objdump... (cached) objdump checking for i386-pc-openbsd-ar... no checking
Re: [fpc-devel] OpenBsd cross compiler
From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Friday, April 27, 2012 11:20 AM Subject: RE: [fpc-devel] OpenBsd cross compiler Hi Leonardo, -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Leonardo M. Ramé Envoyé : jeudi 26 avril 2012 21:10 À : FPC developers' list Objet : [fpc-devel] OpenBsd cross compiler Hi, I usually create Win32 targets using this: make crossinstall OS_TARGET=win32 CPU_TARGET=i386 PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 Now I want to create an OpenBSD cross compiler, so I just replaced win32 by openbsd: Yes, but you do need cross-binutils for openbsd! The problem is that current GNU Binutils source do not generate correct objects/executables for openbsd. Which means that you need to get an openbsd specific binutils source install it, and configure it for the target you are interested in: I checked the internet, and it seems to be difficult to fond. Thus I added it to ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/ 1) Downloaded ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/binutils-openbsd-2.15 .tar.gz file. 2) Untar it tar -xvzf binutils-openbsd-2.15.tar.gz 3) Create build directory: mkdir build-cross-i386-openbsd cd build-cross-i386-openbsd 4) Run configure for that target ../binutils-4.9/configure --target=i386-pc-openbsd --program-prefix=i386-openbsd- (That's what I used on mingw32, but to compile on mingw you also need to apply the patch that I added in the same directory on ftp server). 5) Compile and install everything: make all-gas all-binutils all-ld make install-gas install-binutils install-ld prefix=PATH/TO/WHERE/YOU/WANT/IT This should install i386-openbsd-as i386-openbsd-ld and a few more into PATH/TO/WHERE/YOU/WANT/IT/bin directory Note that I didn't use the same procedure on mingw (because I wanted to get binaries that did not depend on any mingw specific DLLs) make crossinstall OS_TARGET=openbsd CPU_TARGET=i386 PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 But the linker is not found. This is the error I get: make[5]: se ingresa al directorio «/home/leonardo/Desarrollo/fpc/rtl/openbsd» /bin/mkdir -p /home/leonardo/Desarrollo/fpc/rtl/units/i386-openbsd i386-openbsd-as -o /home/leonardo/Desarrollo/fpc/rtl/units/i386- openbsd/prt0.o i386/prt0.as make[5]: i386-openbsd-as: No se encontró el programa make[5]: *** [prt0.o] Error 127 make[5]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl/openbsd» make[4]: *** [openbsd_all] Error 2 make[4]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl» make[3]: *** [rtl] Error 2 make[3]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[2]: *** [cycle] Error 2 make[2]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» make[1]: *** [compiler_cycle] Error 2 make[1]: se sale del directorio «/home/leonardo/Desarrollo/fpc» make: *** [build-stamp.i386-openbsd] Error 2 Is there an i386-openbsd-as linker?. Where can I find it. i386-openbsd-as is the assembler, not the linker i386-openbsd-ld is the linker. BTW. I'm on Linux x86_64 (Ubuntu 11.10). You could repeat the steps for x86_64-openbsd target by simply using --target=x86_646pc-openbsd Hoping the above will help, Pierre Thanks Pierre, I'll try the binutils package you uploaded. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - From: Sergei Gorelkin sergei_gorel...@mail.ru To: fpc-devel@lists.freepascal.org Cc: Sent: Sunday, November 27, 2011 9:07 AM Subject: Re: [fpc-devel] Building trunk on Win32 27.11.2011 13:26, Jonas Maebe пишет: On 27 Nov 2011, at 12:19, Sergei Gorelkin wrote: 27.11.2011 13:09, Jonas Maebe пишет: I regularly use OPT at the top level myself and I've never seen it being ignored in that situation. Earlier in this thread Leonardo wrote: Sven, I added OPT=-gl but I got exactly the same output. I also tried with clean all OPT=-gl and got the same. From this I concluded that something goes wrong with OPT at top level at least in this particular case. It can also mean that the code in the lineinfo unit didn't work for some reason, which seems more likely to me. Even the -Xs added by the top level make all doesn't cause problems in that case, because the OPT parameters are added at the end of the command line and -g will disable -Xs if it comes after it. After re-testing and seeing that OPT is indeed passed correctly, I agree that I had made a wrong conclusion here. But let's wait for feedback; if compiler alone can be cycled with DISABLE_TLS_DIRECTORY then the whole trunk is very probably can build that way too. Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel Well, I found I had an e:\pp directory containing an fpc 2.5.1, and my PATH was pointing to it, so my previous tests could have been influenced by some files from that directory. After deleting it, I compiled from top level directory using: e:\fpc-bin\bin\i386-win32\make clean OPT=-dDISABLE_TLS_DIRECTORY all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe and it worked without issues. Then, I did e:\fpc-bin\bin\i386-win32\make clean all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe and got this: ... win32/libimpvarutils.a E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[7]: Leaving directory `E:/fpc/rtl/win32' make[6]: Leaving directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all make[6]: Entering directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C win32 all make[7]: Entering directory `E:/fpc/rtl/win32' E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win make[7]: *** [system.ppu] Error 255 make[7]: Leaving directory `E:/fpc/rtl/win32' make[6]: *** [win32_all] Error 2 make[6]: Leaving directory `E:/fpc/rtl' make[5]: *** [rtl] Error 2 make[5]: Leaving directory `E:/fpc/compiler' make[4]: *** [next] Error 2 make[4]: Leaving directory `E:/fpc/compiler' make[3]: *** [ppc3.exe] Error 2 make[3]: Leaving directory `E:/fpc/compiler' make[2]: *** [cycle] Error 2 make[2]: Leaving directory `E:/fpc/compiler' make[1]: *** [compiler_cycle] Error 2 make[1]: Leaving directory `E:/fpc' e:\fpc-bin\bin\i386-win32\make: *** [build-stamp.i386-win32] Error 2 Conclussion, the DISABLE_TLS_DIRECTORY worked as expected. -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - From: Sven Barth pascaldra...@googlemail.com To: fpc-devel@lists.freepascal.org Cc: Sent: Sunday, November 27, 2011 1:10 PM Subject: Re: [fpc-devel] Building trunk on Win32 On 27.11.2011 16:45, Sergei Gorelkin wrote: The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise suggests that the foreign thread raises exceptions and FPC tries to handle them. Error 255 is most likely caused by Halt(255) in rtl/inc/except.inc line 200 or 303, these are the only places where RTL can exit with code 255. This is explainable: FPC won't have ExceptObjectStack or ExceptAddressStack set up for the foreign thread, they will contain nil values. But I don't imagine how it manages to work *without* TLS callbacks. The difference is that RTL will remain in single-threaded mode, but SetUnhandledExceptionFilter that is used to intercept exceptions is AFAIK global and will still break in. Also interesting question: why does so far only Leonardo experience that problem? I myself have no problem building trunk on a Windows 7 machine using 2.4.4 as a starting compiler. Regards, Sven Maybe because of my setup: Win2003 32bits (and its updates) running on a VirtualBox machine that hosted on a Linux x86_64. -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Friday, November 25, 2011 6:40 PM Subject: RE: [fpc-devel] Building trunk on Win32 I tired to reproduce your problem starting from release 2.4.4 compiler, but got no error. Then I tried to find where error code 226 could be generated: it is in rtl/win/systhrd.inc function SysAllocateThreadVars most probably because your system returned nil for a LocalAlloc call. Could you test by only doing a make cycle at compiler level? Pierre Muller Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and installed, to be sure I'm using the release version. Then, went to my fpc-svn trunk directory, then cd compiler and did a e:\fpc-bin\bin\i386-win32\make clean all (I use e:\fpc-bin\bin\i386-win32\make to avoid interferences with borland's make). Here's the compiling output: e:/FPC-bin/bin/i386-Win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo e:/FPC-bin/bin/i386-Win32/rm.exe -f ppc386.exe ppc68k.exe ppcx64.exe ppcppc.exe ppcsparc.exe ppcppc64.exe ppcarm.exe ppcmips.exe ppcmipsel.exe ppc386.exe ppcwpo1.exe ppcwpo2.exe e:/FPC-bin/bin/i386-Win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C utils cleanall make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -rf i386/units e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i386/*.s i386/*.a i386/*.dll i386/*.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i386/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.exe i386/ppcmips.exe i386/ppcmipsel.exe i386/ppc386.exe e:/fpc-bin/bin/i386-win32/make -C utils clean make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/gmkdir.exe -p i386/units/i386-win32 E:/pp/bin/i386-win32/ppc386.exe -Fui386 -Fusystems -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas Free Pascal Compiler version 2.7.1 [2011/09/14] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling pp.pas Compiling globals.pas Compiling cutils.pas Compiling cclasses.pas Compiling globtype.pas Compiling cstreams.pas Compiling cfileutl.pas Compiling systems.pas Compiling comphook.pas Compiling finput.pas Compiling comphook.pas Compiling globals.pas Compiling .\i386\cpuinfo.pas Compiling version.pas Compiling compiler.pas Compiling verbose.pas Compiling cmsgs.pas Compiling fmodule.pas Compiling ogbase.pas Compiling owbase.pas Compiling aasmbase.pas Compiling fmodule.pas Compiling symbase.pas Compiling symconst.pas Compiling symsym.pas Compiling widestr.pas Compiling cp8859_1.pas cp8859_1.pas(273,13) Error: Unknown record field identifier cp cp8859_1.pas(273,18) Fatal: Syntax error, identifier expected but ; found Fatal: Compilation aborted -- Leonardo M. Ramé http
Re: [fpc-devel] Building trunk on Win32
- Original Message - From: Leonardo M. Ramé martinr...@yahoo.com To: FPC developers' list fpc-devel@lists.freepascal.org Cc: Sent: Saturday, November 26, 2011 10:17 AM Subject: Re: [fpc-devel] Building trunk on Win32 From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Friday, November 25, 2011 6:40 PM Subject: RE: [fpc-devel] Building trunk on Win32 I tired to reproduce your problem starting from release 2.4.4 compiler, but got no error. Then I tried to find where error code 226 could be generated: it is in rtl/win/systhrd.inc function SysAllocateThreadVars most probably because your system returned nil for a LocalAlloc call. Could you test by only doing a make cycle at compiler level? Pierre Muller Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and installed, to be sure I'm using the release version. Then, went to my fpc-svn trunk directory, then cd compiler and did a e:\fpc-bin\bin\i386-win32\make clean all (I use e:\fpc-bin\bin\i386-win32\make to avoid interferences with borland's make). Here's the compiling output: e:/FPC-bin/bin/i386-Win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo e:/FPC-bin/bin/i386-Win32/rm.exe -f ppc386.exe ppc68k.exe ppcx64.exe ppcppc.exe ppcsparc.exe ppcppc64.exe ppcarm.exe ppcmips.exe ppcmipsel.exe ppc386.exe ppcwpo1.exe ppcwpo2.exe e:/FPC-bin/bin/i386-Win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C utils cleanall make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -rf i386/units e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i386/*.s i386/*.a i386/*.dll i386/*.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i386/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.exe i386/ppcmips.exe i386/ppcmipsel.exe i386/ppc386.exe e:/fpc-bin/bin/i386-win32/make -C utils clean make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/gmkdir.exe -p i386/units/i386-win32 E:/pp/bin/i386-win32/ppc386.exe -Fui386 -Fusystems -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas Free Pascal Compiler version 2.7.1 [2011/09/14] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling pp.pas Compiling globals.pas Compiling cutils.pas Compiling cclasses.pas Compiling globtype.pas Compiling cstreams.pas Compiling cfileutl.pas Compiling systems.pas Compiling comphook.pas Compiling finput.pas Compiling comphook.pas Compiling globals.pas Compiling .\i386\cpuinfo.pas Compiling version.pas Compiling compiler.pas Compiling verbose.pas Compiling cmsgs.pas Compiling fmodule.pas Compiling ogbase.pas Compiling owbase.pas Compiling aasmbase.pas
Re: [fpc-devel] Building trunk on Win32
- Original Message - From: Sven Barth pascaldra...@googlemail.com To: fpc-devel@lists.freepascal.org Cc: Sent: Saturday, November 26, 2011 11:07 AM Subject: Re: [fpc-devel] Building trunk on Win32 On 26.11.2011 14:50, Leonardo M. Ramé wrote: ... make[4]: Entering directory `E:/fpc/compiler' e:/fpc-bin/bin/i386-win32/make rtlclean rtl make[5]: Entering directory `E:/fpc/compiler' e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl clean make[6]: Entering directory `E:/fpc/rtl' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C win32 clean make[7]: Entering directory `E:/fpc/rtl/win32' e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.ppu E:/fpc/rtl/units/i386-win32/objpas.ppu E:/fpc/rtl/units/i386-win32/macpas.ppu E:/fpc/rtl/units/i386-win32/iso7185.ppu E:/fpc/rtl/units/i386-win32/buildrtl.ppu E:/fpc/rtl/units/i386-win32/lineinfo.ppu E:/fpc/rtl/units/i386-win32/lnfodwrf.ppu E:/fpc/rtl/units/i386-win32/sysinitpas.ppu E:/fpc/rtl/units/i386-win32/sysinitcyg.ppu E:/fpc/rtl/units/i386-win32/sysinitgprof.ppu E:/fpc/rtl/units/i386-win32/ctypes.ppu E:/fpc/rtl/units/i386-win32/strings.ppu E:/fpc/rtl/units/i386-win32/heaptrc.ppu E:/fpc/rtl/units/i386-win32/matrix.ppu E:/fpc/rtl/units/i386-win32/windows.ppu E:/fpc/rtl/units/i386-win32/winsock.ppu E:/fpc/rtl/units/i386-win32/winsock2.ppu E:/fpc/rtl/units/i386-win32/initc.ppu E:/fpc/rtl/units/i386-win32/cmem.ppu E:/fpc/rtl/units/i386-win32/dynlibs.ppu E:/fpc/rtl/units/i386-win32/signals.ppu E:/fpc/rtl/units/i386-win32/dos.ppu E:/fpc/rtl/units/i386-win32/crt.ppu E:/fpc/rtl/units/i386-win32/objects.ppu E:/fpc/rtl/units/i386-win32/messages.ppu E:/fpc/rtl/units/i386-win32/rtlconsts.ppu E:/fpc/rtl/units/i386-win32/sysconst.ppu E:/fpc/rtl/units/i386-win32/sysutils.ppu E:/fpc/rtl/units/i386-win32/math.ppu E:/fpc/rtl/units/i386-win32/types.ppu E:/fpc/rtl/units/i386-win32/strutils.ppu E:/fpc/rtl/units/i386-win32/dateutils.ppu E:/fpc/rtl/units/i386-win32/varutils.ppu E:/fpc/rtl/units/i386-win32/variants.ppu E:/fpc/rtl/units/i386-win32/typinfo.ppu E:/fpc/rtl/units/i386-win32/fgl.ppu E:/fpc/rtl/units/i386-win32/classes.ppu E:/fpc/rtl/units/i386-win32/convutils.ppu E:/fpc/rtl/units/i386-win32/stdconvs.ppu E:/fpc/rtl/units/i386-win32/cpu.ppu E:/fpc/rtl/units/i386-win32/mmx.ppu E:/fpc/rtl/units/i386-win32/charset.ppu E:/fpc/rtl/units/i386-win32/character.ppu E:/fpc/rtl/units/i386-win32/ucomplex.ppu E:/fpc/rtl/units/i386-win32/getopts.ppu E:/fpc/rtl/units/i386-win32/winevent.ppu E:/fpc/rtl/units/i386-win32/sockets.ppu E:/fpc/rtl/units/i386-win32/printer.ppu E:/fpc/rtl/units/i386-win32/video.ppu E:/fpc/rtl/units/i386-win32/mouse.ppu E:/fpc/rtl/units/i386-win32/keyboard.ppu E:/fpc/rtl/units/i386-win32/fmtbcd.ppu E:/fpc/rtl/units/i386-win32/winsysut.ppu E:/fpc/rtl/units/i386-win32/sharemem.ppu E:/fpc/rtl/units/i386-win32/exeinfo.ppu E:/fpc/rtl/units/i386-win32/fpintres.ppu E:/fpc/rtl/units/i386-win32/windirs.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.o E:/fpc/rtl/units/i386-win32/objpas.o E:/fpc/rtl/units/i386-win32/macpas.o E:/fpc/rtl/units/i386-win32/iso7185.o E:/fpc/rtl/units/i386-win32/buildrtl.o E:/fpc/rtl/units/i386-win32/lineinfo.o E:/fpc/rtl/units/i386-win32/lnfodwrf.o E:/fpc/rtl/units/i386-win32/sysinitpas.o E:/fpc/rtl/units/i386-win32/sysinitcyg.o E:/fpc/rtl/units/i386-win32/sysinitgprof.o E:/fpc/rtl/units/i386-win32/ctypes.o E:/fpc/rtl/units/i386-win32/strings.o E:/fpc/rtl/units/i386-win32/heaptrc.o E:/fpc/rtl/units/i386-win32/matrix.o E:/fpc/rtl/units/i386-win32/windows.o E:/fpc/rtl/units/i386-win32/winsock.o E:/fpc/rtl/units/i386-win32/winsock2.o E:/fpc/rtl/units/i386-win32/initc.o E:/fpc/rtl/units/i386-win32/cmem.o E:/fpc/rtl/units/i386-win32/dynlibs.o E:/fpc/rtl/units/i386-win32/signals.o E:/fpc/rtl/units/i386-win32/dos.o E:/fpc/rtl/units/i386-win32/crt.o E:/fpc/rtl/units/i386-win32/objects.o E:/fpc/rtl/units/i386-win32/messages.o E:/fpc/rtl/units/i386-win32/rtlconsts.o E:/fpc/rtl/units/i386-win32/sysconst.o E:/fpc/rtl/units/i386-win32/sysutils.o E:/fpc/rtl/units/i386-win32/math.o E:/fpc/rtl/units/i386-win32/types.o E:/fpc/rtl/units/i386-win32/strutils.o E:/fpc/rtl/units/i386-win32/dateutils.o E:/fpc/rtl/units/i386-win32/varutils.o E:/fpc/rtl/units/i386-win32/variants.o E:/fpc/rtl/units/i386-win32/typinfo.o E:/fpc/rtl/units/i386-win32/fgl.o E:/fpc/rtl/units/i386-win32/classes.o E:/fpc/rtl/units/i386-win32/convutils.o E:/fpc/rtl/units/i386-win32/stdconvs.o E:/fpc/rtl/units/i386-win32/cpu.o E:/fpc/rtl/units/i386-win32/mmx.o E:/fpc/rtl/units/i386-win32/charset.o E:/fpc/rtl/units/i386-win32/character.o E:/fpc/rtl/units/i386-win32/ucomplex.o E:/fpc/rtl/units/i386-win32/getopts.o E:/fpc/rtl/units/i386
Re: [fpc-devel] Building trunk on Win32
- Original Message - From: Sven Barth pascaldra...@googlemail.com To: fpc-devel@lists.freepascal.org Cc: Sent: Saturday, November 26, 2011 3:40 PM Subject: Re: [fpc-devel] Building trunk on Win32 On 26.11.2011 19:50, Sergei Gorelkin wrote: 26.11.2011 17:18, Leonardo M. Ramé пишет: Runtime error 226 at $0040C776 $0040C776 $0040FB59 $7C81A1C2 $7C845A7C $7C83FE59 $7C82EB2F $7C828355 $0040C776 is systhrd.inc line 125 if TLSKey=$ then RunError(226) $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of exec_tls_callback This is TLS callback feature showing its dark side. Something specfic to your system is creating a thread in your ppc2.exe, presumably it happens before ppc2.exe is initialized (if it initializes, TLSKey will receive value other than -1). Check for antivirus software, etc. If you want to get a clue what it is, you may use e.g. ProcessExplorer tool (http://technet.microsoft.com/ru-ru/sysinternals/bb896653). Launch any FPC binary that launches (it will display help and wait for keypress), find it in process list, right-click and select Properties, then Threads tab. If I'm correct, you'll see more than one item in the thread list. If your assumption should be correct, what can be done against this from FPC side? Regards, Sven This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc. I did a test with processexplorer as you suggested, by running fpc, then go to procexp-ppc386.exe-properties-threads and captured the attached screenshot. Hope this help to find the problem. -- Leonardo M. Ramé http://leonardorame.blogspot.com attachment: threads.JPG___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
From: Sergei Gorelkin sergei_gorel...@mail.ru To: fpc-devel@lists.freepascal.org Sent: Saturday, November 26, 2011 6:55 PM Subject: Re: [fpc-devel] Building trunk on Win32 26.11.2011 23:10, Leonardo M. Ramé пишет: This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc. I did a test with processexplorer as you suggested, by running fpc, then go to procexp-ppc386.exe-properties-threads and captured the attached screenshot. Hope this help to find the problem. I committed a fix in svn revision 19693. Please update and re-test. Regards, Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel This is the output I get after update: ... make.exe[6]: Leaving directory `E:/fpc/rtl' e:/FPC-bin/bin/i386-win32/make.exe -C E:/fpc/rtl 'OPT=' all make.exe[6]: Entering directory `E:/fpc/rtl' e:/FPC-bin/bin/i386-win32/make.exe -C win32 all make.exe[7]: Entering directory `E:/fpc/rtl/win32' E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win ustrings.inc(1475,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString ustrings.inc(1481,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString ustrings.inc(1500,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString ustrings.inc(1512,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString ustrings.inc(1747,10) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1762,9) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1778,10) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1793,10) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1808,10) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1825,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1840,11) Warning: Implicit string type conversion with potential data loss from UnicodeString to ShortString ustrings.inc(1854,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1864,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1873,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1882,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1891,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1900,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1911,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(1920,6) Warning: Implicit string type conversion from ShortString to UnicodeString ustrings.inc(2404,13) Warning: Implicit string type conversion with potential data loss from UnicodeString to RawByteString text.inc(1774,14) Warning: Implicit string type conversion from AnsiString to UnicodeString text.inc(1801,14) Warning: Implicit string type conversion from AnsiString to WideString text.inc(1994,44) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString text.inc(2004,44) Warning: Implicit string type conversion with potential data loss from WideString to AnsiString make.exe[7]: *** [system.ppu] Error 255 make.exe[7]: Leaving directory `E:/fpc/rtl/win32' make.exe[6]: *** [win32_all] Error 2 make.exe[6]: Leaving directory `E:/fpc/rtl' make.exe[5]: *** [rtl] Error 2 make.exe[5]: Leaving directory `E:/fpc/compiler' make.exe[4]: *** [next] Error 2 make.exe[4]: Leaving directory `E:/fpc/compiler' make.exe[3]: *** [ppc3.exe] Error 2 make.exe[3]: Leaving directory `E:/fpc/compiler' make.exe[2]: *** [cycle] Error 2 make.exe[2]: Leaving directory `E:/fpc/compiler' make.exe[1]: *** [compiler_cycle] Error 2 make.exe[1]: Leaving directory `E:/fpc' e:\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2 -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Building trunk on Win32
Hi, I'm trying to build the latest svn trunk on a Win32 machine. e:\FPC-bin\bin\i386-win32\make.exe PP=e:\fpc-bin\bin\i386-win32\ppc386.exe all Where e:\fpc-bin\bin\i386-win32\ppc386.exe is this revision: E:\fpce:\fpc-bin\bin\i386-win32\ppc386.exeFree Pascal Compiler version 2.4.4 [2011/04/23] for i386 Copyright (c) 1993-2010 by Florian Klaempfl I don't remember but I think it was downloaded from http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var, so I think it's a stable version. Anyway, the results of my make are this: fmtbcd.pp(2598,49) Warning: Symbol CurrencyString is deprecatedfmtbcd.pp(2599,44) Warning: Symbol CurrencyString is deprecated fmtbcd.pp(3844,52) Warning: Implicit string type conversion with potential data loss from WideString to AnsiString fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential data loss from UnicodeString to AnsiString E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE :/fpc/rtl/units/i386-win32 -di386 -dRELEASE ../inc/macpas.pp make.exe[7]: *** [macpas.ppu] Error 226 make.exe[7]: Leaving directory `E:/fpc/rtl/win32' make.exe[6]: *** [win32_all] Error 2 make.exe[6]: Leaving directory `E:/fpc/rtl' make.exe[5]: *** [rtl] Error 2 make.exe[5]: Leaving directory `E:/fpc/compiler' make.exe[4]: *** [next] Error 2 make.exe[4]: Leaving directory `E:/fpc/compiler' make.exe[3]: *** [ppc3.exe] Error 2 make.exe[3]: Leaving directory `E:/fpc/compiler' make.exe[2]: *** [cycle] Error 2 make.exe[2]: Leaving directory `E:/fpc/compiler' make.exe[1]: *** [compiler_cycle] Error 2 make.exe[1]: Leaving directory `E:/fpc' e:\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2 How can I fix this?. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Internal error 2011090501
I get Internal error 2011090501 when trying to specialize this class: TBlob = class private FxMin: Integer; FxMax: Integer; FyMin: Integer; FyMax: Integer; FMass: Integer; public constructor create( xMin, xMax, yMin, yMax, Mass: Integer); property xMin: Integer read FxMin; property yMin: Integer read FyMin; property xMax: Integer read FxMax; property yMax: Integer read FyMax; property Mass: Integer read FMass; end; { TMammoBoundaries } TBlobList = specialize TFPGObjectListTBlob; I'm using {$mode objfpc} and unit fgl. Any hint?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Trunk does not compile on Linux x86-64
Hi, I'm trying to compile trunk on Ubuntu 11.10 x86-64: Linux leonardo-laptop 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux And get this: ... /usr/local/bin/fpc -Ur -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -Fi../unix -Fix86_64 -FE. -FU/home/leonardo/Desarrollo/fpc/rtl/units/x86_64-linux -Cg -dx86_64 -dRELEASE ../objpas/sysconst.pp sysconst.pp(243,7) Error: Wrong number of parameters specified for call to $fpc_ansistr_sint sysconst.pp(249) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted ... -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Trunk does not compile on Linux x86-64
From: Paul Ishenin webpi...@mail.ru To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Sent: Wednesday, October 19, 2011 10:53 AM Subject: Re: [fpc-devel] Trunk does not compile on Linux x86-64 19.10.11 21:47, Leonardo M. Ramé пишет: Hi, I'm trying to compile trunk on Ubuntu 11.10 x86-64: Linux leonardo-laptop 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux And get this: ... /usr/local/bin/fpc -Ur -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -Fi../unix -Fix86_64 -FE. -FU/home/leonardo/Desarrollo/fpc/rtl/units/x86_64-linux -Cg -dx86_64 -dRELEASE ../objpas/sysconst.pp sysconst.pp(243,7) Error: Wrong number of parameters specified for call to $fpc_ansistr_sint sysconst.pp(249) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted ... Are you using the latest released FPC = fpc 2.4.4 to build the trunk? If not please build with it. Building trunk compiler by an earlier version of trunk compiler is not supported. Best regards, Paul Ishenin No, sorry, I'm using 2.7.1. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] OpenBSD compiler
- Original Message - From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Cc: Sent: Sunday, October 9, 2011 12:37 PM Subject: RE: [fpc-devel] OpenBSD compiler /bin/rm -f fpcmade.i386-openbsd Package.fpc ppas.sh script.res link.res /bin/rm -f *.s *_ppas.sh gmake[7]: Leaving directory `/var/home/leonardo/fpc/rtl/openbsd' gmake[6]: Leaving directory `/var/home/leonardo/fpc/rtl' gmake -C /var/home/leonardo/fpc/rtl 'OPT=' all gmake[6]: Entering directory `/var/home/leonardo/fpc/rtl' gmake -C openbsd all gmake[7]: Entering directory `/var/home/leonardo/fpc/rtl/openbsd' as -o /var/home/leonardo/fpc/rtl/units/i386-openbsd/prt0.o i386/prt0.as as -o /var/home/leonardo/fpc/rtl/units/i386-openbsd/cprt0.o i386/cprt0.as /var/home/leonardo/i386-openbsd-ppc386 -Ur -FD -Ur -Xs -O2 -n -Fi../inc - Fi../i386 -Fi../unix -Fi../bsd -Fi../bsd/i386 -Fi../openbsd/i386 -FE. - FU/var/home/leonardo/fpc/rtl/units/i386-openbsd -di386 -dRELEASE -Us -Sg ../bsd/system.pp Problem confirmed: I use Sys call number 312 for getdirentries but for 4.4, the last system call is 310. I tested if getdirentries35 works OK, I was able to do a gmake cycle on a 4.4 openbsd. Committed in 19423. Pierre Great!. I did an svn up, then gmake again, but the problem persists. What gmake options did you use?. Maybe you should upload the new bootstrapping compiler to ftp://ftp.freepascal.org/pub/fpc/contrib/ Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] OpenBSD compiler
From: Pierre Free Pascal pie...@freepascal.org To: 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Saturday, October 8, 2011 2:07 PM Subject: RE: [fpc-devel] OpenBSD compiler -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Marco van de Voort Envoyé : vendredi 7 octobre 2011 23:53 À : FPC developers' list Objet : Re: [fpc-devel] OpenBSD compiler In our previous episode, Pierre Free Pascal said: The ones with compat are probably OK, No, they are old syscalls only kept for compatibility. That means you also have to use the corresponding old syscalls. I also think the getdents=getdirentries alias is not entirely correct. You were right, getdirentries has one more parameter! I adapted bsd/ossysc.inc It is possible that what we see here in trunk is not the same as what worked, long,long ago in the fixes1_0 branch, since in that time release branches were not kept as close in sync to trunk as nowadays. I tried to cross-compile the compiler, but it crashes inside a fsearch call... Probably readdir again, I'll work on it on and off as I have time the coming days. Too late... (at least hopefully) I just achieved a successful 'gmake cycle' on i386 openbsd. Pierre, glad to hear that. What compiler did you use to bootstrap?. I've downloaded one from FreePascal's ftp, but it gives me Bad system call when I run it. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] OpenBSD compiler
- Original Message - From: Marco van de Voort mar...@stack.nl To: Leonardo M. Ramé martinr...@yahoo.com Cc: Sent: Saturday, October 8, 2011 5:06 PM Subject: Re: [fpc-devel] OpenBSD compiler In our previous episode, Leonardo M. Ram? said: Pierre, glad to hear that. What compiler did you use to bootstrap?. I updated with Pierre changes and duplicated it. I put the resulting (2.7.1) compiler at ftp://ftp.freepascal.org/pub/fpc/contrib/i386-openbsd-ppc386.bz2 I did some minor additional fixes to makefiles and target selection, they are in SVN now. I've downloaded one from FreePascal's ftp, but it gives me Bad system call when I run it. As said, easiest is to use a linux binary. All three BSDs can run linux binaries using a fairly thin compatibility layer (sometimes called linuxator). I did my tests with a linux i386 binary. Linuxator is installed as you described in a previous mail in this same thread. ? Leonardo M. Ram? http://leonardorame.blogspot.com Did you also give the sysctl to enable it? That did it for me. Thanks, the compiler runs ok. But I can't gmake build all using it. I updated trunk from svn, then did: gmake PP=~/i386-openbsd-ppc386 clean all And got this: (stripped irrelevant parts) ... /bin/rm -f fpcmade.i386-openbsd Package.fpc ppas.sh script.res link.res /bin/rm -f *.s *_ppas.sh gmake[7]: Leaving directory `/var/home/leonardo/fpc/rtl/openbsd' gmake[6]: Leaving directory `/var/home/leonardo/fpc/rtl' gmake -C /var/home/leonardo/fpc/rtl 'OPT=' all gmake[6]: Entering directory `/var/home/leonardo/fpc/rtl' gmake -C openbsd all gmake[7]: Entering directory `/var/home/leonardo/fpc/rtl/openbsd' as -o /var/home/leonardo/fpc/rtl/units/i386-openbsd/prt0.o i386/prt0.as as -o /var/home/leonardo/fpc/rtl/units/i386-openbsd/cprt0.o i386/cprt0.as /var/home/leonardo/i386-openbsd-ppc386 -Ur -FD -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../unix -Fi../bsd -Fi../bsd/i386 -Fi../openbsd/i386 -FE. -FU/var/home/leonardo/fpc/rtl/units/i386-openbsd -di386 -dRELEASE -Us -Sg ../bsd/system.pp gmake[7]: *** [system.ppu] Bad system call (core dumped) gmake[7]: Leaving directory `/var/home/leonardo/fpc/rtl/openbsd' gmake[6]: *** [openbsd_all] Error 2 gmake[6]: Leaving directory `/var/home/leonardo/fpc/rtl' gmake[5]: *** [rtl] Error 2 gmake[5]: Leaving directory `/var/home/leonardo/fpc/compiler' gmake[4]: *** [next] Error 2 gmake[4]: Leaving directory `/var/home/leonardo/fpc/compiler' gmake[3]: *** [ppc1] Error 2 gmake[3]: Leaving directory `/var/home/leonardo/fpc/compiler' gmake[2]: *** [cycle] Error 2 gmake[2]: Leaving directory `/var/home/leonardo/fpc/compiler' gmake[1]: *** [compiler_cycle] Error 2 gmake[1]: Leaving directory `/var/home/leonardo/fpc' gmake: *** [build-stamp.i386-openbsd] Error 2 Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] OpenBSD compiler
From: Pierre Free Pascal pie...@freepascal.org To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' fpc-devel@lists.freepascal.org Sent: Wednesday, October 5, 2011 7:32 AM Subject: RE: [fpc-devel] OpenBSD compiler I tried to get i386-openbsd port up to date, using mingw cross Binutils that I compiled myself using openbsd sources. Should I add those to ftp? But I am stuck because I have a 64-bit OpenBSD virtual machine (and no room to add a i386 version on my machine) but all cross-compiled executables. Is it possible to install an openbsd equivalent of lib32? How do you compile i386 openbsd executables using GCC on a amd64 machine? Pierre De :fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel-boun...@lists.freepascal.org] De la part de Leonardo M. Ramé Envoyé : mercredi 5 octobre 2011 01:31 À : FPC developers' list Objet : [fpc-devel] OpenBSD compiler Hi, I noted that Pierre is updating the OpenBSD port. Does anyone knows where can I find a bootstraping compiler for this platform?. Leonardo M. Ramé http://leonardorame.blogspot.com Pierre, I have one VM of OpenBSD 4.4 i386 running all day long. If you want I can let you access using ssh to it, otherwhise you could send me the executables and I can test them in that machine. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] OpenBSD compiler
Hi, I noted that Pierre is updating the OpenBSD port. Does anyone knows where can I find a bootstraping compiler for this platform?. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New Windows gdb-binary
From: Joost van der Sluis jo...@cnoc.nl To: fpc-devel@lists.freepascal.org Sent: Friday, September 30, 2011 10:02 AM Subject: [fpc-devel] New Windows gdb-binary Hi all, For all those who are interested in new debug-features of fpc and gdb, I have cross-compiled a gdb-executable for Windows. It's based on the Fedora-16 branch from the Archer project. But I added a few patches of my own, namely the patch to recognize methods, setting case-sensitivity off by default and a patch to allow evaluating method-values (without actually calling them.) With this gdb-version you can: - Print strings properly, this means that indexes are evaluated properly and strings can contain #0 characters (when compiled with -gw3) - Dynamic array are evaluated properly (when compiled with -gw3) - Case of identifiers are preserved (when compiled with -gw3) - It is possible to identify class-methods (fpc 2.7.1 only) - It is possible to call simple class-methods (fpc 2.7.1 only. Some problems on i386 regarding the calling conventions remain, and there seems to be some problems still with overridden functions) Please test this gdb-version, and tell me about your experiences. Especially Martin. ;) Oh, you can download it here: http://www.lazarussupport.com/gdb_lazarssupport_20110930.zip Joost -- My Lazarus blog: http://www.lazarussupport.com/lazarus/weblog ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel Looks impressive. I'll start testing right now. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Error compiling trunk
I'm trying to compile from svn trunk on Win32, but I get this when I do make clean all: Free Pascal Compiler version 2.4.4 [2011/04/23] for i386 Copyright (c) 1993-2010 by Florian Klaempfl Target OS: Win32 for i386 Compiling fpmake.pp fpmake.pp(20,51) Error: Identifier not found iPhoneSim fpmake.pp(198) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted make.exe[3]: *** [fpmake] Error 1 make.exe[3]: Leaving directory `E:/fpc/packages/fcl-base' make.exe[2]: *** [fcl-base_smart] Error 2 make.exe[2]: Leaving directory `E:/fpc/packages' make.exe[1]: *** [packages_smart] Error 2 make.exe[1]: Leaving directory `E:/fpc' ..\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2 Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Build error on Win32 - SVN Trunk
Hi, I'm trying to compile the SVN Trunk version using FPC 2.5.1 to bootstrap. I'm working on Windows 32 bits. Usually I just do this: e: cd fpc svn upmake clean all PP=e:\pp\bin\i386-win32\ppc386.exe make install And it worked without problems until today. I do this process once a month. When I do make clean all PP=e:\pp\bin\i386-win32\ppc386.exe the compiling process starts, and after a while, I get this error message: process_begin: CreateProcess((null), __missing_command_CMP -i218 ppc3.exe ppc386.exe, ...) failed. Is this a bug?, or I have use another compiler to bootstrap?. Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Deflating file created with TPAbbrevia
Hi, the attached file is a .wav file created on Windows and compressed with TPAbbrevia's DeflateStream method of AbZipPrc unit. I need to decompress it using fpc and save to a folder, to be played with mplayer. This snippet shows what I'm doing to decompress the file, but I'm getting buffer error in DeCompress method. lcompressedStream := TMemoryStream.Create; lUncompressedStream := TMemoryStream.Create; lcompressedStream.LoadFromFile('compressed.file'); lcompressedStream.Position:= 0; lDecompressor := TInflater.Create(lcompressedStream, lUncompressedStream, lcompressedStream.Size); try lDecompressor.DeCompress; lUncompressedStream.Position:= 0; lUncompressedStream.SaveToFile('output.wav'); finally lDecompressor.Free; lcompressedStream.Free; lUncompressedStream.Free; end; Does anyone can check the attached file to help me to uncompress it?. Maybe TInflater is not the class that I should use to decompress this file. Leonardo M. Ramé http://leonardorame.blogspot.com compressed.file Description: Binary data ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] TfpHttpClient events
I'm using TFpHttpClient for retrieving data from an http server. I'm wondering if anyone is planning to add events to it, such as OnProgress or similar. Thanks in advance, Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fpVectorial PDF Writer
- Original Message - From: Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com To: Leonardo M. Ramé martinr...@yahoo.com; FPC developers' list fpc-devel@lists.freepascal.org Cc: Sent: Sunday, June 26, 2011 2:54 PM Subject: Re: [fpc-devel] fpVectorial PDF Writer Hello, If you are willing to work on it too, I can help you write a pdf exporter. It should be easy, you just have to take an example document plus the Adobe documentation. PDF is just text plus an eventual zip compression. The drawing itself is just plain PostScript which is also simple. Ok, I'll try to start the exporter as my next weekend project. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] fpVectorial PDF Writer
Hi, I'm wondering if there are plans to create a pdf writer for fpVectorial. I was thinking of using Inkscape to create a template for reporting in a web application, then parse the SVG template using fpvectorial and output a PDF. What do you think? Leonardo M. Ramé http://leonardorame.blogspot.com___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Changes to fcl-web's fpmake.pp
Hi, when compiling fcl-web, fpwebfile.pp should be added to the compilation. Without it, the httpapp example doesn't compile. --- fpmake.pp(revisión: 17744) +++ fpmake.pp(copia de trabajo) @@ -143,7 +143,10 @@ AddUnit('httpdefs'); end; T:=P.Targets.AddUnit('fphttpclient.pp'); + T:=P.Targets.AddUnit('custhttpapp.pp'); + T:=P.Targets.AddUnit('fphttpapp.pp'); T:=P.Targets.AddUnit('fpwebdata.pp'); + T:=P.Targets.AddUnit('fpwebfile.pp'); T.ResourceStrings:=true; With T.Dependencies do begin Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Bug in IBConnection?
-- On Wed, 5/18/11, LacaK la...@zoznam.sk wrote: From: LacaK la...@zoznam.sk Subject: Re: [fpc-devel] Bug in IBConnection? To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, May 18, 2011, 4:05 AM this error message isc_shutdown is throw during isc_attach_database and so it seems, that your database is in shutdown mode (which prevents you attach ... Thanks, I found the log firebird.log file was growing too much and consumed all my /var partition free space. but I do not understand why you can success fuly attach using ssh?) See http://www.firebirdnews.org/?p=234 http://www.destructor.de/firebird/gfix.htm Laco. I don't attach trough SSH, with SSH I made a tunnel connection to my server, than attached from my machine to localhost on port 3050. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Bug in IBConnection?
Hi, I did an ssh tunnel to a remote server that has a Firebird 2.5 database, this way, my computer can connect to that database by simply pointing to 'localhost', this works when I connect through FlameRobin, but I can't make it work using this simple program: program dbtest; {$mode objfpc} uses Classes, SysUtils, IBConnection, sqldb; var IBConnection1: TIBConnection; SQLTransaction1: TSQLTransaction; lSql: TSQLQuery; begin IBConnection1 := TIBConnection.Create(nil); IBConnection1.DatabaseName := 'test'; IBConnection1.UserName := 'SYSDBA'; IBConnection1.Password := 'masterkey'; IBConnection1.HostName := 'localhost'; IBConnection1.CharSet := 'UTF8'; IBConnection1.LoginPrompt := False; IBConnection1.Connected := True; IBConnection1.Free; end. When I run it, I get this exception: An unhandled exception occurred at $00488EFB : EIBDatabaseError : : DoInternalConnect : -database /usr/path_to_database/TEST.IB shutdown $00488EFB $0048A1E1 $00489C98 What can be causing this error? P.S.: I'm connecting from an Ubuntu 10.10 64bits box with libfbclient2 ver 2.5.0.26074-0.ds4-4, and the server is a FreeBSD 8.2 64bits with Firebird 2.5. Thanks in advance, Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] GetEnumValue result type
Hi, I'm having some trouble if I want to pass an enumerated type as a function parameter, when I get that type with GetEnumValue. For example, if I have this type: TMyType = (mtOne, mtTwo, mtThree); var lMyType: TMyType; begin lMyType := TMyType(GetEnumValue(TypeInfo(TMyType), 'mtTwo')); // lMyType is 1 instead of mtTwo // now I pass lMyType as a parameter in a function/procedure myFunction(lMyType); end; Shouln't lMyType be equal to mtTwo instead of 1? How can I get mtTwo from GetEnumValue? Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FreeBSD 64bits SVN error
Hi, I'm trying to compile from trunk on a FreeBSD x86_64 box, and I'm getting this error: gmake clean all: ... thread.inc(411,10) Warning: Function result does not seem to be set /usr/home/martin/desarrollo/fpc/rtl/units/x86_64-freebsd/system.s: Assembler messages: /usr/home/martin/desarrollo/fpc/rtl/units/x86_64-freebsd/system.s:2262: Error: operand type mismatch for `movzbl' system.pp(349) Error: Error while assembling exitcode 1 system.pp(349) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted gmake[7]: *** [system.ppu] Error 1 gmake[7]: Leaving directory `/usr/home/martin/desarrollo/fpc/rtl/freebsd' gmake[6]: *** [freebsd_all] Error 2 gmake[6]: Leaving directory `/usr/home/martin/desarrollo/fpc/rtl' gmake[5]: *** [rtl] Error 2 gmake[5]: Leaving directory `/usr/home/martin/desarrollo/fpc/compiler' gmake[4]: *** [next] Error 2 gmake[4]: Leaving directory `/usr/home/martin/desarrollo/fpc/compiler' gmake[3]: *** [ppc1] Error 2 gmake[3]: Leaving directory `/usr/home/martin/desarrollo/fpc/compiler' gmake[2]: *** [cycle] Error 2 gmake[2]: Leaving directory `/usr/home/martin/desarrollo/fpc/compiler' gmake[1]: *** [compiler_cycle] Error 2 gmake[1]: Leaving directory `/usr/home/martin/desarrollo/fpc' gmake: *** [build-stamp.x86_64-freebsd] Error 2 My FPC version is this: Free Pascal Compiler version 2.5.1 [2011/03/29] for x86_64 Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Fcl-Web 404 error
Hi, does anyone knows how to return a correct 404 error from an fcl-web cgi app?. I'm doing this: procedure TFPWebModule1.myRequest(Sender: TObject; ARequest: TRequest; AResponse: TResponse; var Handled: boolean); begin AResponse.Code := 404; AResponse.CodeText := 'Not Found'; Handled := True; end; I use this because my Apache has an .htaccess's ErrorDocument 404 ... directive to take actions when 404 errors are found, but this is not working with my CGI. In my case, the contents (empty) sent by the CGI are shown in the client side, while I whould like to show the 404 message generated by Apache. This is the response I'm getting from my cgi: * About to connect() to 127.0.0.1 port 80 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) GET /cgi-bin/gpacs/seriesImages?AccessionNumber=1112 HTTP/1.1 User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 Host: 127.0.0.1 Accept: */* HTTP/1.1 404 Not Found Date: Fri, 11 Mar 2011 13:34:19 GMT Server: Apache/2.2.16 (Ubuntu) Vary: Accept-Encoding Content-Length: 0 Content-Type: text/html * Connection #0 to host 127.0.0.1 left intact * Closing connection #0 And this is a correct 404 error mesage: * About to connect() to 127.0.0.1 port 80 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) GET /cgi-bin/gpacs3/seriesImages?AccessionNumber=1112 HTTP/1.1 User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 Host: 127.0.0.1 Accept: */* HTTP/1.1 404 Not Found Date: Fri, 11 Mar 2011 13:34:46 GMT Server: Apache/2.2.16 (Ubuntu) Vary: Accept-Encoding Content-Length: 300 Content-Type: text/html; charset=iso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN htmlhead title404 Not Found/title /headbody h1Not Found/h1 pThe requested URL /cgi-bin/gpacs3/seriesImages was not found on this server./p hr addressApache/2.2.16 (Ubuntu) Server at 127.0.0.1 Port 80/address /body/html * Connection #0 to host 127.0.0.1 left intact * Closing connection #0 Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Fcl-Web 404 error
--- On Fri, 3/11/11, michael.vancann...@wisa.be michael.vancann...@wisa.be wrote: From: michael.vancann...@wisa.be michael.vancann...@wisa.be Subject: Re: [fpc-devel] Fcl-Web 404 error To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, March 11, 2011, 1:00 PM On Fri, 11 Mar 2011, Leonardo M. Ramé wrote: --- On Fri, 3/11/11, michael.vancann...@wisa.be michael.vancann...@wisa.be wrote: From: michael.vancann...@wisa.be michael.vancann...@wisa.be Subject: Re: [fpc-devel] Fcl-Web 404 error To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, March 11, 2011, 11:59 AM On Fri, 11 Mar 2011, Leonardo M. Ramé wrote: Hi, does anyone knows how to return a correct 404 error from an fcl-web cgi app?. I'm doing this: procedure TFPWebModule1.myRequest(Sender: TObject; ARequest: TRequest; AResponse: TResponse; var Handled: boolean); begin AResponse.Code := 404; AResponse.CodeText := 'Not Found'; Handled := True; end; I use this because my Apache has an .htaccess's ErrorDocument 404 ... directive to take actions when 404 errors are found, but this is not working with my CGI. In my case, the contents (empty) sent by the CGI are shown in the client side, while I whould like to show the 404 message generated by Apache. Then you should add it to AResponse.Content:='The html'; Michael. Thanks Michael, but it's a little more complicated than that. I need the 404 error to be handled by Apache, not by my app. I need this because I'm trying to let Apache search in a 2nd server when an 404 error is returned by the first server. I don't think the CGI protocol supports that. You'll have to consult the Apache docs. Michael. -Inline Attachment Follows- Nevermind. The solution was to create a file under /var//cgi-bin called failoverserver.cfg, containing only one line, for example 192.168.0.10. If the cgi doesn't find a requested record, then, do a AResponse.SendRedirect to the server defined in failoverserver.cfg and the same ARequest.URL. Leonardo. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Error compiling trunk on FreeBSD
From: Marco van de Voort mar...@stack.nl Binutils 2.15 is the lastest binutils under GPLv2. Binutils 2.17 was the last GPLv2 version of binutils, and it supports cmpxchg16b. Ok. Then I don't know why they are stuck at 2.15, I got that answer then (at the Fosdem LLVM talk), but didn't check it further. I'll ask around. But anyway, 8.2 is days old, so migrating to 2.17 is for now not an option, and the db solution will have to be implemented anyway. I upgraded to the latest binutils from /usr/ports/devel/binutils (it's ver 2.21), then compiled FPC 2.5.1, but I got the same error. -- Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Error compiling trunk on FreeBSD
From: Marco van de Voort mar...@stack.nl Subject: Re: [fpc-devel] Error compiling trunk on FreeBSD To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, March 2, 2011, 11:04 AM In our previous episode, Leonardo M. Ram? said: I upgraded to the latest binutils from /usr/ports/devel/binutils (it's ver 2.21), then compiled FPC 2.5.1, but I got the same error. I assume that means they are installed into local? Did you make sure they are actually used (e.g. by using -s) ? If you do, and they are not, try passing -FD/usr/local/lib ? Thanks for pointing that out, I was using 2.15, and in /usr/local I have 2.21. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Error compiling trunk on FreeBSD
From: Marco van de Voort mar...@stack.nl Subject: Re: [fpc-devel] Error compiling trunk on FreeBSD To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, March 2, 2011, 11:31 AM In our previous episode, Leonardo M. Ram? said: Thanks for pointing that out, I was using 2.15, and in /usr/local I have 2.21. If you can compile it now, please post the result of objdump -d cpu.o (the InterlockedCompareExchange128 part). Thanks. (this is also in fixes, and needs to be fixes asap because of 2.4.4) I successfully compiled it with this command: gmake clean all OPT=-FD/usr/local/bin Here's the dump: cpu.o: file format elf64-x86-64 Disassembly of section .text: CPU_INTERLOCKEDCOMPAREEXCHANGE128SUPPORT$$BOOLEAN: 0: 8a 04 25 00 00 00 00mov0x0,%al 7: c3 retq 0008 CPU_INTERLOCKEDCOMPAREEXCHANGE128$INT128REC$INT128REC$INT128REC$$INT128REC: 8: 55 push %rbp 9: 48 89 e5mov%rsp,%rbp c: 48 83 ec 10 sub$0x10,%rsp 10: 53 push %rbx 11: 51 push %rcx 12: 49 8b 18mov(%r8),%rbx 15: 49 8b 48 08 mov0x8(%r8),%rcx 19: 49 89 d0mov%rdx,%r8 1c: 49 8b 01mov(%r9),%rax 1f: 49 8b 51 08 mov0x8(%r9),%rdx 23: f0 49 0f c7 08 rex64Z lock cmpxchg8b (%r8) 28: 59 pop%rcx 29: 48 89 01mov%rax,(%rcx) 2c: 48 89 51 08 mov%rdx,0x8(%rcx) 30: 5b pop%rbx 31: c9 leaveq 32: c3 retq 33: 0f 1f (bad) 35: 44 00 00add%r8b,(%rax) Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Error compiling trunk on FreeBSD
Hi, I'm trying to compile the r17057 on FreeBSD x86_64 and I'm getting this error: fpc/rtl/units/x86_64-freebsd/cpu.s:40: Error: no such instruction: `cmpxchg16b (%r8) Any hint? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Error compiling trunk on FreeBSD
Hi, I'm trying to compile the r17057 on FreeBSD x86_64 and I'm getting this error: fpc/rtl/units/x86_64-freebsd/cpu.s:40: Error: no such instruction: `cmpxchg16b (%r8) Any hint? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Compiling FPC with Debug info
Hi, I usually compile fpc with make clean all, this builds everything for RELEASE. How can I compile this with Debug info? Thanks, in advance, Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Compiling FPC with Debug info
Thanks Marcos, I used make clean all OPT=-g and aparently it didn't include debugging info. How can I check that? Leonardo M. Ramé http://leonardorame.blogspot.com --- On Thu, 2/24/11, Marcos Douglas m...@delfire.net wrote: From: Marcos Douglas m...@delfire.net Subject: Re: [fpc-devel] Compiling FPC with Debug info To: FPC developers' list fpc-devel@lists.freepascal.org Date: Thursday, February 24, 2011, 6:32 PM On Thu, Feb 24, 2011 at 5:11 PM, Leonardo M. Ramé martinr...@yahoo.com wrote: Hi, I usually compile fpc with make clean all, this builds everything for RELEASE. How can I compile this with Debug info? make clean all OPT=params_here Like this: http://wiki.lazarus.freepascal.org/Installing_Lazarus#STEP_.235:_Create_a_BAT_file_to_compile_Lazarus Marcos Douglas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Compiling FPC with Debug info
Thanks, now I can debug fpc packages!. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Thu, 2/24/11, Henry Vermaak henry.verm...@gmail.com wrote: From: Henry Vermaak henry.verm...@gmail.com Subject: Re: [fpc-devel] Compiling FPC with Debug info To: FPC developers' list fpc-devel@lists.freepascal.org Date: Thursday, February 24, 2011, 7:38 PM On 24 February 2011 20:56, Leonardo M. Ramé martinr...@yahoo.com wrote: Thanks Marcos, I used make clean all OPT=-g and aparently it didn't include debugging info. How can I check that? Try OPT=-gl -O-. You can check the .o files with the file command. This will tell you if it's stripped or not. Henry ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Problem reading pgm image
Hi, I'm loading PGM files to a TImage.Picture using its LoadFromFile or LoadFromStream methods. This works well on small to medium sized images, but I'm getting an EReadErrorEReadError exception if I try to load images of 16mb or more. After debugging this, I stopped at fpreadpnm.pp, in this method: procedure TFPReaderPNM.InternalRead(Stream:TStream;Img:TFPCustomImage); var Row:Integer; l: Integer; begin ReadHeader(Stream); Img.SetSize(FWidth,FHeight); FScanLineSize:=FBitPP*((FWidth+7)shr 3); GetMem(FScanLine,FScanLineSize); try for Row:=0 to img.Height-1 do begin ReadScanLine(Row,Stream); WriteScanLine(Row,Img); end; finally Row := l; FreeMem(FScanLine); end; end; The ReadScanLine method uses the FScanLineSize to read from a Stream using Stream.ReadBuffer with a size of FScanLineSize, and it seems like in my image, in a specific row (4734 to be clear) it has a different line size than the expected by FScanLineSize. Maybe the formula used to calculate the scan line size is wrong?. I can open my image with many viewers like Eye of Gnome, or Gimp without problems. Here's the image: http://www.tarjeta-salud.com.ar/downloads/salida.pgm Hope someone can help me fix this. http://leonardorame.blogspot.com Leonardo M. Ramé ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Problem reading pgm image
I filled a bug report about this here: http://bugs.freepascal.org/view.php?id=17840 Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Fatal: Internal error 200111022
Sorry Florian, the error happened trying to compile some auto-generated code with wrong property assignments, with overloaded setters. It's fixed now. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 9/14/10, Florian Klaempfl flor...@freepascal.org wrote: From: Florian Klaempfl flor...@freepascal.org Subject: Re: [fpc-devel] Fatal: Internal error 200111022 To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, September 14, 2010, 12:04 PM Am 14.09.2010 01:13, schrieb Leonardo M. Ramé: Hi, does anyone knows what the error Fatal: Internal error 200111022 means?. Something happened which should not happen ;) Looks like an error with overloading. Can you create a cut down example? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Fatal: Internal error 200111022
My code, don't worry. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 9/14/10, Florian Klämpfl flor...@freepascal.org wrote: From: Florian Klämpfl flor...@freepascal.org Subject: Re: [fpc-devel] Fatal: Internal error 200111022 To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, September 14, 2010, 4:01 PM Am 14.09.2010 19:39, schrieb Leonardo M. Ramé: Sorry Florian, the error happened trying to compile some auto-generated code with wrong property assignments, with overloaded setters. It's fixed now. In FPC or your code? Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 9/14/10, Florian Klaempfl flor...@freepascal.org wrote: From: Florian Klaempfl flor...@freepascal.org Subject: Re: [fpc-devel] Fatal: Internal error 200111022 To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, September 14, 2010, 12:04 PM Am 14.09.2010 01:13, schrieb Leonardo M. Ramé: Hi, does anyone knows what the error Fatal: Internal error 200111022 means?. Something happened which should not happen ;) Looks like an error with overloading. Can you create a cut down example? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FPC and Dicom
Hi, is anyone working on a Dicom library for FPC?. It would be nice to have an fcl-dicom library, based, for example in an object pascal version of DCMTK (a C++ library http://www.dcmtk.org/dcmtk.php.en). P.S.: DICOM is a standard for medical imaging, you can read more about it in http://medical.nema.org/ Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] About modeswitch objectivec2
I often read the svn log of the trunk version, and today I noted that a mode called objectivec2 was added. What's the objective of this addition? r15460 | jonas | 2010-06-20 09:38:45 -0300 (dom 20 de jun de 2010) | 7 lines + support for Objective-Pascal for-in loops (fast enumerations) + {$modeswitch objectivec2}, which is required before you can use Objective-C 2.0 features (such as the above). It automatically also implies {$modeswitch objectivec1} + genloadfield() helper to load a field of a node representing a record/object/class Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] fpWeb recursive tag replace
Hi, when I use html templates with tags that contains inner tags, the ReplaceTag event is fired only once, for the 1st order tag, but not for the inner tags. Example, a home page containing a header (a tag) and a body which contains another tag like, for example {+search_form+}. The search_form tag, also contains some {+tags+} to be replaced by the main program. Is there an official way to handle this use case? Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fpWeb recursive tag replace
Thanks I have forgotten the listings example. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Mon, 6/7/10, ABorka fpc-de...@aborka.com wrote: From: ABorka fpc-de...@aborka.com Subject: Re: [fpc-devel] fpWeb recursive tag replace To: FPC developers' list fpc-devel@lists.freepascal.org Date: Monday, June 7, 2010, 9:02 PM On 6/7/2010 16:40, Leonardo M. Ramé wrote: Hi, when I use html templates with tags that contains inner tags, the ReplaceTag event is fired only once, for the 1st order tag, but not for the inner tags. Example, a home page containing a header (a tag) and a body which contains another tag like, for example {+search_form+}. The search_form tag, also contains some {+tags+} to be replaced by the main program. Is there an official way to handle this use case? Leonardo M. Ramé http://leonardorame.blogspot.com An example template attached would have helped, but guessing your problem... If you use the AllowTagParams := true; for a template, then you cannot have recursive embedded tags. That is what the tag parameters can be used for instead. For example: {+search_form [-formheader=form blah blah-] [-formbody=input type...-] [-formfooter=/form-] +} Your program needs to replace the search_form tag by also processing the tag parameters. To see some examples for template usage, try the demo programs under ...\lazarus\components\fpweb\demo\fptemplate\... AB ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FPC on Freebsd
Hí, I'm trying to compile FPC 2.5.1 on FreeBsd 8.0 (i386-stable). To do this, I followed the instructions from here: http://wiki.lazarus.freepascal.org/Installing_Lazarus#Installing_Free_Pascal_under_Linux.2FBSD_manually The probem I'm facing now is when I do an make install from ports, I get FPC 2.2.4, and the minimum version required to compile from trunk is 2.4.0 according to this: http://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg16836.html How can I get 2.4.0 binary to compile the svn version?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FPC on Freebsd
Henry, just to confirm that ppc386-freebsd-7.bz2 was able to bootstrap 2.5.1 i386 on FreeBsd 8.0 Thanks again. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Fri, 6/4/10, Leonardo M. Ramé martinr...@yahoo.com wrote: From: Leonardo M. Ramé martinr...@yahoo.com Subject: Re: [fpc-devel] FPC on Freebsd To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, June 4, 2010, 9:19 AM Thanks, I'll try one of them. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Fri, 6/4/10, Henry Vermaak henry.verm...@gmail.com wrote: From: Henry Vermaak henry.verm...@gmail.com Subject: Re: [fpc-devel] FPC on Freebsd To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, June 4, 2010, 9:12 AM On 4 June 2010 13:08, Leonardo M. Ramé martinr...@yahoo.com wrote: Hí, I'm trying to compile FPC 2.5.1 on FreeBsd 8.0 (i386-stable). To do this, I followed the instructions from here: http://wiki.lazarus.freepascal.org/Installing_Lazarus#Installing_Free_Pascal_under_Linux.2FBSD_manually The probem I'm facing now is when I do an make install from ports, I get FPC 2.2.4, and the minimum version required to compile from trunk is 2.4.0 according to this: http://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg16836.html How can I get 2.4.0 binary to compile the svn version?. There are some bootstrap compilers here: ftp://ftp.freepascal.org/pub/fpc/dist/2.4.0/bootstrap/ I see there is no freebsd 8, though. Henry ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] fcl-web actions bug?
Hi, is it possible to call actions this way?: http://host/cgi-bin/myprog/action1 instead of http://host/cgi-bin/myprog?action=action1 I thougth that the designed behavior was to call any action by its name like: http://host/cgi-bin/myprog/action1 http://host/cgi-bin/myprog/action2 But that won't work. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fcl-web actions bug?
Both should work. The second one should only work if the ActionVar property is set with the name of the query variable. If the .../myprog/action1 is not working then either there is a new bug in fcl-web or something is not done properly. What version of fpc/lazarus are you using? AB Both from svn trunk. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fcl-web actions bug?
From: Leonardo M. Ramé martinr...@yahoo.com Subject: Re: [fpc-devel] fcl-web actions bug? To: FPC developers' list fpc-devel@lists.freepascal.org Date: Monday, May 31, 2010, 6:31 PM Both should work. The second one should only work if the ActionVar property is set with the name of the query variable. If the .../myprog/action1 is not working then either there is a new bug in fcl-web or something is not done properly. What version of fpc/lazarus are you using? AB Both from svn trunk. Nevermind, after upgrading from svn it works as expected now. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fcl-web example and new testsuite website
joost, nice work. I love the filters below the header in the grid, what did you use for that? some jQuery component? Leonardo M. Ramé http://leonardorame.blogspot.com --- On Sun, 5/30/10, Joost van der Sluis jo...@cnoc.nl wrote: From: Joost van der Sluis jo...@cnoc.nl Subject: Re: [fpc-devel] fcl-web example and new testsuite website To: FPC developers' list fpc-devel@lists.freepascal.org Date: Sunday, May 30, 2010, 4:33 PM On Sun, 2010-05-30 at 21:22 +0200, Florian Klaempfl wrote: Joost van der Sluis schrieb: Hi all, Maybe you know this site: http://www.freepascal.org/testsuite/cgi-bin/testsuite.cgi with the results of the automatic testruns for each night. I've made a new version, using the webdesign package. You can see the result here: http://www.freepascal.org/testsuite/cgi-bin/testsuite.cgi Looks like the old one ;) Yeah, I made a perfect copy. ;) Sigh: http://www.freepascal.org/~joost/wwwroot/testsuiteweb.cgi Joost. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FCL Thread-safety
I can confirm FCL-XML is thread safe, at least in FPC 2.5.1, also Zeos as far as you create a new connection to the database inside each thread. I'm using both libraries in a multithreaded daemon that receives an XML file via socket, then connects to a Postgres database using Zeos. While developing this, the first issue was many database deadlocks, and transaction problems caused because I was sharing a global database connection, the solution was creating an instance of the database connector in the Thread constructor, and destroy it in the Thread destructror. Regarding the FCL-XML, I was using an old version based on AVLTree, and found it have many problems when working within threads, all of them solved after upgrading to the latest version. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 1/26/10, Nikolai Zhubr zh...@mail.ru wrote: From: Nikolai Zhubr zh...@mail.ru Subject: [fpc-devel] FCL Thread-safety To: fpc-devel@lists.freepascal.org Date: Tuesday, January 26, 2010, 11:08 PM Hello people, Is FCL thread-safe? To be more precise, what I mean is the following. I'm going to create 2 (or more) components so that they are completely unrelated to each other in _my_ code and use them separately within different threads (implemented as TThread descendants if it matters) with no syncronization/serialization whatsoever. Can I be sure that such components will not interfere each other implicitely (somewhere deep inside the FCL)? And just in case someone knows, will zeoslib components be thread-safe in the same sense? From a brief look, zeoslib doesn't use global variables too much, so I suppose zeoslib thread-safety mostly depends on the FCL thread-safety. (Except that zeoslib's internal library loader seems definitely not thread-safe, but this is no problem because normally it should only be used once at the very beginning) Thank you! Nikolai ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FCL Thread-safety
Well, I had to create a simple testing application that generates random XML messages and stress-test the daemon. About Zeos, my app does not compiles against the svn version, but a copy of an approved (by me!) version. Every couple of months, I get the latest version, then compile and test, if this works ok, I copy the whole directory of Zeos and place it in my app's dir tree, this tree is a frozen version of Zeos. This way, I'm not concerned about changes in the libraries. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Wed, 1/27/10, Nikolai Zhubr zh...@mail.ru wrote: From: Nikolai Zhubr zh...@mail.ru Subject: Re: [fpc-devel] FCL Thread-safety To: fpc-devel@lists.freepascal.org Date: Wednesday, January 27, 2010, 12:27 PM 27.01.2010 15:30, Leonardo M. Ramé: I can confirm FCL-XML is thread safe, at least in FPC 2.5.1, also Zeos as far as you create a new connection to the database inside each thread. I'm using both libraries in a multithreaded daemon that receives an XML file via socket, then connects to a Postgres database using Zeos. Thank you very much! That is very similar to what I'll be doing, except that I just dont use XML. Yes, I'll create 1 connector per thread of course. The only concern then is how to ensure that thread-safety is not (ocasionally) destroyed with some future FCL and/or zeoslib versions. It somehow seems quite uneasy to design a simple and yet reliable regression-test for automated testing. On the other hand, verifying it all by hand is also not what I'd be dreaming of. Thank you! Nikolai While developing this, the first issue was many database deadlocks, and transaction problems caused because I was sharing a global database connection, the solution was creating an instance of the database connector in the Thread constructor, and destroy it in the Thread destructror. Regarding the FCL-XML, I was using an old version based on AVLTree, and found it have many problems when working within threads, all of them solved after upgrading to the latest version. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] New issue in fcl-xml
When the XML file includes accented characters, an Invalid character in input stream exception is raised. Is this correct?, how should I include accented chars in an XML file?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New issue in fcl-xml
Sorry, I found it now checks the encoding of the XML file. To accept spanish accented chars, I had to include ?xml version=1.0 encoding=iso-8859-1? and it worked ok. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Fri, 1/15/10, Leonardo M. Ramé martinr...@yahoo.com wrote: From: Leonardo M. Ramé martinr...@yahoo.com Subject: [fpc-devel] New issue in fcl-xml To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, January 15, 2010, 12:47 PM When the XML file includes accented characters, an Invalid character in input stream exception is raised. Is this correct?, how should I include accented chars in an XML file?. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] XML Stream capacity
I'm using fcl-xml to parse a XML data from a TMemoryStream/TStringStream and noted it can parse streams with a maximum capacity of 4096 bytes, why can't it receive bigger streams?. The maximum capacity is defined in the constructor of TXMLStreamInputSource, in XMLRead.pp. --- constructor TXMLStreamInputSource.Create(AStream: TStream; AOwnStream: Boolean); begin FStream := AStream; FCapacity := 4096; -- here's the max capacity allowed ... --- My testing code is this: var lDoc: TXMLDocument; lStr: TStringStream; begin lStr := TStringStream.Create(Memo1.Text); lDoc := TXMLDocument.Create; try ReadXMLFile(lDoc, lStr); finally lDoc.Free; lStr.Free; end; end. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] XML Stream capacity
Thanks Sergey. I tought that was why my program was stopping with an assertion in procedure TNodePool.AddExtent of dom.pp, the assertion dissapears when I work with smaller XML files. BTW: the file worked with older versions of fcl-xml, now I'm using the trunk version because it no longer deppends on AVL_Tree, that wasn'n thread safe. I attached the file I'm using for testing. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Thu, 1/14/10, Sergei Gorelkin sergei_gorel...@mail.ru wrote: From: Sergei Gorelkin sergei_gorel...@mail.ru Subject: Re: [fpc-devel] XML Stream capacity To: FPC developers' list fpc-devel@lists.freepascal.org Date: Thursday, January 14, 2010, 12:51 PM Leonardo M. Ramé wrote: I'm using fcl-xml to parse a XML data from a TMemoryStream/TStringStream and noted it can parse streams with a maximum capacity of 4096 bytes, why can't it receive bigger streams?. The maximum capacity is defined in the constructor of TXMLStreamInputSource, in XMLRead.pp. This value has nothing to do with total possible stream size, it is only the size of buffer used while reading. The maximum size of XML data that can be read with DOM on a 32-bit machine is about 40 to 150 MBytes (depending on the data structure). Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ?xml version=1.0? HISRISSolExa CodTurno283355/CodTurno FechaDesde2009-10-15 08:20:00/FechaDesde FechaHasta2009-10-15 08:39:00/FechaHasta TipoIngresoA/TipoIngreso Equipo NombreMAMCH22S - ELSCINT/Nombre ModalidadCR/Modalidad /Equipo Especialidad![CDATA[MAMOGRAFIA]]/Especialidad Paciente NroFcr18682009/NroFcr SexoU/Sexo Nombres![CDATA[GRACIELA]]/Nombres ApellidoPaterno![CDATA[MORO]]/ApellidoPaterno FechaNacimiento1947-08-04/FechaNacimiento Domicilio![CDATA[25 DE MAYO 154]]/Domicilio Telefono![CDATA[4881137 ]]/Telefono TipoDocumentoD.N.I./TipoDocumento NroDocumento18682009/NroDocumento /Paciente FinanciadorPlan Financiador![CDATA[APROSS ]]/Financiador /FinanciadorPlan ProfesionalDeriva Nombres![CDATA[VALDEZ CARLOS]]/Nombres ApellidoPaterno![CDATA[SICCHAR]]/ApellidoPaterno /ProfesionalDeriva Prestaciones Prestacion Cantidad2/Cantidad Prestacion![CDATA[MAMOGRAFIA UNILATERAL F Y P]]/Prestacion Codigo340601/Codigo /Prestacion /Prestaciones FechaCompromiso2009-10-17 08:20:00/FechaCompromiso /HISRISSolExa ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] XML Stream capacity
Yes!, thank you very much Sergei. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Thu, 1/14/10, Sergei Gorelkin sergei_gorel...@mail.ru wrote: From: Sergei Gorelkin sergei_gorel...@mail.ru Subject: Re: [fpc-devel] XML Stream capacity To: FPC developers' list fpc-devel@lists.freepascal.org Date: Thursday, January 14, 2010, 2:24 PM Leonardo M. Ramé wrote: Thanks Sergey. I tought that was why my program was stopping with an assertion in procedure TNodePool.AddExtent of dom.pp, the assertion dissapears when I work with smaller XML files. BTW: the file worked with older versions of fcl-xml, now I'm using the trunk version because it no longer deppends on AVL_Tree, that wasn'n thread safe. I attached the file I'm using for testing. Does r14644 solve the problem? Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Creating ppc386 from ppcx64
Hi, I'm trying to create a cross compiler from Linux-x86_64 to Linux-i386, to do this, I have installed the compiled version 2.4.0 from Ubuntu repositories, which is ppcx64, then got the compiler trunk version from svn. To create the cross compiler, I'm following this guide: http://wiki.lazarus.freepascal.org/Cross_compiling#To_Linux When I do sudo make all CPU_TARGET=i386 I receive this message: /usr/bin/fpc -Pi386 -XPi386-linux- -Xr -Fui386 -Fusystems -Fu../rtl -Fii386 -FEs Error: ppc386 can't be executed, error message: Failed to execute ppc386, err7 make: *** [ppc386] Error 1 Which is correct, since I don't have ppc386 installed. How can I create it?, is it correct to just create a symlink from ppcx64? Thanks in advance, Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Creating ppc386 from ppcx64
Thanks Jonas, I went a step further. Now, when I just do fpc, to I got this: Error: ppc386 can't be executed, error message: Failed to execute ppc386, error code: 127 What can be causing this? ...but I found the new ppc386 in /usr/local/lib/fpc/2.5.1/ppc386, so I tried to compile a sample program, and got this: ... ... /usr/bin/ld: warning: link.res contains output sections; did you forget -T? /usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl /usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl /usr/bin/ld: skipping incompatible /usr/lib//libdl.so when searching for -ldl /usr/bin/ld: skipping incompatible /usr/lib//libdl.a when searching for -ldl /usr/bin/ld: cannot find -ldl Error: Error while linking Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted Any hint? Leonardo M. Ramé http://leonardorame.blogspot.com --- On Wed, 1/6/10, Jonas Maebe jonas.ma...@elis.ugent.be wrote: From: Jonas Maebe jonas.ma...@elis.ugent.be Subject: Re: [SPAM] [fpc-devel] Creating ppc386 from ppcx64 To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, January 6, 2010, 5:31 PM On 06 Jan 2010, at 20:15, Leonardo M. Ramé wrote: To create the cross compiler, I'm following this guide: http://wiki.lazarus.freepascal.org/Cross_compiling#To_Linux When I do sudo make all CPU_TARGET=i386 I receive this message: /usr/bin/fpc -Pi386 -XPi386-linux- -Xr -Fui386 -Fusystems -Fu../rtl -Fii386 -FEs Error: ppc386 can't be executed, error message: Failed to execute ppc386, err7 make: *** [ppc386] Error 1 I guess you are executing that command inside the fpc/compiler directory. You have to execute it in the top level fpc directory. And you don't need the sudo for the make all, only for the make install Jonas___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [SPAM] Re: [fpc-devel] Creating ppc386 from ppcx64
Thanks again Jonas, that worked ok!. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Wed, 1/6/10, Jonas Maebe jonas.ma...@elis.ugent.be wrote: From: Jonas Maebe jonas.ma...@elis.ugent.be Subject: Re: [SPAM] Re: [fpc-devel] Creating ppc386 from ppcx64 To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, January 6, 2010, 6:26 PM On 06 Jan 2010, at 21:15, Leonardo M. Ramé wrote: Thanks Jonas, I went a step further. Now, when I just do fpc, to I got this: Error: ppc386 can't be executed, error message: Failed to execute ppc386, error code: 127 What can be causing this? Create a symlink from /usr/local/bin/ppc386 to /usr/local/lib/fpc/2.5.1/ppc386. fpc searches for a compiler in the same directory as where its own binary is located. make install does not create/overwrite such symlinks, because that changes your default compiler. /usr/bin/ld: cannot find -ldl Error: Error while linking Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted Any hint? Install 32 bit compatibility libraries on your Linux distribution. If they are unavailable: tough luck, I guess (unless you setup an complete i386 cross-compilation environment on your system, but that's not FPC specific in any way and I can't help with that). Jonas___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FPC 2.5.x changelog?
Hi, I'm looking for the changelog of FPC, I want to know what new features and changes were added, but I couln't find it on the FPC's site. Where can I find it? Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Dynamically Loading Libraries
Regarding a similar subject, I found an article by Hallvards Vassbotn showing a method to delay load dlls in Delphi, its usage is pretty similar to static linking, but the library is loaded on demand (without explicitly calling LoadLibrary). This is a short version: http://hallvards.blogspot.com/2008/03/tdm8-delayloading-of-dlls.html The long PDF version: http://vassbotn.googlepages.com/DelayLoadingOfDLLs.pdf Leonardo M. Ramé http://leonardorame.blogspot.com --- On Wed, 11/11/09, Marco van de Voort mar...@stack.nl wrote: From: Marco van de Voort mar...@stack.nl Subject: Re: [fpc-devel] Dynamically Loading Libraries To: FPC developers' list fpc-devel@lists.freepascal.org Date: Wednesday, November 11, 2009, 8:54 AM In our previous episode, Jeppe Johansen said: procedure proc; external name 'proc'; denotes a static linked function. This syntax is not possible. The external 'xxx' name 'proc' is there for a reason, for systems with multiple linker namespaces. Moreover there is already an enormous codebase that uses this. I don't know if I'm making a fool of myself, but what systems? Skimming the sources, I couldn't find any mention of it in the ELF writers. An external symbol will simply be linked to the first occurrence of a matching symbol in the first shared or static object(unless there's some name mangling going on that I didn't spot). The COFF writer already does it the way I suggested. Windows, Darwin, and afaik Solaris. The ELF writers are probably not updated for Solaris yet. This is ofcourse a solution that would require modification of the compiler, but I think in the long run that it'll make alot of things more comprehensible I don't. I think this dynamically loading of headers has already gone to far. It is a good workaround for a few headers that are versionwise a disaster, like MySQL, but universally, it doesn't solve problems. In principle, doing it this way would make cross compiling to an ELF platform with dynamic linking easier, once the internal ELF linker is made. While partially true, this is a brute force approach. Having a few simple map files (that can be generated on target from the libs) over which files contain which symbols might help too. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FreeBSD's shared libraries
Hi, while trying to create an apache 2.2.x module in FreeBSD 7.2, I found it can't load .so files created by FPC 2.2.4. After this issue, I'd try to create a simple .so file, and a program to load it dynamically, sadly it seems that Dynlibs.LoadLibrary can't find the library (I'm using absolute paths). This confirms what Jonas Maebe said: Creating dynamic libraries with FPC does not work under FreeBSD at this time.. How can I help to implement this feature, where can I start?. What are the problems that are stopping this to work?. Thanks in advance, Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FreeBSD's shared libraries
I found a bug opened in 2006 about this issue, its number is 0007833. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Mon, 7/27/09, Marco van de Voort mar...@stack.nl wrote: From: Marco van de Voort mar...@stack.nl Subject: Re: [fpc-devel] FreeBSD's shared libraries To: FPC developers' list fpc-devel@lists.freepascal.org Date: Monday, July 27, 2009, 11:48 AM In our previous episode, Leonardo M. Ramé said: Hi, while trying to create an apache 2.2.x module in FreeBSD 7.2, I found it can't load .so files created by FPC 2.2.4. After this issue, I'd try to create a simple .so file, and a program to load it dynamically, sadly it seems that Dynlibs.LoadLibrary can't find the library (I'm using absolute paths). This confirms what Jonas Maebe said: Creating dynamic libraries with FPC does not work under FreeBSD at this time.. How can I help to implement this feature, where can I start?. What are the problems that are stopping this to work?. Finding (up-to-date) information about what a library is required to have. (mostly initialization/finalization) ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Apache 2.2 modules for FreeBSD
Hi, I'm trying to run the examples of http22 units in a FreeBSD 7.2 for i386, with Apache 2.2.11. The examples compiles with FPC 2.2.4, but when I try to run apachectl start, it crashes with this message: httpd: Syntax error on line 104 of /usr/local/etc/apache22/httpd.conf: API module structure 'hello_module' in file /usr/local/libexec/apache22/mod_hello.so is garbled - expected signature 41503232 but saw - perhaps this is not an Apache module DSO, or was compiled for a different Apache version? I downloaded the units to test this from http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/httpd22 To compile them I used: fpc -WR -XX -Xs -B -Fuhttpd22/src -Fuhttpd22/src/apr -Fuhttpd22/src/apriconv mod_hello.pp Any help will be appreciated!. Leonardo. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Lazarus Apache module crashes during concurrent requests
Does this was fixed? I'm trying to deploy an apache 2.2.9 module, it compiles and loads ok (it doesn't crash apache) but its exported function isn't called, I'm using the same code ABorka used in this example. This is my configuration: Free Pascal Compiler version 2.2.4-3 [2009/06/03] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Linux debian 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 GNU/Linux Leonardo. - Original Message From: ABorka fpc-de...@aborka.com To: FPC developers' list fpc-devel@lists.freepascal.org Sent: Tuesday, September 30, 2008 11:03:26 PM Subject: Re: [fpc-devel] Lazarus Apache module crashes during concurrent requests Nevermind, on Ubuntu the request_rec is only 384 bytes for FPC instead of 412. But that still does not explain why the handler function is not even getting called by apache. ABorka wrote: OK, after 4 days of pulling my (remaining) hair out I was able to compile a basic C apache module on Ubuntu 8.04 (apache 2.2.8). It seems both fpc/lazarus (not working apache module) and the C compiled (working apache module) one shows sizeof(request_rec) = 412 sizeof(module_struct) = 56 So the length seems to be the same for for both. Still, the Lazarus compiled apache module doesn't even load in apache (mod_hello.pp or any of the other examples included in fpc). If the exports is included then it loads but doesn't work at all: modified mod_hello.pp from fpc/packages/httpd22/examples/ {*** * Test library of the Apache Pascal Headers ***} library mod_hello; {*** * The mode must be objfpc on this unit because the unix code uses * some extensions introduced on Free Pascal ***} {$ifdef fpc} {$mode objfpc}{$H+} {$endif} {$IFDEF WIN32} {$DEFINE WINDOWS} {$ENDIF} {$define Apache2_2} uses SysUtils, httpd {$ifndef Apache1_3}, apr{$endif}; var test_module: module; public name 'test_module'; default_module_ptr: Pmodule; const MODULE_NAME = 'mod_hello.so'; {*** * Free Pascal only supports exporting variables on Windows ***} { $ifdef WINDOWS}//commented out, exports work in Linux now exports test_module name 'test_module'; { $endif}//commented out, exports work in Linux now . .snip . Not sure why the Lazarus/fpc apache modules do not work on apache 2.2.8 or 2.2.9 on Ubuntu. The above module is loaded, the handler registering function is called, but the handler never gets triggered when the module is called from a browser. Michael Van Canneyt wrote: Any suggestions? Yes: please print the size of the Request_rec (or TRequest_Rec) and the same record in C. Compare if they are equal. Same for the module record. If they are not equal, then we know it is a problem with the pascal definition of this record. I've had to do this exercise about 30 times myself on various platforms to get it right. Maybe they changed the size again. Michael. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Test
Just a test. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] SetPropValue case sensitive
I found a difference between Delphi's SetPropValue function with its counterpart in FPC. In Delphi, this function is case insensitive, while in fpc it is case sensitive. Am I correct? Leonardo. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] SetPropValue case sensitive
I studied a little deeper and the problem is (according to FPC 2.2.2 manual) that SetPropValue doesn't work because Variants are not implemented yet. The solution was easy, I used SetStrProp instead of SetPropValue. In my program all published properties were strings. Can you confirm if it is implemented in newer versions? Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 5/5/09, Sergei Gorelkin sergei_gorel...@mail.ru wrote: From: Sergei Gorelkin sergei_gorel...@mail.ru Subject: Re: [fpc-devel] SetPropValue case sensitive To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, May 5, 2009, 2:44 PM Leonardo M. Ramé wrote: I found a difference between Delphi's SetPropValue function with its counterpart in FPC. In Delphi, this function is case insensitive, while in fpc it is case sensitive. Am I correct? The property name comparison (ending up in GetPropInfo(TypeInfo: PTypeInfo; const PropName: string), rtl/objpas/typinfo.pp line 571) is done case-insensitive, unless there is a bug somewhere. Can you provide code snippet illustrating the difference? Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] SetPropValue case sensitive
Download this PDF and search for SetPropValue: http://www.eg.bucknell.edu/~cs208/subpages/software/share/doc/fpc-2.2.2/fpc-2.2.2/rtl.pdf Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 5/5/09, Bogusław Brandys bran...@o2.pl wrote: From: Bogusław Brandys bran...@o2.pl Subject: Re: [fpc-devel] SetPropValue case sensitive To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, May 5, 2009, 3:06 PM Leonardo M. Ramé wrote: I studied a little deeper and the problem is (according to FPC 2.2.2 manual) that SetPropValue doesn't work because Variants are not implemented yet. The solution was easy, I used SetStrProp instead of SetPropValue. In my program all published properties were strings. Can you confirm if it is implemented in newer versions? Leonardo M. Ramé http://leonardorame.blogspot.com Hmm..I thought that variants were supported long time ago but my memory is bad. Are you sure about that ? Boguslaw ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] adding x86_64-netbsd
That's great!, I'll try to compile it this week. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Tue, 4/21/09, Axel Scheepers a...@axel.truedestiny.net wrote: From: Axel Scheepers a...@axel.truedestiny.net Subject: Re: [fpc-devel] adding x86_64-netbsd To: FPC developers' list fpc-devel@lists.freepascal.org Date: Tuesday, April 21, 2009, 2:12 PM On Tue, 2009-04-21 at 05:15 -0700, Leonardo M. Ramé wrote: Axel, It was difficult to create the port to NetBSD? In my company we have several OpenBSD installs and it would be nice if we could run FPC apps on them. Leonardo M. Ramé http://leonardorame.blogspot.com Hi Leonardo, It's my first try at it, I don't know if I missed something except the obvious prt0.as problems I'm having. From what I saw most of the *bsd is already defined and I even saw an openbsd i386/m68k target, take a look at fpcsrc/compiler/systems.pas, fpcsrc/compiler/systems/i_bsd.pas fpcsrc/compiler/systems/t_bsd.pas and fpcsrc/rtl/openbsd/ Kind regards, Axel Scheepers -- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments -Inline Attachment Follows- ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Pascal Applets
Hi, does anyone knows if somebody is working on something like Pascal Applets, similar to Java Applets or Flash, but made in Object Pascal. I need this to be able to record microphone sound through the browser, and I know the only way to do this is by either creating a Java Applet, Flash or ActiveX, but also I need it to be cross platform and ActiveX isn't an alternative in this case. Why I hope to find a Pascal Applet? because I preffer to write Object Pascal code instead of anything different. Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Pascal Applets
I've found a Netscape Plugin implementation written in Delphi: http://www.torry.net/vcl/vcltools/plugins/nplugin.zip It works perfectly!, now I'll try to compile it with FPC for Windows and later for Linux. Leonardo M. Ramé http://leonardorame.blogspot.com --- On Fri, 11/28/08, Daniël Mantione [EMAIL PROTECTED] wrote: From: Daniël Mantione [EMAIL PROTECTED] Subject: Re: [fpc-devel] Pascal Applets To: FPC developers' list fpc-devel@lists.freepascal.org Date: Friday, November 28, 2008, 10:32 AM Op Fri, 28 Nov 2008, schreef dmitry boyarintsev: How about writing a browser plugin? You should be able to do that in Pascal. You may have to do some pioneering work, making the Netscape plugin API available in Pascal, otherwise it should work and be cross-platform. is that the API? http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/ Correct. Daniël___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Tiburon compatibility
Apparently the new Delphi version (Tiburon) will change the way strings are handled by the rtl and the compiler, this changes affects Unicode characters specially. Surely the code created with the new Delphi version shouldn't compile with FPC. Is somebody addressing the changes to make them compatible with future versions of FPC, or this will be the finish of compatibility between the two compilers? Leonardo M. Ramé http://leonardorame.blogspot.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel