From crm4x at mtsu.edu Mon Jun 1 17:18:58 2009 From: crm4x at mtsu.edu (chris) Date: Mon, 1 Jun 2009 21:18:58 +0000 (UTC) Subject: [Agar] =?utf-8?q?Crashing_with_AG=5FTextboxSizeHint_usage?= References: <20090601012415.GA24503@csoft.net> Message-ID: chris writes: > > > Does the text in your application otherwise render correctly when the line > > is commented out? Are you using an Agar compiled without Freetype support > > by any chance? > > > > The textbox renders normal when I comment that line out, it just doesn't have > any space for input so I need to use the AG_TextboxSizeHint function to allow > room for input. > > I am using the Freetype version of Agar as well.. hmm... > I created somewhat of a workaround so that I didn't have to use AG_TextboxSizeHint. Now later in my code, I try to use AG_TextboxBindUTF8 and again, I get a crash whenever or wherever I use that function. This happens with every version of agar, non-freetype and non-pthread included. I really need help on this it's caused my project to come to a standstill Thanks chris From crm4x at mtsu.edu Mon Jun 1 20:47:39 2009 From: crm4x at mtsu.edu (Chris) Date: Tue, 2 Jun 2009 00:47:39 +0000 (UTC) Subject: [Agar] How do I close a window? Message-ID: I have an SDL application, and I am trying to use Agar as it's gui. My problem is this: I call a textbox for user input (username and password) and when they press submit, I want to close that textbox and return the focus back to my SDL surface for further rendering. How can I do this? From vedge at hypertriton.com Mon Jun 1 20:52:41 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Mon, 1 Jun 2009 20:52:41 -0400 Subject: [Agar] Crashing with AG_TextboxSizeHint usage In-Reply-To: References: <20090601012415.GA24503@csoft.net> Message-ID: <20090602005241.GA26646@csoft.net> On Mon, Jun 01, 2009 at 09:18:58PM +0000, chris wrote: > chris writes: > > > > > > Does the text in your application otherwise render correctly when the line > > > is commented out? Are you using an Agar compiled without Freetype support > > > by any chance? > > > > > > > The textbox renders normal when I comment that line out, it just doesn't have > > any space for input so I need to use the AG_TextboxSizeHint function to allow > > room for input. > > > > I am using the Freetype version of Agar as well.. hmm... > > > I created somewhat of a workaround so that I didn't have to use > AG_TextboxSizeHint. Now later in my code, I try to use AG_TextboxBindUTF8 and > again, I get a crash whenever or wherever I use that function. This happens with > every version of agar, non-freetype and non-pthread included. > > I really need help on this it's caused my project to come to a standstill I would need some more details, such as your platform, SDL version, FreeType version and Agar version (and whether it was compiled from source or installed from binary package). I'm sure this is somehow related to the font engine. Your application seems to crash whenever a text "sizing" operation is attempted. From vedge at hypertriton.com Mon Jun 1 20:53:22 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Mon, 1 Jun 2009 20:53:22 -0400 Subject: [Agar] How do I close a window? In-Reply-To: References: Message-ID: <20090602005322.GB26646@csoft.net> On Tue, Jun 02, 2009 at 12:47:39AM +0000, Chris wrote: > I have an SDL application, and I am trying to use Agar as it's gui. My problem > is this: > > I call a textbox for user input (username and password) and when they press > submit, I want to close that textbox and return the focus back to my SDL surface > for further rendering. How can I do this? AG_ViewDetach(window) will release the window. From crm4x at mtsu.edu Mon Jun 1 20:58:30 2009 From: crm4x at mtsu.edu (Chris) Date: Tue, 2 Jun 2009 00:58:30 +0000 (UTC) Subject: [Agar] How do I close a window? References: <20090602005322.GB26646@csoft.net> Message-ID: > AG_ViewDetach(window) will release the window. > That allowed me to draw back to the original SDL surface, but it didn't return the focus back to the original program. I had to click the 'x' of my program for it to return the focus back so that my SDL input handler worked again. How do I return fully back to the program? From crm4x at mtsu.edu Mon Jun 1 21:01:22 2009 From: crm4x at mtsu.edu (Chris) Date: Tue, 2 Jun 2009 01:01:22 +0000 (UTC) Subject: [Agar] =?utf-8?q?Crashing_with_AG=5FTextboxSizeHint_usage?= References: <20090601012415.GA24503@csoft.net> <20090602005241.GA26646@csoft.net> Message-ID: > I would need some more details, such as your platform, SDL version, > FreeType version and Agar version (and whether it was compiled from > source or installed from binary package). I'm sure this is somehow > related to the font engine. Your application seems to crash whenever > a text "sizing" operation is attempted. > I found out that the problem originates from my usage of the RakNet networking library. When I comment out RakNet's main header file inclusion, all functions work. I'm contacting RakNet support for further help. This is what VC++ is telling me: Unhandled exception at 0x0040cd50 in stonedClient.exe: 0xC0000005: Access violation writing location 0x0000054b. hmm From crm4x at mtsu.edu Mon Jun 1 21:09:43 2009 From: crm4x at mtsu.edu (Chris) Date: Tue, 2 Jun 2009 01:09:43 +0000 (UTC) Subject: [Agar] How do I close a window? References: <20090602005322.GB26646@csoft.net> Message-ID: Nevermind, I was making a stupid mistake. Thanks for the help From paulovictor.pinheiro at gmail.com Tue Jun 2 16:15:57 2009 From: paulovictor.pinheiro at gmail.com (Paulo Pinheiro) Date: Tue, 2 Jun 2009 17:15:57 -0300 Subject: [Agar] Agar with -g3 Message-ID: Hello, What is the easiest way to compile agar with -g3(gdb) cflags in it? I tried to put it on the makefile but did not worked. I know it`s a silly question, but i`m a beginner. thanx in advance. -- Paulo Victor de Almeida Pinheiro ------------------------------ Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES Mestrado em Ci?ncia da Computa??o - UECE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail231.csoft.net/pipermail/agar/attachments/20090602/a9713833/attachment.htm From vedge at hypertriton.com Tue Jun 2 16:27:41 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Tue, 2 Jun 2009 16:27:41 -0400 Subject: [Agar] Agar with -g3 In-Reply-To: References: Message-ID: <20090602202741.GC19898@csoft.net> Make sure your $CFLAGS environment variable contains the option when ./configure is executed: env CFLAGS="-g" ./configure On Tue, Jun 02, 2009 at 05:15:57PM -0300, Paulo Pinheiro wrote: > Hello, > > What is the easiest way to compile agar with -g3(gdb) cflags in it? I tried > to put it on the makefile but did not worked. I know it`s a silly question, > but i`m a beginner. thanx in advance. > > -- > Paulo Victor de Almeida Pinheiro > ------------------------------ > Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES > Mestrado em Ci?ncia da Computa??o - UECE > _______________________________________________ > Agar mailing list > Agar at hypertriton.com > http://libagar.org/lists.html From paulovictor.pinheiro at gmail.com Wed Jun 3 22:13:53 2009 From: paulovictor.pinheiro at gmail.com (Paulo Pinheiro) Date: Wed, 3 Jun 2009 23:13:53 -0300 Subject: [Agar] Agar with -g3 In-Reply-To: <20090602202741.GC19898@csoft.net> References: <20090602202741.GC19898@csoft.net> Message-ID: Thank you, it worked, but it gave some unexpected problems that don`t occur without debugging option :( On Tue, Jun 2, 2009 at 5:27 PM, Julien Nadeau wrote: > > Make sure your $CFLAGS environment variable contains the option > when ./configure is executed: > > env CFLAGS="-g" ./configure > > On Tue, Jun 02, 2009 at 05:15:57PM -0300, Paulo Pinheiro wrote: > > Hello, > > > > What is the easiest way to compile agar with -g3(gdb) cflags in it? I > tried > > to put it on the makefile but did not worked. I know it`s a silly > question, > > but i`m a beginner. thanx in advance. > > > > -- > > Paulo Victor de Almeida Pinheiro > > ------------------------------ > > Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES > > Mestrado em Ci?ncia da Computa??o - UECE > > > _______________________________________________ > > Agar mailing list > > Agar at hypertriton.com > > http://libagar.org/lists.html > > -- Paulo Victor de Almeida Pinheiro ------------------------------ Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES Mestrado em Ci?ncia da Computa??o - UECE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail231.csoft.net/pipermail/agar/attachments/20090603/60d291a7/attachment.htm From vedge at hypertriton.com Wed Jun 3 22:27:12 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Wed, 3 Jun 2009 22:27:12 -0400 Subject: [Agar] Agar with -g3 In-Reply-To: References: <20090602202741.GC19898@csoft.net> Message-ID: <20090604022712.GJ8415@csoft.net> That would suggest bugs with your compiler or environment. The debugging information introduced by -g is not read during execution. On Wed, Jun 03, 2009 at 11:13:53PM -0300, Paulo Pinheiro wrote: > Thank you, it worked, but it gave some unexpected problems that don`t occur > without debugging option :( > > On Tue, Jun 2, 2009 at 5:27 PM, Julien Nadeau wrote: > > > > > Make sure your $CFLAGS environment variable contains the option > > when ./configure is executed: > > > > env CFLAGS="-g" ./configure > > > > On Tue, Jun 02, 2009 at 05:15:57PM -0300, Paulo Pinheiro wrote: > > > Hello, > > > > > > What is the easiest way to compile agar with -g3(gdb) cflags in it? I > > tried > > > to put it on the makefile but did not worked. I know it`s a silly > > question, > > > but i`m a beginner. thanx in advance. > > > > > > -- > > > Paulo Victor de Almeida Pinheiro > > > ------------------------------ > > > Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES > > > Mestrado em Ci?ncia da Computa??o - UECE > > > > > _______________________________________________ > > > Agar mailing list > > > Agar at hypertriton.com > > > http://libagar.org/lists.html > > > > > > > -- > Paulo Victor de Almeida Pinheiro > ------------------------------ > Laborat?rio de Redes de Comunica??o e Seguran?a da Informa??o - LARCES > Mestrado em Ci?ncia da Computa??o - UECE From crm4x at Mtsu.edu Wed Jun 10 19:17:26 2009 From: crm4x at Mtsu.edu (Chris) Date: Wed, 10 Jun 2009 23:17:26 +0000 (UTC) Subject: [Agar] wanting printf to write to textbox buffer, but not overwrite Message-ID: I have a chat box example that I need help with. I have a chat box submit text to another disabled chat box in order to display the chat. The problem is, when I use AGAR's printf function, it overwrites the buffer, therefore deleting previous messages. How can I save previous messages in the buffer and display the new ones as well? Thanks in advance, Chris From vedge at hypertriton.com Wed Jun 10 21:02:31 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Wed, 10 Jun 2009 21:02:31 -0400 Subject: [Agar] wanting printf to write to textbox buffer, but not overwrite In-Reply-To: References: Message-ID: <20090611010231.GB23718@csoft.net> On Wed, Jun 10, 2009 at 11:17:26PM +0000, Chris wrote: > I have a chat box example that I need help with. > > I have a chat box submit text to another disabled chat box in order to display > the chat. The problem is, when I use AGAR's printf function, it overwrites the > buffer, therefore deleting previous messages. How can I save previous messages > in the buffer and display the new ones as well? Why not use something like this: char *buffer; size_t buffer_size; AG_Textbox *tb; ... tb = AG_TextboxNew(parent, AG_TEXTBOX_MULTILINE, NULL); AG_TextboxBindUTF8(tb, buffer, buffer_size); Then you can simply append to the buffer: strlcat(buffer, "foo", buffer_size); From mdunstan at cokinetic.com Mon Jun 15 17:58:05 2009 From: mdunstan at cokinetic.com (Mark Dunstan) Date: Mon, 15 Jun 2009 21:58:05 +0000 (UTC) Subject: [Agar] =?utf-8?q?Word_wrapping_AG=5FTextbox?= Message-ID: We are trying to enable word wrapping in AG_Textbox but, haven't been successful. Summary: There is a method listed in the below link to enable/disable word wrap but, it doesn't work: http://libagar.org/mdoc.cgi?man=AG_Textbox.3 Details of the error: void AG_TextboxSetWordWrap (AG_Textbox *textbox, int enable) .... AG_TextboxSetWordWrap() enables/disable word wrapping. However, in the include file: #include textbox.h, it does not have this declaration but it does have: #define AG_TEXTBOX_NO_HFILL 0x02000 but this does nothing. And any call to AG_TextboxSetWordWrap(textbox, 1); produces this error: .... 1>d:\cpp_apps\agar2008inc\agar2008inc\main.c(78) : warning C4013: 'AG_TextboxSetWordWrap' undefined; assuming extern returning int .... 1>main.obj : error LNK2019: unresolved external symbol _AG_TextboxSetWordWrap referenced in function _SDL_main 1>D:\cpp_apps\Agar2008inC\Debug\Agar2008inC.exe : fatal error LNK1120: 1 unresolved externals .... Any help or direction on how to enable word wrapping in a Textbox/Editbox would be greatly appreciated. From mdunstan at cokinetic.com Tue Jun 16 13:31:05 2009 From: mdunstan at cokinetic.com (Mark Dunstan) Date: Tue, 16 Jun 2009 17:31:05 +0000 (UTC) Subject: [Agar] =?utf-8?q?Word_wrapping_AG=5FTextbox?= References: Message-ID: Mark Dunstan writes: Does word wrapping work anywhere? Are there any examples? void AG_EditableSetWordWrap (AG_Editable *ed, int enable) AG_EditableSetWordWrap() enables/disable word wrapping. http://libagar.org/mdoc.cgi?man=AG_Editable.3 When I put it in my code, like this: AG_EditableSetWordWrap(textbox->ed, 1); I get this error message: .... 1>d:\cpp_apps\agar2008inc\agar2008inc\main.c(116) : warning C4013: 'AG_EditableSetWordWrap' undefined; assuming extern returning int .... 1>main.obj : error LNK2019: unresolved external symbol _AG_EditableSetWordWrap referenced in function _SDL_main 1>D:\cpp_apps\Agar2008inC\Debug\Agar2008inC.exe : fatal error LNK1120: 1 unresolved externals .... From tvmj02 at gmail.com Fri Jun 19 07:41:36 2009 From: tvmj02 at gmail.com (Tiago Vieira) Date: Fri, 19 Jun 2009 08:41:36 -0300 Subject: [Agar] possible bug on fixed (agar 1.3.3/svn). Message-ID: Hello, I am trying to run a simple agar application which has only a button attached on a fixed attached on a window. The problem is that the button does not receive window-mousebuttondown event. When a attach button to window directly it receives the event normaly (see attached source code). It happens in agar 1.3.3 and in svn. In agar 1.3.2 it works fine. It is the new fixed behavior or it is a known/new bug? Thanks in advance and sorry for my english. Tiago Vieira M. Justino. -------------- next part -------------- A non-text attachment was scrubbed... Name: butt.c Type: text/x-csrc Size: 642 bytes Desc: not available Url : http://mail231.csoft.net/pipermail/agar/attachments/20090619/b49a5ad8/attachment.bin From vedge at hypertriton.com Sun Jun 21 08:54:42 2009 From: vedge at hypertriton.com (Julien Nadeau) Date: Sun, 21 Jun 2009 08:54:42 -0400 Subject: [Agar] Word wrapping AG_Textbox In-Reply-To: References: Message-ID: <20090621125442.GC32424@csoft.net> Ok, word wrapping should be functional in SVN as of r8202. Please test and give me your feedback. I'm not sure how best to handle long lines, though. We could either break the words, dynamically create a scrollbar, or scroll based on cursor position. What do you think? On Tue, Jun 16, 2009 at 05:31:05PM +0000, Mark Dunstan wrote: > Mark Dunstan writes: > > Does word wrapping work anywhere? Are there any examples? > > > void AG_EditableSetWordWrap (AG_Editable *ed, int enable) > > AG_EditableSetWordWrap() enables/disable word wrapping. > http://libagar.org/mdoc.cgi?man=AG_Editable.3 > > > When I put it in my code, like this: > AG_EditableSetWordWrap(textbox->ed, 1); > I get this error message: > > ..... > 1>d:\cpp_apps\agar2008inc\agar2008inc\main.c(116) : warning C4013: > 'AG_EditableSetWordWrap' undefined; assuming extern returning int > ..... > 1>main.obj : error LNK2019: unresolved external symbol _AG_EditableSetWordWrap > referenced in function _SDL_main > 1>D:\cpp_apps\Agar2008inC\Debug\Agar2008inC.exe : fatal error LNK1120: 1 > unresolved externals > ..... > > > _______________________________________________ > Agar mailing list > Agar at hypertriton.com > http://libagar.org/lists.html From mdunstan at cokinetic.com Tue Jun 23 03:38:14 2009 From: mdunstan at cokinetic.com (Mark Dunstan) Date: Tue, 23 Jun 2009 07:38:14 +0000 (UTC) Subject: [Agar] =?utf-8?q?Word_wrapping_AG=5FTextbox?= References: <20090621125442.GC32424@csoft.net> Message-ID: Thank you! We have downloaded and are trying to build it now > > I'm not sure how best to handle long lines, though. We could either > break the words, dynamically create a scrollbar, or scroll based on > cursor position. What do you think? Long lines should follow the model in Microsoft Word. That is our requirement. We can't have a horizontal scroll bar. 1) Normally the last word will wrap to the new line. 2) If there is a hyphen you can wrap everything after the hyphen to the next line 3) If the line is a single word with no spaces the words will wrap to the next line when you run out of space. From e_dunstan at hotmail.com Wed Jun 24 04:24:09 2009 From: e_dunstan at hotmail.com (Eric Dunstan) Date: Wed, 24 Jun 2009 08:24:09 +0000 (UTC) Subject: [Agar] Patch for configure to work with perl for compiling agar source Message-ID: Here is a patch for running ./configure on a checked out repository of Agar. I used ActivePerl perl, v5.10.0 built for MSWin32-x86-multi-thread. I used MinGW and MSYS to compile AGAR. The bug was that ./configure would fail, and if run again it would give a false success message. The reason it would fail was that the path to the header file passed to the perl program was of the form: "'./ada-core/ctxt.h'" and so I strip out the outer "'" characters and it works. So you can do ../configure && make && make install, and it will compile. perl mk/gen-declspecs.pl "'./ada-core/ctxt.h'" #this fails perl mk/gen-declspecs.pl './ada-core/ctxt.h' #this works perl mk/gen-declspecs.pl "./ada-core/ctxt.h" #this works The patch makes all three above work. Before you apply the patch, it might be better to root out the problem from its source and try to find out why those "'" characters are attached to the path in the first place. Also, this patch is really just a simple hack to make it work. There is probably a better way to accomplish the same effect more efficiently. Eric Index: mk/gen-declspecs.pl =================================================================== --- mk/gen-declspecs.pl (revision 8209) +++ mk/gen-declspecs.pl (working copy) @@ -72,6 +72,19 @@ exit(1); } +# +#A patch to remove the outer single quotes in the $ARGV[0] path string. +#For example "'./ada-core/ctxt.h'" fails due to the extra single quotes. +#There is a better way of doing this, but here is a hack. +#This hack makes ./configure work using MSYS and MinWG and ActivePerl. +#By Eric R. Dunstan 6-23-2009 +# +$argvPathLenVar = length($ARGV[0]); +if ($argvPathLenVar > 2 && substr($ARGV[0], 0, 1) eq "'" + && substr($ARGV[0], $argvPathLenVar - 1, 1) eq "'"){ + $ARGV[0] = substr($ARGV[0], 1, $argvPathLenVar - 2); +} + open(F, $ARGV[0]) || die "$ARGV[0]: $!"; # From e_dunstan at hotmail.com Wed Jun 24 05:35:54 2009 From: e_dunstan at hotmail.com (Eric Dunstan) Date: Wed, 24 Jun 2009 09:35:54 +0000 (UTC) Subject: [Agar] VS2008 Errors when compiling Agar r8209 applications Message-ID: compilation of the latest revision of Agar 8209 from source code via SVN succeeds. But when using the resulting headers and lib files in a simple Agar application, without Word Wrapping yet, in Visual Studio 2008 Express, it produces the following error message. However, Visual Studio 2008 Express successfully compiles the exact same simple code using the headers and libraries of Agar 1.3.3 released version. Here is the error message: 1>------ Build started: Project: Agar2008inC, Configuration: Debug Win32 ------ 1>Compiling... 1>main.c 1>c:\program files\agar\agar-8209\include\agar\core\error.h(61) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(61) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(61) : error C2059: syntax error : ',' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(61) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(61) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(64) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(64) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(64) : error C2059: syntax error : ',' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(64) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(64) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(65) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(65) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(65) : error C2059: syntax error : ',' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(65) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\error.h(65) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\class.h(83) : warning C4013: 'AG_SetError' undefined; assuming extern returning int 1>c:\program files\agar\agar-8209\include\agar\core\object.h(156) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(156) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(156) : error C2059: syntax error : ',' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(156) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(156) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(159) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(159) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(159) : error C2059: syntax error : ',' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(159) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(159) : error C2143: syntax error : missing ')' before 'constant' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(227) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(227) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\object.h(227) : error C2182: '__deprecated__' : illegal use of type 'void' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(184) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(184) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(185) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(185) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(291) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(291) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(291) : error C2433: '__warn_unused_result__' : 'inline' not permitted on data declarations 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(291) : error C2371: '__warn_unused_result__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\variable.h(184) : see declaration of '__warn_unused_result__' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(293) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(293) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\core\variable.h(293) : error C2433: '__warn_unused_result__' : 'inline' not permitted on data declarations 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(64) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(64) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(64) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(65) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(65) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(65) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(66) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(66) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(66) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(67) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(67) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(67) : warning C4142: benign redefinition of type 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(67) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(68) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(68) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(68) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(69) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(69) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(69) : warning C4142: benign redefinition of type 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(69) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(70) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(70) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(70) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(71) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(71) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(71) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(72) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(72) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(72) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(73) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(73) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(73) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(74) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(74) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(74) : warning C4142: benign redefinition of type 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(74) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(75) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(75) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(75) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(76) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(76) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(76) : warning C4142: benign redefinition of type 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(76) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(77) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(77) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(77) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(78) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(78) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(78) : error C2371: '__deprecated__' : redefinition; different basic types 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(79) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(79) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(79) : error C2182: '__deprecated__' : illegal use of type 'void' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(79) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(80) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(80) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(80) : error C2182: '__deprecated__' : illegal use of type 'void' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(80) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(81) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(81) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(81) : error C2182: '__deprecated__' : illegal use of type 'void' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(81) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(82) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(82) : error C2059: syntax error : ';' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(82) : error C2182: '__deprecated__' : illegal use of type 'void' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(82) : error C2370: '__deprecated__' : redefinition; different storage class 1> c:\program files\agar\agar-8209\include\agar\core\object.h(227) : see declaration of '__deprecated__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(83) : error C2061: syntax error : identifier '__attribute__' 1>c:\program files\agar\agar-8209\include\agar\gui\widget_legacy.h(83) : fatal error C1003: error count exceeds 100; stopping compilation 1>Build log was saved at "file://d:\cpp_apps\Agar2008inC\Agar2008inC\Debug\BuildLog.htm" 1>Agar2008inC - 102 error(s), 5 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== From e_dunstan at hotmail.com Wed Jun 24 05:52:09 2009 From: e_dunstan at hotmail.com (Eric Dunstan) Date: Wed, 24 Jun 2009 09:52:09 +0000 (UTC) Subject: [Agar] A Simple Agar Application with a text area Message-ID: Here is my simple AGAR application that compiles and runs with Agar 1.3.3 with no problem. This is implemented in C only. It is called main.c I used this code to compile agains Agar compiled from source via SVN repositories revision 8209, the latest, and it fails, but the error messages point to the AGAR code itself. #pragma comment(lib,"PthreadVC2.lib") #include #include #include static void DisableInput(AG_Event *event) { AG_Textbox *textbox = AG_PTR(1); int flag = AG_INT(2); if (flag) { AG_WidgetDisable(textbox); } else { AG_WidgetEnable(textbox); } } int main(int argc, char *argv[]) { AG_Window *win; AG_Textbox *textbox; char *someText; size_t size, bufSize; char *emerald; AG_Label *lab1, *lab2; if (AG_InitCore("hello", 0) == -1 || AG_InitVideo(640, 480, 32, AG_VIDEO_RESIZABLE) == -1) return (1); AG_BindGlobalKey(SDLK_ESCAPE, KMOD_NONE, AG_Quit); AG_BindGlobalKey(SDLK_F8, KMOD_NONE, AG_ViewCapture); win = AG_WindowNew(0); AG_WindowSetCaption(win, "Zillionare"); emerald = "The woods are lovely, dark, and green. Or so I have seen..."; size = strlen(emerald); bufSize = size+(1024 * 5); someText = AG_Malloc(bufSize); strcpy(someText, emerald); someText[size] = '\0'; lab1 = AG_LabelNew(win, 0, "Hello World, from Label 1"); lab2 = AG_LabelNew(win, 0, "Hello Again, from Label 2"); textbox = AG_TextboxNew(win, AG_TEXTBOX_NO_HFILL| //AG_TEXTBOX_HFILL| //AG_TEXTBOX_VFILL| //AG_TEXTBOX_WORDWRAP| AG_TEXTBOX_MULTILINE| AG_TEXTBOX_EXPAND| AG_TEXTBOX_CATCH_TAB, NULL); AG_TextboxSizeHintPixels(textbox, 250, 100); /* * Bind the buffer's contents to the Textbox. The size argument to * AG_TextboxBindUTF8() must include space for the terminating NUL. */ AG_TextboxBindUTF8(textbox, someText, bufSize); AG_TextboxSetCursorPos(textbox, 0); //AG_EditableSetWordWrap(textbox->ed, 1); AG_CheckboxNewFn(win, 0, "Disable input", DisableInput, "%p", textbox); AG_SeparatorNewHoriz(win); AG_LabelNewPolled(win, AG_LABEL_HFILL, "Rows: %d", &textbox->ed->xMax); AG_LabelNewPolled(win, AG_LABEL_HFILL, "Lines: %d", &textbox->ed->yMax); AG_LabelNewPolled(win, AG_LABEL_HFILL, "Cursor position: %d", &textbox->ed->pos); AG_WindowSetGeometryAligned(win, AG_WINDOW_MC, 540, 380); AG_WindowShow(win); //AG_WindowUpdate(win); AG_EventLoop(); AG_Destroy(); return (0); } From e_dunstan at hotmail.com Wed Jun 24 12:45:54 2009 From: e_dunstan at hotmail.com (Eric Dunstan) Date: Wed, 24 Jun 2009 16:45:54 +0000 (UTC) Subject: [Agar] =?utf-8?q?Patch_for_configure_to_work_with_perl_for_compil?= =?utf-8?q?ing_agar=09source?= References: Message-ID: Eric Dunstan writes: Oops, there was a typo in the previous post. to configure and compile and install, you do: ../configure && make && make install Note the &&, which is a logical AND. if the command on the left succeeds, the command on the right of the && executes, but if the command on the left fails, the command on the right of the && does not execute. Hence only if ./configure succeeds will make execute, and after that, if make succeeds, make install will execute. Eric From e_dunstan at hotmail.com Wed Jun 24 12:53:28 2009 From: e_dunstan at hotmail.com (Eric Dunstan) Date: Wed, 24 Jun 2009 16:53:28 +0000 (UTC) Subject: [Agar] =?utf-8?q?Patch_for_configure_to_work_with_perl_for_compil?= =?utf-8?q?ing_agar=09source?= References: Message-ID: Eric Dunstan writes: That's strange. When I want to say ./configure at the beginning of a line, the posting mechanism adds an extra dot. so ./configure becomes ../configure, which is incorrect. Hence, use ./configure && make && make install Eric From mdunstan at cokinetic.com Fri Jun 26 20:10:17 2009 From: mdunstan at cokinetic.com (Mark Dunstan) Date: Sat, 27 Jun 2009 00:10:17 +0000 (UTC) Subject: [Agar] =?utf-8?q?Patch_for_configure_to_work_with_perl_for_compil?= =?utf-8?q?ing_agar=09source?= References: Message-ID: The issue seems to occur because of ActivePerl. Installing MSYS Developer Tool Kit will prevent this issue from occuring. msysDTK-1.01.exe From mdunstan at cokinetic.com Fri Jun 26 20:20:00 2009 From: mdunstan at cokinetic.com (Mark Dunstan) Date: Sat, 27 Jun 2009 00:20:00 +0000 (UTC) Subject: [Agar] =?utf-8?q?Word_wrapping_AG=5FTextbox?= References: <20090621125442.GC32424@csoft.net> Message-ID: Julien Nadeau writes: > > > Ok, word wrapping should be functional in SVN as of r8202. Please test > and give me your feedback. > make fails on svn at revision 8209 Mark Dunstan at COKMARKIBM /c/agar/source/trunk $ make ==> core make[1]: Entering directory `/c/agar/source/trunk/core' make[2]: Entering directory `/c/agar/source/trunk/core' .../mk/libtool/libtool --mode=compile gcc -mno-cygwin -D_AGAR_INTERNAL -D_BSD_SO URCE -I/usr/local/include -I/c/agar/source/trunk/include -I/c/agar/source/trunk/ include/agar -D_AGAR_CORE_INTERNAL -U_XOPEN_SOURCE -D_XOPEN_SOURCE=600 -o va riable.lo -c variable.c gcc -mno-cygwin -D_AGAR_INTERNAL -D_BSD_SOURCE -I/usr/local/include -I/c/agar/so urce/trunk/include -I/c/agar/source/trunk/include/agar -D_AGAR_CORE_INTERNAL -U_ XOPEN_SOURCE -D_XOPEN_SOURCE=600 -c variable.c -o variable.o In file included from core.h:79, from variable.c:26: c:/agar/source/trunk/include/agar/core/data_source.h:130:31: warning: backslash and newline separated by space c:/agar/source/trunk/include/agar/core/data_source.h:131:2: '#' is not followed by a macro parameter c:/agar/source/trunk/include/agar/core/data_source.h:131:35: warning: backslash and newline separated by space c:/agar/source/trunk/include/agar/core/data_source.h:132:37: warning: backslash and newline separated by space In file included from core.h:82, from variable.c:26: c:/agar/source/trunk/include/agar/core/load_string.h:15:27: warning: backslash a nd newline separated by space c:/agar/source/trunk/include/agar/core/load_string.h:16:2: '#' is not followed b y a macro parameter c:/agar/source/trunk/include/agar/core/load_string.h:16:30: warning: backslash a nd newline separated by space c:/agar/source/trunk/include/agar/core/load_string.h:17:30: warning: backslash a nd newline separated by space In file included from core.h:86, from variable.c:26: c:/agar/source/trunk/include/agar/core/object.h:237:60: warning: backslash and n ewline separated by space c:/agar/source/trunk/include/agar/core/object.h:238:64: warning: backslash and n ewline separated by space In file included from core.h:86, from variable.c:26: c:/agar/source/trunk/include/agar/core/object.h:256: error: syntax error before string constant make[2]: *** [variable.lo] Error 1 make[2]: Leaving directory `/c/agar/source/trunk/core' make: failure make[1]: *** [_lib_shobjs] Error 1 make[1]: Leaving directory `/c/agar/source/trunk/core' make: *** [all-subdir] Error 1 Mark Dunstan at COKMARKIBM /c/agar/source/trunk $ From aureline35 at hotmail.com Mon Jun 29 09:55:23 2009 From: aureline35 at hotmail.com (aureline) Date: Mon, 29 Jun 2009 13:55:23 +0000 (UTC) Subject: [Agar] Running agar with SDL + OpenGL app References: <269099.46959.qm@web62007.mail.re1.yahoo.com> <879496.85590.qm@web62002.mail.re1.yahoo.com> <20090601014755.GB24503@csoft.net> Message-ID: Julien Nadeau writes: > Typically, you would render your GL scene using the AG_GLView widget > (http://libagar.org/man3/AG_GLView). Since you're mentioning GL matrices > I assume you have a good reason not to use Agar's event loop or AG_GLView. > > Have a look at: http://wiki.libagar.org/wiki/Background_rendering > > You can ignore the "GK_*" functions in the sample code. The point is to > call AG_WindowDraw() from your event loop to render the GUI elements. In > the example, the background is drawn after AG_BeginRendering(), which > clears the background and sets up Agar's own clipping planes, and that > is probably not what you want. > > Actually, I would suggest you try the latest Agar SVN, which makes the > process much easier with the AG_VIDEO_OVERLAY flag to AG_InitVideo() / > AG_InitVideoSDL(). If AG_VIDEO_OVERLAY is in effect, AG_BeginRendering() > and AG_EndRendering() will not clear the background, and your GL state > will be fully preserved. > 1. I tried the example you mentionned as I am working on the same thing. I am also experiencing trouble and think it is hard to get information from the documents existing. But I get the compilation error "undefined reference to AG_BindFloat". I tried to comment the three lines using AG_BindFloat, as I think it is only useful to change the values of the lights by the user. But I don't get any drawing then, just a black background and the small agar windows on it. I thought we would see a background ? 2. Is the depth buffer activated by default when you launch an agar window ? if (AG_InitCore("agar-glview-demo", 0) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (1); } /* Pass AG_VIDEO_OPENGL flag to require an OpenGL display. */ if (AG_InitVideo(640, 480, 32, AG_VIDEO_OPENGL|AG_VIDEO_RESIZABLE) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (-1); } When I try to draw with GL functions, even if the glEnable(GL_DEPTH_TEST) is activated, the result is as the depth buffer has not been activated. How to activate it with Agar ? I didn't find any flag to use with AG_InitCore or AG_InitVideo regarding this matter in the documentation. Thanks for your help ! From rjw03002 at engr.uconn.edu Mon Jun 29 19:58:27 2009 From: rjw03002 at engr.uconn.edu (Robert Wakefield) Date: Mon, 29 Jun 2009 23:58:27 +0000 (UTC) Subject: [Agar] =?utf-8?q?VS2003_build_problem=3A_=5FAG=5FWindowNew_not_in?= =?utf-8?q?_lib?= Message-ID: I'm trying to use Agar on Windows XP, building from source on Visual Studio 2003. The libraries and dlls finish building, but I get a number of warnings for multiply defined symbols in the libraries, along the lines of: ag_gui.lib(ag_gui.dll) : warning LNK4006: __imp__AG_CopyProp already defined in ag_core.lib(ag_core.dll); second definition ignored When I try to run the sample 'Hello World' program, I get unresolved externals for _AG_WindowNew, _AG_WindowShow, and _AG_LabelNewStatic. I have looked in the library files, and all the 'multiple definition' warning functions indeed appear in both .lib files. Some others are missing (the above _AG_LabelNewStatic, etc) while others, like _AG_InitGUI, make it into the libary with no problem. Do you have any idea how to resolve this. I did try the prebuilt libs, but got an unresolved external __ftol2_sse, which from what I could find means I need to build my own lib copies.