Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 199222 - [PATCH] net-voip/yate-1.2.0 fails to compile on uclibc/uclibc++ due to missing -lm linker flag and dn_skipname
Summary: [PATCH] net-voip/yate-1.2.0 fails to compile on uclibc/uclibc++ due to missin...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-15 10:04 UTC by Natanael Copa
Modified: 2010-10-19 22:34 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
yate-1.2.0-libm.patch (yate-1.2.0-libm.patch,392 bytes, patch)
2007-11-15 10:47 UTC, Natanael Copa
Details | Diff
yate-1.2.0-dn_skipname.patch (yate-1.2.0-dn_skipname.patch,1.05 KB, patch)
2007-11-15 10:48 UTC, Natanael Copa
Details | Diff
yate-1.2.0.ebuild.patch (yate-1.2.0.ebuild.patch,587 bytes, patch)
2007-11-15 10:49 UTC, Natanael Copa
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Natanael Copa 2007-11-15 10:04:58 UTC
i386-gentoo-linux-uclibc-gcc -Wall  -I../.. -O3 -funroll-loops -fomit-frame-pointer -fsigned-char -fno-exceptions -fPIC -DHAVE_GCC_FORMAT_CHECK -c syntFilter.c
i386-gentoo-linux-uclibc-gcc -Wall  -I../.. -O3 -funroll-loops -fomit-frame-pointer -fsigned-char -fno-exceptions -fPIC -DHAVE_GCC_FORMAT_CHECK -c enhancer.c
/var/tmp/portage/net-voip/yate-1.2.0/temp/cc6jP3m7.o: In function `(anonymous namespace)::ToneData::data()':
tonegen.cpp:(.text+0x623): undefined reference to `sin'
tonegen.cpp:(.text+0x64c): undefined reference to `sin'
collect2: ld returned 1 exit status
Comment 1 Natanael Copa 2007-11-15 10:23:19 UTC
adding -lm to LDFLAGS should solve the "undefined reference to `sin'".

missing dn_skipname can be solved in 2 different ways, disabling the enumroute module or implement a dn_skipname in enumerate.cpp.

Skipping enumroute should be done int eh configure.in test:
--- configure.in.orig   2007-11-15 10:13:11 +0000
+++ configure.in        2007-11-15 10:18:00 +0000
@@ -190,7 +188,7 @@
 AC_LANG_C
 AC_TRY_LINK([#include <netinet/in.h>
 #include <arpa/nameser.h>
-#include <resolv.h>],[res_init();],[HAVE_RESOLV=yes],[HAVE_RESOLV=no])
+#include <resolv.h>],[dn_skipname();],[HAVE_RESOLV=yes],[HAVE_RESOLV=no])
 AC_LANG_RESTORE
 AC_MSG_RESULT([$HAVE_RESOLV])
 AC_SUBST(HAVE_RESOLV)


keeping enumroute is easy too, just add a dn_skipname in modules/enumroute.cpp:

#ifdef __UCLIBC__
static int dn_skipname(...)
...
#endif

I dunno what you prefer.
Comment 2 Natanael Copa 2007-11-15 10:47:04 UTC
Created attachment 136035 [details, diff]
yate-1.2.0-libm.patch

fixes libm issue.
Comment 3 Natanael Copa 2007-11-15 10:48:13 UTC
Created attachment 136036 [details, diff]
yate-1.2.0-dn_skipname.patch

adds dn_skipname so we dont need to diable the enumroute module on uclibc.
Comment 4 Natanael Copa 2007-11-15 10:49:21 UTC
Created attachment 136038 [details, diff]
yate-1.2.0.ebuild.patch

patch to ebuild
Comment 5 Timothy Redaelli (RETIRED) gentoo-dev 2009-02-06 15:20:50 UTC
Almost fixed, thanks
Comment 6 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-07-30 14:39:10 UTC
Can you check if this is working with yate-2.0.0 and provide a patch if needed ?

Thanks.
Comment 7 SpanKY gentoo-dev 2010-10-19 22:34:01 UTC
ucibc++ isnt supported anymore