[Dibbler] Dibbler 0.8.3 compilation problem

Tomek Mrugalski thomson at klub.com.pl
Wed Feb 6 15:57:46 CET 2013


On 13-02-06 17:12, Rapoport, MichaelX wrote:
> Hello.
>  
> We need an urgent help in Dibbler 0.8.3 Cross compilation for the
> Embedded Linux on ARM performed on Linus machine.
> We already have the Dibbler 0.8.0 being compiled and running,- now we
> just want to upgrade to 0.8.3. 
>  
> In the excerpt from the Makefile bellow, the remarked line is the line
> for the 0.8.0 and the lines below are the lines for 0.8.3
>  
> We receive an Error with:
> error: '::malloc' has not been declared
> error: '::realloc' has not been declared
>  
> and can’t find the reason.
This one is easy.

> Making all in .
> make[7]: Entering directory
> `/vobs/il_gwdk/src/dibbler/src/dibbler-0.8.3/poslib'
> armeb-unknown-linux-uclibcgnueabi-g++ -DHAVE_CONFIG_H -I. -I../include
> -I.. -I../include -I../nettle -I../Misc  -O2  -DLINUX -Wall -pedantic
> -funsigned-char -DMOD_CLNT_BIND_REUSE -DMOD_CLNT_CONFIRM   -MT
> dnsmessage.o -MD -MP -MF .deps/dnsmessage.Tpo -c -o dnsmessage.o
> dnsmessage.cpp
This gives you the location of where the problem occurred.

> /nfs/iil/proj/cabmod/sw/tools/Intel-Puma-Toolchain_nptl/usr/bin/../lib/gcc/armeb-unknown-linux-uclibcgnueabi/4.6.1/../../../../armeb-unknown-linux-uclibcgnueabi/include/c++/4.6.1/cstdlib:119:11:
> error: '::malloc' has not been declared
> /nfs/iil/proj/cabmod/sw/tools/Intel-Puma-Toolchain_nptl/usr/bin/../lib/gcc/armeb-unknown-linux-uclibcgnueabi/4.6.1/../../../../armeb-unknown-linux-uclibcgnueabi/include/c++/4.6.1/cstdlib:127:11:
> error: '::realloc' has not been declared
And this tells you what is missing (declarations for malloc and realloc).

There is missing #include <stdlib.h> in poslib/dnsmessage.cpp

You may want to add it at the beginning of the poslib/dnsmessage.cpp
file. If that helps, I'll add the fix to git.

If you're cross-compiling, do you really need DNS Update (that's what
poslib is for)? If it is not required, try to pass --disable-dns-update
to configure. It will make your binaries noticeably smaller.

You may also run ./configure --help to see other switches. Depending on
what you need, you may consider disabling auth (--disable-auth), as it
is non-standard and works only with other dibbler implementations. Also,
you may disable link state detection (--disable-link-state). This will
make your executables smaller, and there won't be extra thread looking
after interface changes.

Hope that helps.

Tomek



More information about the Dibbler mailing list