[asterisk-users] [1.8.3] Error compiling Asterisk: __sync_fetch_and_add

RR ranjtech at gmail.com
Mon Mar 7 16:41:32 CST 2011


On Mon, Mar 7, 2011 at 5:34 PM, Kevin P. Fleming <kpfleming at digium.com>wrote:

> On 03/07/2011 04:31 PM, RR wrote:
>
>> On Mon, Mar 7, 2011 at 5:25 PM, Kevin P. Fleming <kpfleming at digium.com
>> <mailto:kpfleming at digium.com>> wrote:
>>
>
> Please do not reply directly to posters on the mailing list unless they
> request it.
>
>
Sorry, the default on my gmail is "Reply All" and usually I remove relevant
parties from the To/Cc: headers, guess missed it this time. Wasn't
intentional.


>
>
>>    On 03/07/2011 03:35 PM, RR wrote:
>>
>>        Hello all,
>>
>>        mmm a bit embarrassing about not having a clue as to why we're
>>        getting
>>        this error on make of 1.8.3
>>
>>           [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 alaw.o aoc.o app.o ast_expr2.o
>>        ast_expr2f.o
>>        asterisk.o astfd.o astmm.o astobj2.o audiohook.o autochan.o
>>        autoservice.o bridging.o callerid.o ccss.o cdr.o cel.o channel.o
>>        chanvars.o cli.o config.o data.o datastore.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 framehook.o fskmodem.o global_datastores.o hashtab.o heap.o
>>        http.o image.o indications.o io.o jitterbuf.o loader.o lock.o
>>        logger.o
>>        manager.o md5.o netsock.o netsock2.o pbx.o plc.o poll.o privacy.o
>>        rtp_engine.o say.o sched.o security_events.o sha1.o
>>        slinfactory.o srv.o
>>        ssl.o stdtime/localtime.o strcompat.o strings.o stun.o syslog.o
>>        taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o
>>        timing.o
>>        translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o
>>        editline/libedit.a db1-ast/libdb1.a  -> asterisk
>>        astobj2.o: In function `ast_atomic_fetchadd_int':
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        astobj2.o:/usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: more
>>        undefined references to `__sync_fetch_and_add_4' follow
>>        utils.o: In function `ast_atomic_dec_and_test':
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:635: undefined
>>        reference
>>        to `__sync_sub_and_fetch_4'
>>        utils.o: In function `ast_atomic_fetchadd_int':
>>        /usr/src/asterisk-1.8.3/include/asterisk/lock.h:589: undefined
>>        reference
>>        to `__sync_fetch_and_add_4'
>>        collect2: ld returned 1 exit status
>>        make[1]: *** [asterisk] Error 1
>>        make: *** [main] Error 2
>>
>>        Any idea where this is coming from? seems like something is
>> selected
>>        that doesn't have other related stuff unselected? no clue where
>>        to start
>>        looking
>>
>>
>>    Have you specified any '-march' or '-mcpu' options to the compiler?
>>    This sort of thing can occur if you are building for a plain-jane
>>    i386 processor or something similar.
>>
>>
>> Hey Kevin,
>> nope, nothing...just doing the standard
>>
>> ./configure; make menuselect; make
>>
>> this is a Sun Sparc v240 machine running Debian 6.0 Squeeze sparc64-smp
>> kernel
>>
>
> Someone with SPARC experience will have to chime in then... for some reason
> the configure script has determined that your compiler provides atomic
> instructions, but they aren't being found at link time.
>
>
Ok...thanks. Is there no way for me to tell the compiler or provide flags in
./configure that can tell it to not do that? Conversely can I use -march
and/or -mcpu kind of options to make this compile for my platform? If so,
then what would the value be of these options or are there no values for
them and one just specifies them?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110307/7d8a969f/attachment.htm>


More information about the asterisk-users mailing list