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<[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.
>

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

Thank you

Reply via email to