В Tue, 20 Nov 2012 16:54:39 +0200
Yannis Kontekakis <[email protected]> пишет:
> 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