Hi Olivier,

Thank you very much for your feedback. I really appreciate you taking
the time to do these tests, but I'm afraid you've installed the wrong
version...

The "NC_Result" on gui/window.c:92, the presence of demos such as
"initvideosdl", and the gettext stuff leads me to think that you've
checked out a SVN branch called "agar14", right? Confusingly, the
"agar14" branch on SVN is not related to 1.4 -- it was an experimental
set of network-related patches against 1.3.4, which were never adopted.

I'm really sorry, I should have removed it from SVN altogether. The
"real" agar-1.4 is just the SVN trunk.

The "Agar version / driver" window of the "themes" demo is a reliable
indication of the installed Agar version. "themes" is also a good test
for the new graphics drivers, i.e.:

        $ ./themes -d glx
        $ ./themes -d sdlgl
        $ ./themes -d sdlfb

On Sun, Feb 07, 2010 at 12:30:50PM +0100, Olivier Boudeville wrote:
> Hello,
> 
> First, many thanks for your kind support and for the quality of your 
> library, which is quite impressive.
> 
> I tested the 1.4 version from SVN (revision 8614) on Ubuntu Karmic Koala 
> with gcc version 4.4.1, arch is x86_64 (Core i7), having just run 
> ..../configure --prefix=YYY with an environment set so that the appropriate 
> sdl-config is found.
> 
> There were only two small related issues:
> - gui/window.c:92: error: 'NC_Result' undeclared, defined in 
> ..../net/client.h, I guess we accept gui to depend on net only if NETWORK 
> is set?
> - gui/window.c:126: error: 'AG_Window' has no member named 'nc': with my 
> setup, no NETWORK symbol was defined, so I guess AG_WindowNewRemote 
> should mostly return an error and #define-out the actual function body
> 
> See the corresponding attached patch that fixes both.
> 
> A check for gettext tools should be added, as otherwise, if they are not 
> installed, we have:
> 
> """
> xgettext --default-domain=agar --directory=.. --add-comments --keyword=_ 
> --keyword=N_ --files-from=POTFILES --no-location --from-code=UTF-8 -o 
> agar.pot
> /bin/sh: xgettext: not found
> xgettext returned non-zero status
> msgfmt -o fr.mo fr.po
> /bin/sh: msgfmt: not found
> make[1]: *** [fr.mo] Erreur 127
> make[1]: quittant le répertoire « XXX/Agar-svn/agar14/po »
> """
> 
> 'apt-get install gettext' solved that issue for me, but afterwards an 
> error was triggered:
> 
> """
> ==> po
> make[1]: entrant dans le répertoire « XXX/Agar-svn/agar14/po »
> (cd .. && find . -name \*.c > POTFILES)
> xgettext --default-domain=agar --directory=.. --add-comments --keyword=_ 
> --keyword=N_ --files-from=POTFILES --no-location --from-code=UTF-8 -o 
> agar.pot
> [: 13: !=: unexpected operator
> make[1]: quittant le répertoire « XXX/Agar-svn/agar14/po »
> """
> 
> Error presumably in mk/build.po.mk, I did not investigate and just 
> disabled the build of po. Afterwards 'make' and 'make install' ran fine...
> 
> In the demos directory, it would be more convenient that, if a 
> sub-configure fails, the overall configure make target stops, ex: if 
> Agar is not found, all configures fail in a row. In that case, telling 
> the user that agar-config is expected to be in the PATH would help.
> 
> In the generated configure script, if more than one version of Agar 
> happens to be in the PATH (ex: 1.3.4/1.4), the latest one will be 
> selected, so at first I was using the 1.4 test cases against a 1.3.4 
> library; probably the 'for' loop should be replaced by a 'while' one in 
> the configure script, to stop on first, not on the last, agar-config 
> found (presumably the expected one), in:
> 
> """
> for path in `echo $PATH | sed 's/:/ /g'`; do
> if [ -x "${path}/agar-config" ]; then
> AGAR_VERSION=`${path}/agar-config --version`
> fi
> done
> """
> 
> All tests could then be successfully configured and built.
> 
> I do not think it is a big issue, but test cases are not linked with 
> rpath to the library they test (please see no reason to use the awful 
> libtool), so when I executed them, they happened to be initially 
> dynamically linked to the 1.3.4 library, due to LD_LIBRARY_PATH. However 
> at least in my case it could be detected: "./fixedres: Symbol `agColors' 
> has different size in shared object, consider re-linking".
> 
> After having updated accordingly LD_LIBRARY_PATH, now the execution of 
> tests, in SDL mode:
> 
> - fixedres: worked fine, although we do not know really what to expect 
> (maybe a text label could tell it to the user?)
> 
> - objsystem: can be reproducibly crashed when defining an animal and 
> moving around the Untitled window (could not make it crash without 
> defining an animal):
> Starting program: YYY/Agar-svn/agar14/demos/objsystem/objsystem
> [Thread debugging using libthread_db enabled]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff79110e4 in AG_GetPixel ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> (gdb) where
> #0 0x00007ffff79110e4 in AG_GetPixel ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #1 0x00007ffff7913e55 in AG_BlendPixelRGBA ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #2 0x00007ffff793bf5f in RectBlendedFB ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #3 0x00007ffff792210a in TreeSubnodeIndicator ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #4 0x00007ffff7941cc4 in Draw () from XXX/agar-1.4/lib/libag_gui.so.1
> #5 0x00007ffff7919447 in AG_WidgetDraw ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #6 0x00007ffff7919497 in AG_WidgetDraw ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #7 0x00007ffff7919497 in AG_WidgetDraw ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #8 0x00007ffff7919497 in AG_WidgetDraw ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #9 0x00007ffff7914cbc in AG_EventLoop_FixedFPS ()
> from XXX/agar-1.4/lib/libag_gui.so.1
> #10 0x00000000004014c0 in main ()
> (can be crashed with the -g flag as well, but I guess it is ignored)
> 
> - focusing: seems to work great
> 
> - loader: seems to work great, but tells me it cannot find SDL_image 
> library whereas I have one in my LD_LIBRARY_PATH 
> (XXX/SDL_image-1.2.10/lib). This is probably due to configure not 
> detecting it ("checking for SDL_image 
> (http://libsdl.org/projects/SDL_image)...no"), short of finding the 
> SDL_image header:
> """
> checking for SDL_image 
> (http://libsdl.org/projects/SDL_image).../usr/bin/cc -Wall -Werror 
> -I/home/wondersye/Projects/LOAN
> I-0.6/LOANI-installations/SDL-1.2.14/include/SDL -D_GNU_SOURCE=1 
> -D_REENTRANT -o ./conftest conftest.c -lSDL_image
> conftest.c:5:23: error: SDL_image.h: Aucun fichier ou dossier de ce type
> cc1: warnings being treated as errors
> conftest.c: In function `main´:
> conftest.c:11: error: implicit declaration of function `IMG_Load´
> conftest.c:11: error: assignment makes pointer from integer without a cast
> """
> However I cannot see how to tell configure to use a prefixed SDL_image 
> install? It is a bit of a problem for me, adding a --with-sdl-image 
> option or alike to the configure would help a lot
> 
> - table: seems to work great, unless we close the three windows, then:
> """
> > ./table
> *** glibc detected *** ./table: double free or corruption (!prev): 
> 0x000000000085d5b0 ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x7f0bda7aedd6]
> /lib/libc.so.6(cfree+0x6c)[0x7f0bda7b374c]
> XXX/SDL-1.2.14/lib/libSDL-1.2.so.0(SDL_FreeSurface+0xdd)[0x7f0bdb6a612d]
> XXX/agar-1.4/lib/libag_gui.so.1(AG_WidgetReplaceSurface+0x92)[0x7f0bdbb5752c] 
> 
> XXX/agar-1.4/lib/libag_gui.so.1(AG_TableFreeCell+0x3b)[0x7f0bdbbb82ba]
> XXX/agar-1.4/lib/libag_gui.so.1[0x7f0bdbbbb8ec]
> XXX/agar-1.4/lib/libag_core.so.1(AG_ObjectDestroy+0xad)[0x7f0bdb91aaf2]
> XXX/agar-1.4/lib/libag_core.so.1(AG_ObjectFreeChildren+0x56)[0x7f0bdb91a528] 
> 
> XXX/agar-1.4/lib/libag_core.so.1(AG_ObjectDestroy+0x31)[0x7f0bdb91aa76]
> XXX/agar-1.4/lib/libag_gui.so.1[0x7f0bdbb5321d]
> XXX/agar-1.4/lib/libag_gui.so.1(AG_ProcessEvent+0x303)[0x7f0bdbb551e7]
> XXX/agar-1.4/lib/libag_gui.so.1(AG_EventLoop_FixedFPS+0x270)[0x7f0bdbb54e4f] 
> 
> ..../table[0x40167d]
> /lib/libc.so.6(__libc_start_main+0xfd)[0x7f0bda757abd]
> ..../table[0x400ed9]
> """
> 
> - textbox: seems to work great; maybe I misunderstood the meaning of the 
> buttons to force integer/float entries, but even if they are hit, I can 
> still enter letters in the textbox; in a prior testing of the 1.3.x, I 
> recall that the CPU consumption of this test was quite high compared to 
> the others, I cannot tell whether it is still the case ('top' remains 
> rather quiet, but this computer is a bit too powerful to determine 
> whether load is unexpectedly high)
> 
> - widgets: works great, still as impressive as before; tells me I am 
> using Agar 1.3.2 (Landscapes Turn To Ash) but luckily it does not seem true:
> """
> > ldd ./widgets
> linux-vdso.so.1 => (0x00007fff70f02000)
> libag_dev.so.1 => XXX/agar-1.4/lib/libag_dev.so.1 (0x00007f0d355de000)
> libag_gui.so.1 => XXX/agar-1.4/lib/libag_gui.so.1 (0x00007f0d35305000)
> libag_core.so.1 => XXX/agar-1.4/lib/libag_core.so.1 (0x00007f0d350de000)
> libSDL-1.2.so.0 => XXX/SDL-1.2.14/lib/libSDL-1.2.so.0 (0x00007f0d34e4a000)
> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f0d34c2e000)
> libfreetype.so.6 => XXX/freetype-2.3.11/lib/libfreetype.so.6 
> (0x00007f0d349a3000)
> libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f0d34722000)
> libm.so.6 => /lib/libm.so.6 (0x00007f0d3449e000)
> libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007f0d34279000)
> libc.so.6 => /lib/libc.so.6 (0x00007f0d33f0a000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f0d33cf3000)
> libdl.so.2 => /lib/libdl.so.2 (0x00007f0d33aef000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f0d357f0000)
> libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f0d337b9000)
> libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f0d335a7000)
> libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f0d333a1000)
> libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f0d3319f000)
> libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f0d32f99000)
> libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f0d32d8e000)
> libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f0d32b72000)
> libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f0d3296f000)
> librt.so.1 => /lib/librt.so.1 (0x00007f0d32767000)
> libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f0d32562000)
> """
> (SDL vs OpenGL status apparently correctly detected)
> 
> - maximized: works great
> 
> - objprops: works great; but no new object can be created apparently
> 
> - unitconv: works great
> 
> - sockets: works great, but there is one horizontal line just on top of 
> the socket area that is not refreshed (moving around the helmet adds 
> brown pixels in it); when the new location of an item is not valid, the 
> item appears immediately back to its original position, which is a bit 
> confusing, as the user might not notice its returns; showing that item 
> coming back quickly instead could help
> 
> - glview works great
> - gunpowder works great
> - cplusplus works great
> - plotting works great
> - scrollbar works great
> - initvideosdl behaves like widgets
> 
> I then quickly tried the same test suite with the -g flag to use OpenGL 
> instead of SDL, tests seem to behave the same.
> 
> One useful feature would be to always specify (with a label or the 
> command-line) whether we are using SDL, or direct OpenGL, etc. (like in 
> the widgets test).
> 
> In the demos/Makefile, maybe adding these two targets (and ensuring all 
> tests try to switch to the correct back-end) could be useful:
> 
> """
> exec-sdl:
> for D in ${SUBDIR}; do \
> echo "==> executing $$D with SDL"; \
> (cd $$D && ./$$D ); \
> done
> 
> exec-gl:
> for D in ${SUBDIR}; do \
> echo "==> executing $$D with OpenGL"; \
> (cd $$D && ./$$D -g ); \
> done
> """"
> 
> If it can help the debugging of tests, here are my graphic settings:
> 
> """
> * Hardware-accelerated rendering:
> direct rendering: Yes
> OpenGL vendor string: Mesa Project
> OpenGL renderer string: Software Rasterizer
> OpenGL version string: 2.1 Mesa 7.6
> OpenGL shading language version string: 1.20
> 
> * Graphical controller:
> 02:00.0 VGA compatible controller: nVidia Corporation GT200 [GeForce GTX 
> 260M] (rev a2)
> 
> * Installed GL libraries:
> lrwxrwxrwx 1 root root 10 2010-01-09 12:17 /usr/lib/libGL.so -> libGL.so.1
> lrwxrwxrwx 1 root root 12 2010-01-08 19:53 /usr/lib/libGL.so.1 -> 
> libGL.so.1.2
> -rw-r--r-- 1 root root 527256 2009-10-14 00:17 /usr/lib/libGL.so.1.2
> 
> * AIGLX status:
> (==) AIGLX enabled
> (II) AIGLX: Screen 0 is not DRI2 capable
> (II) AIGLX: Screen 0 is not DRI capable
> (II) AIGLX: Loaded and initialized /usr/lib/dri/swrast_dri.so
> """
> 
> A while ago I think I had noticed that the procedure to use Agar in an 
> existing OpenGL application with a custom event loop and rendering step 
> (http://wiki.libagar.org/wiki/Custom_Event_Loop / 
> http://wiki.libagar.org/wiki/Integrating_Agar_in_an_existing_GL_application) 
> had changed in the 1.4, would it be possible, if not done already, to 
> document it in the wiki?
> 
> Later I will integrate Agar 1.4 into my little OpenGL C++ 
> game-in-construction, as I use stricter compile flags I expect it to 
> trigger some warnings, I will then do my best to submit patch(es), 
> hopefully before the 1.4 is out.
> 
> Thanks again,
> Best regards,
> 
> Olivier Boudeville.
> 
> 
> 
> 
> 
> 
> 
> 


> _______________________________________________
> Agar mailing list
> [email protected]
> http://libagar.org/lists.html


_______________________________________________
Agar mailing list
[email protected]
http://libagar.org/lists.html

Reply via email to