[Buildroot] [buildroot 0003004]: undefined reference problem
bugs at busybox.net
bugs at busybox.net
Thu Sep 25 15:18:34 UTC 2008
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=3004
======================================================================
Reported By: gebecom
Assigned To: buildroot
======================================================================
Project: buildroot
Issue ID: 3004
Category: Architecture Specific
Reproducibility: always
Severity: minor
Priority: normal
Status: assigned
======================================================================
Date Submitted: 04-21-2008 01:17 PDT
Last Modified: 09-25-2008 08:18 PDT
======================================================================
Summary: undefined reference problem
Description:
/opt/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/bin/ld:
cannot find /opt/usr/local/arm/gcc-4.1.2-uclibc/lib/libc.so.0
collect2: ld returned 1 exit status
actually it is trying to get libc.so.s0 from a wrong path, i copied the
files at that particular file path but it fails at some next stage giving
the error details below...
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__towupper_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtold_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strftime_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__nl_langinfo_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__newlocale'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__freelocale'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcsxfrm_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__iswctype_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__towlower_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtod_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__uselocale'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strcoll_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wctype_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strxfrm_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcsftime_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtof_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcscoll_l'
/opt/atmel/gcc-4.1.2-uclibc/bin/../lib/gcc/arm-linux-uclibc/4.1.2/../../../../arm-linux-uclibc/lib/libstdc++.so:
undefined reference to `__duplocale'
please guide me how can i fix this issue and the possible reason,
======================================================================
----------------------------------------------------------------------
hmoffatt - 04-21-08 07:09
----------------------------------------------------------------------
Where did you get your compiler? It doesn't seem to have been built with
buildroot (in that case it would be installed in build_$arch/staging_dir,
not in /opt/atmel). I think you should complain to the vendor, as
buildroot can't fix a broken external toolchain.
----------------------------------------------------------------------
gebecom - 04-21-08 07:17
----------------------------------------------------------------------
i have wrong kopiert, hier is the error
how can i solve the question?
Generating embedded module rules ...
[CC] stereorize.c -> stereorize.o
[CC] frame.c -> frame.o
[LD] stereorize.o frame.o -> stereorize
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__towupper_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtold_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strftime_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__nl_langinfo_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__newlocale'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__freelocale'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcsxfrm_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__iswctype_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__towlower_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtod_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__uselocale'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strcoll_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wctype_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strxfrm_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcsftime_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__strtof_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__wcscoll_l'
/build-tools/buildroot/build_mipsel/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/lib/libstdc++.so:
undefined reference to `__duplocale'
collect2: ld returned 1 exit status
make[1]: *** [stereorize] Error 1
make: *** [utils] Error 2
----------------------------------------------------------------------
hmoffatt - 04-21-08 07:24
----------------------------------------------------------------------
It looks like whatever package you are building (stereorize.o etc) needs
WCHAR support in uClibc which is disabled in your build.
make uclibc-menuconfig and turn on "wide character support" under "string
and stdio" support.
----------------------------------------------------------------------
gebecom - 04-22-08 03:50
----------------------------------------------------------------------
it works!
thanks!
----------------------------------------------------------------------
hmoffatt - 04-22-08 03:02
----------------------------------------------------------------------
Can you tell us which package was failing to compile? Maybe we can prevent
this problem from happening to other people. Thanks.
----------------------------------------------------------------------
gebecom - 04-22-08 03:56
----------------------------------------------------------------------
i solve the problem with your guide.
i will cross compile asterisk.(port to asterisk)
after configure i excute make.
but it fails, error is:
[CC] hash/hash.c -> hash/hash.o
[CC] hash/hash_bigkey.c -> hash/hash_bigkey.o
[CC] hash/hash_buf.c -> hash/hash_buf.o
[CC] hash/hash_func.c -> hash/hash_func.o
[CC] hash/hash_log2.c -> hash/hash_log2.o
[CC] hash/hash_page.c -> hash/hash_page.o
[CC] hash/ndbm.c -> hash/ndbm.o
[CC] btree/bt_close.c -> btree/bt_close.o
[CC] btree/bt_conv.c -> btree/bt_conv.o
[CC] btree/bt_debug.c -> btree/bt_debug.o
[CC] btree/bt_delete.c -> btree/bt_delete.o
[CC] btree/bt_get.c -> btree/bt_get.o
[CC] btree/bt_open.c -> btree/bt_open.o
[CC] btree/bt_overflow.c -> btree/bt_overflow.o
[CC] btree/bt_page.c -> btree/bt_page.o
[CC] btree/bt_put.c -> btree/bt_put.o
[CC] btree/bt_search.c -> btree/bt_search.o
[CC] btree/bt_seq.c -> btree/bt_seq.o
[CC] btree/bt_split.c -> btree/bt_split.o
[CC] btree/bt_utils.c -> btree/bt_utils.o
[CC] db/db.c -> db/db.o
[CC] mpool/mpool.c -> mpool/mpool.o
[CC] recno/rec_close.c -> recno/rec_close.o
[CC] recno/rec_delete.c -> recno/rec_delete.o
[CC] recno/rec_get.c -> recno/rec_get.o
[CC] recno/rec_open.c -> recno/rec_open.o
[CC] recno/rec_put.c -> recno/rec_put.o
[CC] recno/rec_search.c -> recno/rec_search.o
[CC] recno/rec_seq.c -> recno/rec_seq.o
[CC] recno/rec_utils.c -> recno/rec_utils.o
[AR] hash/hash.o hash/hash_bigkey.o hash/hash_buf.o hash/hash_func.o
hash/hash_log2.o hash/hash_page.o hash/ndbm.o btree/bt_close.o
btree/bt_conv.o btree/bt_debug.o btree/bt_delete.o btree/bt_get.o
btree/bt_open.o btree/bt_overflow.o btree/bt_page.o btree/bt_put.o
btree/bt_search.o btree/bt_seq.o btree/bt_split.o btree/bt_utils.o db/db.o
mpool/mpool.o recno/rec_close.o recno/rec_delete.o recno/rec_get.o
recno/rec_open.o recno/rec_put.o recno/rec_search.o recno/rec_seq.o
recno/rec_utils.o -> libdb1.a
[LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o
ast_expr2.o ast_expr2f.o asterisk.o astmm.o astobj2.o audiohook.o
autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o
cryptostub.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o file.o
fixedjitterbuf.o frame.o fskmodem.o global_datastores.o http.o image.o
indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o
pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o
stdtime/localtime.o strcompat.o tdd.o term.o threadstorage.o translate.o
udptl.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a -> asterisk
dns.o: In function `ast_search_dns':
/gebecom/asterisk-1.4.19/main/dns.c:285: undefined reference to
`__res_close'
collect2: ld returned 1 exit status
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2
please guide me how can i fix this issue and the possible reason,
thanks in advances
----------------------------------------------------------------------
bernhardf - 04-22-08 05:29
----------------------------------------------------------------------
asterisk should be fixed not to rely on such BSD-ism.
I suppose you fix asterisk and submit your patch to the
asterisk-developers.
As a quick workaround, enable res_close in uClibc (IIRC in networking,
marged BSD-compat).
----------------------------------------------------------------------
hmoffatt - 04-22-08 06:56
----------------------------------------------------------------------
Are you using the asterisk package in buildroot (package/asterisk), or
simply using the buildroot-generated toolchain to compile it yourself?
I think the latter because you mention version 1.4.9, while the asterisk
package in buildroot specifies 1.6.0-beta6.
It looks like asterisk is calling internal glibc functions to do DNS
resolution. At this point it's really a uClibc issue rather than a
buildroot issue, and you really can't expect uClibc to be providing
internal glibc interfaces.
The buildroot asterisk package has a patch which MAY help - look in
package/asterisk.
----------------------------------------------------------------------
gebecom - 04-22-08 07:50
----------------------------------------------------------------------
i use the buildroot toolchain to compile asterisk itself.
wenn i can't expect uClibc to be providing internal glibc interfaces, whan
can i do?
i have turn on the res_close support in uclibc.but it doesnt work.
----------------------------------------------------------------------
nickpeirson - 09-25-08 08:18
----------------------------------------------------------------------
The patch in package/audio/asterisk is now obsolete as HAVE_RES_NINIT is
now set in build_<arch>/asterisk-1.6.0-beta6/include/asterisk/autoconfig.h
and is set correctly, at least on my system.
I'm also seeing the __res_close error. I've taken a look at dns.c in
sterisk and I think I can get away with commenting out the line that's
throwing the error. It's already removed if __APPLE__ is defined, so I've
add a check on my box for uclibc as well.
This solves the __res_close error, which may allow asterisk 1.4 to
compile, but still leaves an error compiling asterisk 1.6:
[LD] abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o
app.o ast_expr2.o ast_expr2f.o asterisk.o astmm.o astobj2.o audiohook.o
autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o
cryptostub.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o
features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o
hashtab.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o
manager.o md5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o
slinfactory.o srv.o stdtime/localtime.o strcompat.o tcptls.o tdd.o term.o
threadstorage.o translate.o udptl.o ulaw.o utils.o version.o
editline/libedit.a db1-ast/libdb1.a -> asterisk
pbx.o: In function `new_find_extension':
/home/buildroot/newbuild/build_i686/asterisk-1.6.0-rc6/main/pbx.c:1343:
undefined reference to `index'
collect2: ld returned 1 exit status
make[2]: *** [asterisk] Error 1
Issue History
Date Modified Username Field Change
======================================================================
04-21-08 01:17 gebecom New Issue
04-21-08 01:17 gebecom Status new => assigned
04-21-08 01:17 gebecom Assigned To => buildroot
04-21-08 07:09 hmoffatt Note Added: 0006794
04-21-08 07:14 gebecom Issue Monitored: gebecom
04-21-08 07:16 gebecom Note Added: 0006804
04-21-08 07:17 gebecom Note Edited: 0006804
04-21-08 07:24 hmoffatt Note Added: 0006814
04-21-08 07:35 gebecom Note Added: 0006824
04-21-08 07:37 gebecom Note Edited: 0006824
04-21-08 07:38 gebecom Note Edited: 0006824
04-21-08 08:04 gebecom Note Added: 0006834
04-22-08 02:46 gebecom Note Deleted: 0006834
04-22-08 02:46 gebecom Note Edited: 0006824
04-22-08 03:02 hmoffatt Note Added: 0006874
04-22-08 03:50 gebecom Note Edited: 0006824
04-22-08 03:56 gebecom Note Added: 0006884
04-22-08 05:29 bernhardf Note Added: 0006904
04-22-08 06:56 hmoffatt Note Added: 0006914
04-22-08 07:50 gebecom Note Added: 0006954
09-25-08 07:08 nickpeirson Issue Monitored: nickpeirson
09-25-08 08:18 nickpeirson Note Added: 0011984
======================================================================
More information about the buildroot
mailing list