hi, i'm trying build asterisk rpm normal compilation is ok but rpm building always fail centos6/asterisk 1.8.5.0 any ideas? gcc -o recno/rec_utils.o -c recno/rec_utils.c -MD -MT recno/rec_utils.o -MF .recno_rec_utils.o.d -MP -pthread -Wall -D__DBINTERFACE_PRIVATE -I. -I.. -Iinclude -Ihash -Ibtree -Irecno -I/root/rpmbuild/BUILD/asterisk-1.8.5.0/include -O2 -g -march=i386 -mtune=i686 -Werror-implicit-function-declaration -I/usr/include/libxml2 -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wno-strict-aliasing -O2 -g -march=i386 -mtune=i686 -Werror-implicit-function-declaration ar cr libdb1.a 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 ranlib libdb1.a make[2]: Leaving directory `/root/rpmbuild/BUILD/asterisk-1.8.5.0/main/db1-ast' /root/rpmbuild/BUILD/asterisk-1.8.5.0/build_tools/make_linker_version_script asterisk gcc -o asterisk -Wl,--export-dynamic -Wl,--version-script,asterisk.exports -Wl,--dynamic-list,asterisk.dynamics 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 db1-ast/libdb1.a buildinfo.o -lssl -lcrypto -lc -lxml2 -lz -lm -ldl -lpthread -ltermcap -lm -lresolv -ledit -lcurses astobj2.o: In function `ast_atomic_fetchadd_int': /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' ccss.o: In function `ast_atomic_fetchadd_int': /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' cdr.o:/root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: more undefined references to `__sync_fetch_and_add_4' follow utils.o: In function `ast_atomic_dec_and_test': /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:646: undefined reference to `__sync_sub_and_fetch_4' utils.o: In function `ast_atomic_fetchadd_int': /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4' collect2: ld returned 1 exit status make[1]: *** [asterisk] Error 1 make[1]: Leaving directory `/root/rpmbuild/BUILD/asterisk-1.8.5.0/main' make: *** [main] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.FeglRm (%build) -- --------------------------------------- Marek Cervenka =======================================
On Fri, Jul 22, 2011 at 10:10:01AM +0200, marek cervenka wrote:> hi, > > i'm trying build asterisk rpm > normal compilation is ok but rpm building always fail > > centos6/asterisk 1.8.5.0 > > any ideas? > > > gcc -o recno/rec_utils.o -c recno/rec_utils.c -MD -MT recno/rec_utils.o > -MF .recno_rec_utils.o.d -MP -pthread -Wall -D__DBINTERFACE_PRIVATE -I. > -I.. -Iinclude -Ihash -Ibtree -Irecno > -I/root/rpmbuild/BUILD/asterisk-1.8.5.0/include -O2 -g -march=i386[snip]> /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4' > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4' > ccss.o: In function `ast_atomic_fetchadd_int': > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4' > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4' > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4' > cdr.o:/root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > more undefined references to `__sync_fetch_and_add_4' follow > utils.o: In function `ast_atomic_dec_and_test': > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:646: > undefined reference to `__sync_sub_and_fetch_4' > utils.o: In function `ast_atomic_fetchadd_int': > /root/rpmbuild/BUILD/asterisk-1.8.5.0/include/asterisk/lock.h:600: > undefined reference to `__sync_fetch_and_add_4'I do not use centos (or build rpms, for that matter), but at least on OpenBSD the "-march=i386" causes the same undefineds you are seeing. I have to force i686 when configuring asterisk: ./configure --prefix=/usr/local CFLAGS=-march=i686 for the build to succeed. I'm not sure if this applies in your case, but maybe it will help. -- Barry