Date: Mon, 10 Sep 2007 14:35:30 +0200 From: Ian FREISLICH <ianf@clue.co.za> To: Luigi Rizzo <rizzo@icir.org> Cc: current@freebsd.org Subject: Re: Building asterisk - undefined reference to `__sync_fetch_and_add_4' Message-ID: <E1IUiUE-000NkE-7B@clue.co.za> In-Reply-To: Message from Luigi Rizzo <rizzo@icir.org> of "Mon, 10 Sep 2007 04:23:55 MST." <20070910042355.A45937@xorpc.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo wrote: > 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. The trouble is that the asterisk build translates this into -march=i386 and -mcpu=i386 or -mtune=i386 which has that low level effect. At least the old asterisk port did this, I haven't yet figured out what the new 1.4.11 asterisk is doing. I'm inclined to believe that i386 in the FreeBSD context means something fundamentally different to the same in the Linux context. > 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) ? It builds if I don't set CPUTYPE=p3 in /etc/make.conf. So, I guess that's the fix. Ian -- Ian Freislich
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1IUiUE-000NkE-7B>