Mailing List Archive

erlang fails to install on kvm guest (illegal instruction)
Hello,

I am trying to install erlang on a hardened amd64 gentoo system running
on a kvm guest. The use flags and version of erlang are the following:

dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl -compat-ethread
-doc -emacs -halfword -sctp -tk -wxwidgets"

my CFLAGS are:
CFLAGS="-march=core2 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

cat /proc/cpuinfo reports 4 cores of:

processor : 3
vendor_id : AuthenticAMD
cpu family : 6
model : 2
model name : QEMU Virtual CPU version 1.0
stepping : 3
microcode : 0x1000065
cpu MHz : 2100.278
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 4
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt
hypervisor lahf_lm svm abm sse4a
bogomips : 4200.55
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

the error message that emerge prints while dying:

=== Entering application hipe
make[3]: Entering directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
(cd ../main && make hipe.hrl)
make[4]: Entering directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src >
../../hipe/main/hipe.hrl
make[4]: Leaving directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
make[3]: Leaving directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
make[2]: *** [opt] Error 2
make[2]: Leaving directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
make[1]: *** [opt] Error 2
make[1]: Leaving directory
`/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
make: *** [secondary_bootstrap_build] Error 2
emake failed
* ERROR: dev-lang/erlang-15.2 failed (compile phase):
* (no error message)
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 3965: Called die
* The specific snippet of code:
* emake -j1 || die;
*

And finally, dmesg reports:
beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0 error:0
in beam.smp[54b48e4000+261000]

Emerging erlang on my desktop(a similar hardened gentoo setup) completes
successfully. The only thing I can think of is that something is wrong
with my CFLAGS(but this is just an assumption).

Any help would be appreciated

Regards,

Yannis
Re: erlang fails to install on kvm guest (illegal instruction) [ In reply to ]
÷ Tue, 20 Nov 2012 16:54:39 +0200
Yannis Kontekakis <tolis@foss.teithe.gr> ÐÉÛÅÔ:

> Hello,
>
> I am trying to install erlang on a hardened amd64 gentoo system running
> on a kvm guest. The use flags and version of erlang are the following:
>
> dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl -compat-ethread
> -doc -emacs -halfword -sctp -tk -wxwidgets"
>
> my CFLAGS are:
> CFLAGS="-march=core2 -O2 -pipe"
> CXXFLAGS="${CFLAGS}"
>
> cat /proc/cpuinfo reports 4 cores of:
>
> processor : 3
> vendor_id : AuthenticAMD
> cpu family : 6
> model : 2
> model name : QEMU Virtual CPU version 1.0
> stepping : 3
> microcode : 0x1000065
> cpu MHz : 2100.278
> cache size : 512 KB
> fpu : yes
> fpu_exception : yes
> cpuid level : 4
> wp : yes
> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
> pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt
> hypervisor lahf_lm svm abm sse4a
> bogomips : 4200.55
> TLB size : 1024 4K pages
> clflush size : 64
> cache_alignment : 64
> address sizes : 40 bits physical, 48 bits virtual
> power management:
>
> the error message that emerge prints while dying:
>
> === Entering application hipe
> make[3]: Entering directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
> (cd ../main && make hipe.hrl)
> make[4]: Entering directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
> sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src >
> ../../hipe/main/hipe.hrl
> make[4]: Leaving directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
> erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
> make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
> make[3]: Leaving directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
> make[2]: *** [opt] Error 2
> make[2]: Leaving directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
> make[1]: *** [opt] Error 2
> make[1]: Leaving directory
> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
> make: *** [secondary_bootstrap_build] Error 2
> emake failed
> * ERROR: dev-lang/erlang-15.2 failed (compile phase):
> * (no error message)
> *
> * Call stack:
> * ebuild.sh, line 93: Called src_compile
> * environment, line 3965: Called die
> * The specific snippet of code:
> * emake -j1 || die;
> *
>
> And finally, dmesg reports:
> beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0 error:0
> in beam.smp[54b48e4000+261000]
>
> Emerging erlang on my desktop(a similar hardened gentoo setup) completes
> successfully. The only thing I can think of is that something is wrong
> with my CFLAGS(but this is just an assumption).
>
> Any help would be appreciated
>
> Regards,
>
> Yannis
>

It seems that KVM host is and AMD-based system. I suggest you to drop
"-march=core2" from CFLAGS. Or if you do not plan to migrate this VM
you can also try to replace it with something like "-march=amdfam10
-mno-3dnow". :)

--
With best regards,
Alexander Tsoy
Re: erlang fails to install on kvm guest (illegal instruction) [ In reply to ]
On 11/20/2012 05:34 PM, Alexander Tsoy wrote:
> Ð’ Tue, 20 Nov 2012 16:54:39 +0200
> Yannis Kontekakis<tolis@foss.teithe.gr> пишет:
>
>> Hello,
>>
>> I am trying to install erlang on a hardened amd64 gentoo system running
>> on a kvm guest. The use flags and version of erlang are the following:
>>
>> dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl -compat-ethread
>> -doc -emacs -halfword -sctp -tk -wxwidgets"
>>
>> my CFLAGS are:
>> CFLAGS="-march=core2 -O2 -pipe"
>> CXXFLAGS="${CFLAGS}"
>>
>> cat /proc/cpuinfo reports 4 cores of:
>>
>> processor : 3
>> vendor_id : AuthenticAMD
>> cpu family : 6
>> model : 2
>> model name : QEMU Virtual CPU version 1.0
>> stepping : 3
>> microcode : 0x1000065
>> cpu MHz : 2100.278
>> cache size : 512 KB
>> fpu : yes
>> fpu_exception : yes
>> cpuid level : 4
>> wp : yes
>> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
>> pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt
>> hypervisor lahf_lm svm abm sse4a
>> bogomips : 4200.55
>> TLB size : 1024 4K pages
>> clflush size : 64
>> cache_alignment : 64
>> address sizes : 40 bits physical, 48 bits virtual
>> power management:
>>
>> the error message that emerge prints while dying:
>>
>> === Entering application hipe
>> make[3]: Entering directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>> (cd ../main&& make hipe.hrl)
>> make[4]: Entering directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>> sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src>
>> ../../hipe/main/hipe.hrl
>> make[4]: Leaving directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>> erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
>> make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
>> make[3]: Leaving directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>> make[2]: *** [opt] Error 2
>> make[2]: Leaving directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
>> make[1]: *** [opt] Error 2
>> make[1]: Leaving directory
>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
>> make: *** [secondary_bootstrap_build] Error 2
>> emake failed
>> * ERROR: dev-lang/erlang-15.2 failed (compile phase):
>> * (no error message)
>> *
>> * Call stack:
>> * ebuild.sh, line 93: Called src_compile
>> * environment, line 3965: Called die
>> * The specific snippet of code:
>> * emake -j1 || die;
>> *
>>
>> And finally, dmesg reports:
>> beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0 error:0
>> in beam.smp[54b48e4000+261000]
>>
>> Emerging erlang on my desktop(a similar hardened gentoo setup) completes
>> successfully. The only thing I can think of is that something is wrong
>> with my CFLAGS(but this is just an assumption).
>>
>> Any help would be appreciated
>>
>> Regards,
>>
>> Yannis
>>
> It seems that KVM host is and AMD-based system. I suggest you to drop
> "-march=core2" from CFLAGS. Or if you do not plan to migrate this VM
> you can also try to replace it with something like "-march=amdfam10
> -mno-3dnow". :)
>

I thought so... I now have to rebuild the whole world :) Is anyone aware
of an -march value that can be used interchangeably between 64bit intel
& amd cpus? The kvm host is not under my administration, so at any time
my guest could be switched between hosts.
Re: erlang fails to install on kvm guest (illegal instruction) [ In reply to ]
÷ Tue, 20 Nov 2012 17:50:36 +0200
Yannis Kontekakis <tolis@foss.teithe.gr> ÐÉÛÅÔ:

> On 11/20/2012 05:34 PM, Alexander Tsoy wrote:
> > ÷ Tue, 20 Nov 2012 16:54:39 +0200
> > Yannis Kontekakis<tolis@foss.teithe.gr> ÐÉÛÅÔ:
> >
> >> Hello,
> >>
> >> I am trying to install erlang on a hardened amd64 gentoo system running
> >> on a kvm guest. The use flags and version of erlang are the following:
> >>
> >> dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl -compat-ethread
> >> -doc -emacs -halfword -sctp -tk -wxwidgets"
> >>
> >> my CFLAGS are:
> >> CFLAGS="-march=core2 -O2 -pipe"
> >> CXXFLAGS="${CFLAGS}"
> >>
> >> cat /proc/cpuinfo reports 4 cores of:
> >>
> >> processor : 3
> >> vendor_id : AuthenticAMD
> >> cpu family : 6
> >> model : 2
> >> model name : QEMU Virtual CPU version 1.0
> >> stepping : 3
> >> microcode : 0x1000065
> >> cpu MHz : 2100.278
> >> cache size : 512 KB
> >> fpu : yes
> >> fpu_exception : yes
> >> cpuid level : 4
> >> wp : yes
> >> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
> >> pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt
> >> hypervisor lahf_lm svm abm sse4a
> >> bogomips : 4200.55
> >> TLB size : 1024 4K pages
> >> clflush size : 64
> >> cache_alignment : 64
> >> address sizes : 40 bits physical, 48 bits virtual
> >> power management:
> >>
> >> the error message that emerge prints while dying:
> >>
> >> === Entering application hipe
> >> make[3]: Entering directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
> >> (cd ../main&& make hipe.hrl)
> >> make[4]: Entering directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
> >> sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src>
> >> ../../hipe/main/hipe.hrl
> >> make[4]: Leaving directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
> >> erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
> >> make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
> >> make[3]: Leaving directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
> >> make[2]: *** [opt] Error 2
> >> make[2]: Leaving directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
> >> make[1]: *** [opt] Error 2
> >> make[1]: Leaving directory
> >> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
> >> make: *** [secondary_bootstrap_build] Error 2
> >> emake failed
> >> * ERROR: dev-lang/erlang-15.2 failed (compile phase):
> >> * (no error message)
> >> *
> >> * Call stack:
> >> * ebuild.sh, line 93: Called src_compile
> >> * environment, line 3965: Called die
> >> * The specific snippet of code:
> >> * emake -j1 || die;
> >> *
> >>
> >> And finally, dmesg reports:
> >> beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0 error:0
> >> in beam.smp[54b48e4000+261000]
> >>
> >> Emerging erlang on my desktop(a similar hardened gentoo setup) completes
> >> successfully. The only thing I can think of is that something is wrong
> >> with my CFLAGS(but this is just an assumption).
> >>
> >> Any help would be appreciated
> >>
> >> Regards,
> >>
> >> Yannis
> >>
> > It seems that KVM host is and AMD-based system. I suggest you to drop
> > "-march=core2" from CFLAGS. Or if you do not plan to migrate this VM
> > you can also try to replace it with something like "-march=amdfam10
> > -mno-3dnow". :)
> >
>
> I thought so... I now have to rebuild the whole world :) Is anyone aware
> of an -march value that can be used interchangeably between 64bit intel
> & amd cpus? The kvm host is not under my administration, so at any time
> my guest could be switched between hosts.
>

Simply do not use -march:
CFLAGS="-O2 -pipe"
Binaries compiled with this cflags should work on any x86_64 system.

--
With best regards,
Alexander Tsoy
Re: erlang fails to install on kvm guest (illegal instruction) [ In reply to ]
On 11/20/2012 06:13 PM, Alexander Tsoy wrote:
> Ð’ Tue, 20 Nov 2012 17:50:36 +0200
> Yannis Kontekakis<tolis@foss.teithe.gr> пишет:
>
>> On 11/20/2012 05:34 PM, Alexander Tsoy wrote:
>>> Ð’ Tue, 20 Nov 2012 16:54:39 +0200
>>> Yannis Kontekakis<tolis@foss.teithe.gr> пишет:
>>>
>>>> Hello,
>>>>
>>>> I am trying to install erlang on a hardened amd64 gentoo system running
>>>> on a kvm guest. The use flags and version of erlang are the following:
>>>>
>>>> dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl -compat-ethread
>>>> -doc -emacs -halfword -sctp -tk -wxwidgets"
>>>>
>>>> my CFLAGS are:
>>>> CFLAGS="-march=core2 -O2 -pipe"
>>>> CXXFLAGS="${CFLAGS}"
>>>>
>>>> cat /proc/cpuinfo reports 4 cores of:
>>>>
>>>> processor : 3
>>>> vendor_id : AuthenticAMD
>>>> cpu family : 6
>>>> model : 2
>>>> model name : QEMU Virtual CPU version 1.0
>>>> stepping : 3
>>>> microcode : 0x1000065
>>>> cpu MHz : 2100.278
>>>> cache size : 512 KB
>>>> fpu : yes
>>>> fpu_exception : yes
>>>> cpuid level : 4
>>>> wp : yes
>>>> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
>>>> pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt
>>>> hypervisor lahf_lm svm abm sse4a
>>>> bogomips : 4200.55
>>>> TLB size : 1024 4K pages
>>>> clflush size : 64
>>>> cache_alignment : 64
>>>> address sizes : 40 bits physical, 48 bits virtual
>>>> power management:
>>>>
>>>> the error message that emerge prints while dying:
>>>>
>>>> === Entering application hipe
>>>> make[3]: Entering directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>>>> (cd ../main&& make hipe.hrl)
>>>> make[4]: Entering directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>>>> sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src>
>>>> ../../hipe/main/hipe.hrl
>>>> make[4]: Leaving directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>>>> erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
>>>> make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
>>>> make[3]: Leaving directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>>>> make[2]: *** [opt] Error 2
>>>> make[2]: Leaving directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
>>>> make[1]: *** [opt] Error 2
>>>> make[1]: Leaving directory
>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
>>>> make: *** [secondary_bootstrap_build] Error 2
>>>> emake failed
>>>> * ERROR: dev-lang/erlang-15.2 failed (compile phase):
>>>> * (no error message)
>>>> *
>>>> * Call stack:
>>>> * ebuild.sh, line 93: Called src_compile
>>>> * environment, line 3965: Called die
>>>> * The specific snippet of code:
>>>> * emake -j1 || die;
>>>> *
>>>>
>>>> And finally, dmesg reports:
>>>> beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0 error:0
>>>> in beam.smp[54b48e4000+261000]
>>>>
>>>> Emerging erlang on my desktop(a similar hardened gentoo setup) completes
>>>> successfully. The only thing I can think of is that something is wrong
>>>> with my CFLAGS(but this is just an assumption).
>>>>
>>>> Any help would be appreciated
>>>>
>>>> Regards,
>>>>
>>>> Yannis
>>>>
>>> It seems that KVM host is and AMD-based system. I suggest you to drop
>>> "-march=core2" from CFLAGS. Or if you do not plan to migrate this VM
>>> you can also try to replace it with something like "-march=amdfam10
>>> -mno-3dnow". :)
>>>
>> I thought so... I now have to rebuild the whole world :) Is anyone aware
>> of an -march value that can be used interchangeably between 64bit intel
>> & amd cpus? The kvm host is not under my administration, so at any time
>> my guest could be switched between hosts.
>>
> Simply do not use -march:
> CFLAGS="-O2 -pipe"
> Binaries compiled with this cflags should work on any x86_64 system.
>
Thanks. I will go with it.
Re: erlang fails to install on kvm guest (illegal instruction) - solved [ In reply to ]
On 11/20/2012 06:28 PM, Yannis Kontekakis wrote:
> On 11/20/2012 06:13 PM, Alexander Tsoy wrote:
>> Ð’ Tue, 20 Nov 2012 17:50:36 +0200
>> Yannis Kontekakis<tolis@foss.teithe.gr> пишет:
>>
>>> On 11/20/2012 05:34 PM, Alexander Tsoy wrote:
>>>> Ð’ Tue, 20 Nov 2012 16:54:39 +0200
>>>> Yannis Kontekakis<tolis@foss.teithe.gr> пишет:
>>>>
>>>>> Hello,
>>>>>
>>>>> I am trying to install erlang on a hardened amd64 gentoo system
>>>>> running
>>>>> on a kvm guest. The use flags and version of erlang are the
>>>>> following:
>>>>>
>>>>> dev-lang/erlang-15.2 USE="hipe java kpoll odbc smp ssl
>>>>> -compat-ethread
>>>>> -doc -emacs -halfword -sctp -tk -wxwidgets"
>>>>>
>>>>> my CFLAGS are:
>>>>> CFLAGS="-march=core2 -O2 -pipe"
>>>>> CXXFLAGS="${CFLAGS}"
>>>>>
>>>>> cat /proc/cpuinfo reports 4 cores of:
>>>>>
>>>>> processor : 3
>>>>> vendor_id : AuthenticAMD
>>>>> cpu family : 6
>>>>> model : 2
>>>>> model name : QEMU Virtual CPU version 1.0
>>>>> stepping : 3
>>>>> microcode : 0x1000065
>>>>> cpu MHz : 2100.278
>>>>> cache size : 512 KB
>>>>> fpu : yes
>>>>> fpu_exception : yes
>>>>> cpuid level : 4
>>>>> wp : yes
>>>>> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge
>>>>> mca cmov
>>>>> pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16
>>>>> popcnt
>>>>> hypervisor lahf_lm svm abm sse4a
>>>>> bogomips : 4200.55
>>>>> TLB size : 1024 4K pages
>>>>> clflush size : 64
>>>>> cache_alignment : 64
>>>>> address sizes : 40 bits physical, 48 bits virtual
>>>>> power management:
>>>>>
>>>>> the error message that emerge prints while dying:
>>>>>
>>>>> === Entering application hipe
>>>>> make[3]: Entering directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>>>>>
>>>>> (cd ../main&& make hipe.hrl)
>>>>> make[4]: Entering directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>>>>>
>>>>> sed -e "s;%VSN%;3.9;" ../../hipe/main/hipe.hrl.src>
>>>>> ../../hipe/main/hipe.hrl
>>>>> make[4]: Leaving directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/main'
>>>>>
>>>>> erlc -W +debug_info +inline -o../ebin hipe_rtl.erl
>>>>> make[3]: *** [../ebin/hipe_rtl.beam] Illegal instruction
>>>>> make[3]: Leaving directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe/rtl'
>>>>>
>>>>> make[2]: *** [opt] Error 2
>>>>> make[2]: Leaving directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib/hipe'
>>>>> make[1]: *** [opt] Error 2
>>>>> make[1]: Leaving directory
>>>>> `/var/tmp/portage/dev-lang/erlang-15.2/work/otp_src_R15B/lib'
>>>>> make: *** [secondary_bootstrap_build] Error 2
>>>>> emake failed
>>>>> * ERROR: dev-lang/erlang-15.2 failed (compile phase):
>>>>> * (no error message)
>>>>> *
>>>>> * Call stack:
>>>>> * ebuild.sh, line 93: Called src_compile
>>>>> * environment, line 3965: Called die
>>>>> * The specific snippet of code:
>>>>> * emake -j1 || die;
>>>>> *
>>>>>
>>>>> And finally, dmesg reports:
>>>>> beam.smp[27752] trap invalid opcode ip:54b49c00c4 sp:3d9f459d3f0
>>>>> error:0
>>>>> in beam.smp[54b48e4000+261000]
>>>>>
>>>>> Emerging erlang on my desktop(a similar hardened gentoo setup)
>>>>> completes
>>>>> successfully. The only thing I can think of is that something is
>>>>> wrong
>>>>> with my CFLAGS(but this is just an assumption).
>>>>>
>>>>> Any help would be appreciated
>>>>>
>>>>> Regards,
>>>>>
>>>>> Yannis
>>>>>
>>>> It seems that KVM host is and AMD-based system. I suggest you to drop
>>>> "-march=core2" from CFLAGS. Or if you do not plan to migrate this VM
>>>> you can also try to replace it with something like "-march=amdfam10
>>>> -mno-3dnow". :)
>>>>
>>> I thought so... I now have to rebuild the whole world :) Is anyone
>>> aware
>>> of an -march value that can be used interchangeably between 64bit intel
>>> & amd cpus? The kvm host is not under my administration, so at any
>>> time
>>> my guest could be switched between hosts.
>>>
>> Simply do not use -march:
>> CFLAGS="-O2 -pipe"
>> Binaries compiled with this cflags should work on any x86_64 system.
>>
> Thanks. I will go with it.
>

After reemerging world with the aforementioned CFLAGS everything worked
just fine.

Thank you