On 11/20/2012 06:13 PM, Alexander Tsoy wrote:
В 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.

Thanks. I will go with it.

Reply via email to