From: Pierre S. <p.s...@gs...> - 2005-06-07 07:33:23
|
Sébastien Maret wrote: >>> Maybe it is the time for a new release ? >> >> >> Agreed. Expect something until the end of the week. > > > We may want to wait a little bit indeed... > I get a number of weird messages when I run the test with Python-2.4.1 > on MacOSX 10.4.1. I occurs both when compiled with gcc-3.3. gcc-4.0 and > with Numeric and numarray: > > END PyGSL_copy_pyarray_to_gslvector In File src/init/ block_helpers.c > at line 303 > BEGIN PyGSL_copy_gslvector_to_pyarray In File src/init/ block_helpers.c > at line 232 > :-) These messages come from the debug info structure. A bit little documented, so lets puts light on it. If you look into the setup file, you will spot <snip> macros = macros + [('DEBUG', 1)] </snip> This will, as you will know, define -DDEBUG=1 as switch to the compiler, which will in turn define DEBUG to one for the preprocessor. PyGSL comes with the following macros, which are shallow warppers around fprintf (see also Include/pygsl/intern.h Lines 120-127, Include/pygsl/utils.h) FUNC_MESS_BEGIN() FUNC_MESS_END() DEBUG_MESS(level, mess, ...) All these use PyGSL_DEBUG_LEVEL() to see if to do something. This goes back either to a value defined at compile time, if set to bigger than 0. If DEBUG is not defined at compile time, all this information will be left out. DEBUG=1 is special. In this case, PyGSL_DEBUG_LEVEL() is a static defined variable. Depending on the value of this variable (which is unique to each module implemented in C) the above mentioned macros will print out the information. The memory location of this variable is registered by init_pygsl() (see also Include/pygsl/intern.h Lines 135--) via PyGSL_init_debug() to PyGSL_register_debug_flag which is implemented in src/init/initmodule.c. This keeps a Python lists of CObjects which hold pointers to the memory locations of the variables pygsl_debug_level. If one calls pygsl.init.set_debug_level(level), it will set the values of all these variables and one can see the aforementioned prints. This might be an nuisance if it slips out to the user, but is very usefull if wired errors occur during development. I now set this level to 0 and disabled the DEBUG define, so that should be cleared out now. As you are participating in Fink, I thought that could be of some value to you. Best regards Pierre |