[Asterisk-Dev] uClibc compile problem

Tilghman Lesher tilghman at mail.jeffandtilghman.com
Wed Dec 8 12:46:05 MST 2004


On Wednesday 08 December 2004 13:11, fli4l-l00ser at gmx.net wrote:
> Tilghman Lesher schrieb:
> >On Wednesday 08 December 2004 12:31, Tilghman Lesher wrote:
> >>On Wednesday 08 December 2004 11:26, fli4l-l00ser at gmx.net wrote:
> >>>I have a problem with Asterisk and uClibc.
> >>>
> >>>I already got the current prebuilt uClibc from www.uclibc.org and
> >>>compiled asterisk with this.
> >>>
> >>>This is the result:
> >>
> >><snip>
> >>
> >>>dns.o(.text+0x2a): In function `ast_search_dns':
> >>>/usr/src/asterisk/dns.c:174: undefined reference to `__res_ninit'
> >>>dns.o(.text+0x51):/usr/src/asterisk/dns.c:175: undefined reference to
> >>>`__res_nsearch'
> >>>dns.o(.text+0x91):/usr/src/asterisk/dns.c:194: undefined reference to
> >>>`__res_nclose'
> >>>collect2: ld returned 1 exit status
> >>>make: *** [asterisk] Error 1
> >>>
> >>>Is there someone outside who can help me with this problem?
> >>
> >>The symbol res_ninit is for some reason defined in your setup, but the
> >>corresponding code doesn't exist.  This is circumventing the workaround
> >>already present in the code.  Try editing dns.c:155 and change
> >>#define HAS_RES_NINIT to #undef HAS_RES_NINIT
> >>and recompile.
> >
> >Actually, add a line at line 153 that says:
> >#undef res_ninit
> >and recompile.  That will make sure the substitute lock is still defined.
>
> Thanx Tilghman, i've done this. This is the result:
>
<snip>
> dns.o(.text+0x1eb): In function `ast_search_dns':
> /usr/src/asterisk/dns.c:180: undefined reference to `__res_search'
> collect2: ld returned 1 exit status
> make: *** [asterisk] Error 1

Looks like you don't have the current version of uclibc, then, because
res_search() has been included in their CVS as of Jan 24 2004.
http://www.uclibc.org/cgi-bin/cvsweb/uClibc/libc/inet/resolv.c?view=log

-- 
Tilghman



More information about the asterisk-dev mailing list