Asterisk can't start 'illegal instruction'

hello… I installed asterisk 11.10.2 version but.
i can’t start it on this cloud server.
and the error message is

#asterisk -cvvvv
Privilege escalation protection disabled!
See for more details.
Illegal instruction

asterisk -r

Illegal instruction

… I can’t start asterisk in this server??
vCPU 4EA, Memory 8GB, Disk 50GB
and OS version is centos-6.3-64

# uname -r
             total       used       free     shared    buffers     cached
Mem:       8028868    4885036    3143832          0     328828    3902568
-/+ buffers/cache:     653640    7375228
Swap:            0          0          0

Try without SELinux

DId you compile it on the target virtual hardware. If not do so. If you have already tried this, use a generic platform definition rather than letting it try to optimise for the exact platform. Some VMs appear to mis-declare their “hardware” capabilities.

Running Asterisk in the cloud is liable to produce excessive jitter.

hi constantinp
I did
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

I can’t understand david55
you mean that vm environment appear mis-declared their “hardware” capabilities and it makes asterisk think the server isn’t enough to start?

When you build Asterisk from source, the C compiler can query the hardware (or possibly the OS) for the exact machine code instruction set supported. There have been cases, on virtual machines, where the compiler thinks that some machine instructions are available, when they are not. That probably means that the virtual machine is claiming to be running on better hardware than it really is running on.

The way round this is to specify a more generic target platform, like i586, when building Asterisk.

Alternatively, it is possible that a packaged version was compiled on a more capable machine than the virtual machine on which you are running it. In that case, compiling it on the actual machine will produce a build that better matches the machine.