В Tue, 20 Nov 2012 17:50:36 +0200 Yannis Kontekakis <[email protected]> пишет:
> On 11/20/2012 05:34 PM, Alexander Tsoy wrote: > > В 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". :) > > > > 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
