From owner-freebsd-current@FreeBSD.ORG Mon Sep 10 11:25:14 2007 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A01E716A417 for ; Mon, 10 Sep 2007 11:25:14 +0000 (UTC) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.freebsd.org (Postfix) with ESMTP id 6585C13C46A for ; Mon, 10 Sep 2007 11:25:14 +0000 (UTC) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.11/8.13.6) with ESMTP id l8ABNtIR045989; Mon, 10 Sep 2007 04:23:55 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.11/8.12.3/Submit) id l8ABNtmD045988; Mon, 10 Sep 2007 04:23:55 -0700 (PDT) (envelope-from rizzo) Date: Mon, 10 Sep 2007 04:23:55 -0700 From: Luigi Rizzo To: Ian FREISLICH Message-ID: <20070910042355.A45937@xorpc.icir.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from ianf@clue.co.za on Mon, Sep 10, 2007 at 12:04:10PM +0200 Cc: current@freebsd.org Subject: Re: Building asterisk - undefined reference to `__sync_fetch_and_add_4' X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2007 11:25:14 -0000 On Mon, Sep 10, 2007 at 12:04:10PM +0200, Ian FREISLICH wrote: > Hi > > I was wondering if anyone else is having this problem building > asterisk on -CURRENT. The problem may not be with FreeBSD - it > looks like gnu configure is incorrectly detecting the CPU as "i386" > when it's actually a pentium3: > > configure: Package configured for: > configure: OS type : freebsd7.0 > configure: Host CPU : i386 > ===> Building for asterisk-1.4.11 > > The i386 doesn't have any atomic primatives or something like that > (maybe just according to gcc-4.2). If I frob the configured sources > and change the i386 to pentium3, then the build works, but I don't > have enough asterisk foo at this point to verify that it actually > works. i don't completely understand what is happening here - i386 presumably refers to the architecture, not to the very-low-level details of the architecture, so there should not be anything specific to one processor of the family in the flags passed to the compiler. Could it be that it's a compiler bug instead (or something in your /etc/make.conf which is forcing compiler-specific optimizations but only for a part of the build or the libraries) ? cheers luigi > ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanv > ars.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 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/libed > it.a -> asterisk > channel.o(.text+0x2b52): In function `ast_channel_alloc': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > channel.o(.text+0x2ec1):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > cli.o(.text+0x3a4a): In function `ast_cli_command': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > dial.o(.text+0x3da): In function `ast_dial_append': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > loader.o(.text+0xe3c): In function `__ast_module_user_add': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > loader.o(.text+0xec9):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/aster > isk/lock.h:775: more undefined references to `__sync_fetch_and_add_4' follow > manager.o(.text+0x197): In function `process_events': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:809: undefi > ned reference to `__sync_sub_and_fetch_4' > manager.o(.text+0x173e): In function `free_session': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:809: undefi > ned reference to `__sync_sub_and_fetch_4' > manager.o(.text+0x18ab): In function `accept_thread': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > manager.o(.text+0x1962):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > manager.o(.text+0x1a67):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > manager.o(.text+0x1b15):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > manager.o(.text+0x4774): In function `action_waitevent': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:809: undefi > ned reference to `__sync_sub_and_fetch_4' > manager.o(.text+0x5f81): In function `generic_http_callback': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > manager.o(.text+0x5f8f):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > manager.o(.text+0x6a65):/usr/ports/net/asterisk/work/asterisk-1.4.11/include/ast > erisk/lock.h:775: undefined reference to `__sync_fetch_and_add_4' > manager.o(.text+0x70b5): In function `session_do': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > utils.o(.text+0xde8): In function `ast_atomic_dec_and_test': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:809: undefi > ned reference to `__sync_sub_and_fetch_4' > utils.o(.text+0xe01): In function `ast_atomic_fetchadd_int': > /usr/ports/net/asterisk/work/asterisk-1.4.11/include/asterisk/lock.h:775: undefi > ned reference to `__sync_fetch_and_add_4' > gmake[1]: *** [asterisk] Error 1 > gmake: *** [main] Error 2 > *** Error code 2 > > Stop in /usr/ports/net/asterisk. > *** Error code 1 > > Stop in /usr/ports/net/asterisk. > > > -- > Ian Freislich > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"