Malloc_info

Dear Rooters,
I’m using ROOT5.24 and Ubuntu 9.10.
I have noticed that ROOT is declaring a structure malloc_info in mmprivate.h
and now malloc.h contains a similar declaration for a function.

/usr/include/malloc.h:149: error: ‘int malloc_info(int, FILE*)’ redeclared as different kind of symbol /cern/root/include/mmprivate.h:144: error: previous declaration of ‘typedef union malloc_info malloc_info’

How can we solve such incompatibility?

Thanks
regards,

Hi,

I’m building with 9.10 for a while, and I never saw this issue.

What’s your compiler? What is the code you try to compile?

Cheers, Axel.

Hi again,
I’m using the compiler: gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)

The code I’m trying to compile uses some CAEN code that has an include to malloc.h.
When I try to compile I get that error I sent you on previous post.
Consulting both files, /usr/include/malloc.h and yours /cern/root/include/mmprivate.h I found that in fact in malloc.h exists the following code:

/* Output information about state of allocator to stream FP. */ extern int malloc_info (int __options, FILE *__fp);

and in yours the following:

[code]/* Data structure giving per-block information. */

typedef union
{
/* Heap information for a busy block. /
struct
{
/
Zero for a large block, or positive giving the
logarithm to the base two of the fragment size. /
int type;
union
{
struct
{
size_t nfree; /
Free fragments in a fragmented block. /
size_t first; /
First free fragment of the block. /
} frag;
/
Size (in blocks) of a large cluster. /
size_t size;
} info;
} busy;
/
Heap information for a free block (that may be the first of
a free cluster). /
struct
{
size_t size; /
Size (in blocks) of a free cluster. /
size_t next; /
Index of next free cluster. /
size_t prev; /
Index of previous free cluster. */
} free;
} malloc_info;[/code]

Is this the reason why there is conflict? I do not understand very well what is happening…

cheers
f.

[quote=“Axel”]Hi,

I’m building with 9.10 for a while, and I never saw this issue.

What’s your compiler? What is the code you try to compile?

Cheers, Axel.[/quote]

This issue is now fixed in the svn trunk.

Cheers, Fons.