[asterisk-dev] Cross compiling zaptel

Kristian Kielhofner kristian.kielhofner at gmail.com
Wed Aug 22 16:49:56 CDT 2007


On 8/22/07, Brian Capouch <brianc at palaver.net> wrote:
>
> There are two situations in ast_expr2.c.
>
> First, __USE_ISOC99 seems to be getting defined, even though I don't
> think it should be--certainly not in the case of an embedded
> cross-build.  There is a comment in the code that would indicate some
> confusion on the part of the person who wrote the code that causes that
> label to be #defined, as in "I'm not sure why but I think this is
> supposed to be defined."
>
> The second, bigger problem is that the functions (remainder() round()
> and trunc()) don't exist in the libm.so file used by openWRT (and, I
> understand, other tiny versions of linux).
>
> They'll have to be coded up by hand, such as was done earlier on, I
> think by Tilghman, for some other functions in that file that were
> missing in the Solaris library, IIRC.

  AstLinux uses uclibc (like OpenWRT) and we don't have this problem.
One of the other AstLinux developers (Ingmar Schraub) came up against
the limits of uClibc libm some time ago.  He merged a few (somewhat
trivial) fixes into astlinux svn and we haven't had problems with libm
since (including building Asterisk 1.4.11 today).

http://astlinux.svn.sourceforge.net/viewvc/astlinux/trunk/toolchain/uClibc/

  Try to grab Makefile.libm (should probably be a patch) and use it in place of
uclibc/libm/Makefile - you should also grab s_lrint.c and place it in
the same directory.  Remake uclibc (probably everything else, too) and
try it again.  It just might work!

  Good luck with mipsel Brian!

-- 
Kristian Kielhofner



More information about the asterisk-dev mailing list