Building Asterisk in Rawhide on i386

Jakub Jelinek jakub at redhat.com
Wed Feb 13 07:49:24 UTC 2008


On Tue, Feb 12, 2008 at 09:43:11PM -0600, Jeffrey Ollie wrote:
> I'm having some difficulty building Asterisk in Rawhide now that GCC
> has been upgraded to 4.3.  As you can see from [1] the build error out
> because of some undefined symbols (__sync_fetch_and_add_4 and
> __sync_sub_and_fetch_4).  From what I've been able to figure out from
> googling around is that these two functions are no longer available
> when building with '-march=i386' because i386 processors don't have
> the atomic operations that are required.

No longer is a wrong word.  __sync_fetch_and_add never worked for
-march=i386, it can't - there is no atomic instruction on i386 ISA through
which that could be implemented.

> The "solution" that I have
> seen proposed is to build with '-march=i686'. Unless someone has some
> other solution, I'd like to start building Asterisk as i686 in Rawhide
> rather than i386.

Rather use -march=i486 -mtune=generic, and don't bother with using
non-i386.rpm rpms.  glibc/libstdc++/libgomp is built -march=i486 in
i386.rpm packages already (NPTL doesn't support pre-i486), so Fedora for
a few releases won't boot on pre-i486 anyway.  On the other side, some
people still use i586-ish CPUs (or i686 without cmov, that's the same deal)
with Fedora, so limiting packages to i686 would hurt.

	Jakub




More information about the fedora-devel-list mailing list