google / supersonic

Supersonic is an ultra-fast, column oriented query engine library written in C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make file under vmware virtual machine

GoogleCodeExporter opened this issue · comments

What steps will reproduce the problem?
1.prepare all the deps...glog, gflags...
2.configure 
3.make

What is the expected output? What do you see instead?
make will be success.

What version of the product are you using? On what operating system?
ubuntu 
Please provide any additional information below.
./supersonic/utils/atomicops-internals-x86.h: In function ‘void 
base::subtle::SpinLockDelay(volatile Atomic32*, int32, int)’:
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm7’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm6’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm5’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm4’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm3’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm2’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm1’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:421:67: error: unknown register 
name ‘mm0’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm7’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm6’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm5’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm4’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm3’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm2’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm1’ in ‘asm’
./supersonic/utils/atomicops-internals-x86.h:398:67: error: unknown register 
name ‘mm0’ in ‘asm’

Original issue reported on code.google.com by lihuih...@gmail.com on 30 Oct 2012 at 2:34

Please try: 
export CFLAGS= "-O2 -mmmx -msse"
export CXXFLAGS= "-O2 -mmmx -msse"

before calling ./configure

Please let me know output of this commands:

gcc --version
uname -a

Original comment by p...@google.com on 3 Nov 2012 at 3:52

when I used below command, the make continued without "error: unknown register 
name ‘mm7’ in ‘asm’"
export CFLAGS= "-O2 -mmmx -msse"
export CXXFLAGS= "-O2 -mmmx -msse"

however, i encountered the error info: error: no type named ‘simd_arg’ in 
‘SimdOperator in the supersonic 0.9.2 version...

$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname -a
Linux ubuntu 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 
i686 i686 i386 GNU/Linux

Original comment by lihuih...@gmail.com on 5 Nov 2012 at 1:42

./supersonic/expression/vector/vector_primitives.h:228:55: error: no type named 
'simd_arg' in 'supersonic::SimdTraits<(supersonic::OperatorId)8u, long long 
unsigned int>::simd_operator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:35: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:41: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:47: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:35: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:41: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:35: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:41: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:47: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
./supersonic/expression/vector/vector_primitives.h:240:47: error: no type named 
'simd_arg' in 'SimdOperator {aka struct 
supersonic::simd_operators::SimdSubtract<long long unsigned int, long long 
unsigned int>}'
make[1]: *** [libsupersonic_la-arithmetic_bound_expressions.lo] 错误 1
make[1]:正在离开目录 `/home/andi/opensources/supersonic'
make: *** [all] 错误 2

Attached my settings:

$cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz
stepping    : 6
microcode   : 0x60c
cpu MHz     : 800.000
cache size  : 3072 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon 
pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm 
sse4_1 lahf_lm dts
bogomips    : 4256.06
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz
stepping    : 6
microcode   : 0x60c
cpu MHz     : 800.000
cache size  : 3072 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon 
pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm 
sse4_1 lahf_lm dts
bogomips    : 4255.97
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

$ uname -a
Linux andi-laptop 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012 
i686 i686 i386 GNU/Linux


$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright © 2011 Free Software Foundation, Inc.


Original comment by caoshi...@gmail.com on 23 Dec 2012 at 3:08

hi, I modify Makefile like this,
CFLAGS = -O2 -mmmx -msse
change to "CFLAGS = -O2 -mmmx -msse4"
and
CXXFLAGS = -O2 -mmmx -msse
change to "CXXFLAGS = -O2 -mmmx -msse4"

solved the problem.

Original comment by caoshi...@gmail.com on 23 Dec 2012 at 6:45

/usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 
instruction set not enabled"
./supersonic/expression/vector/simd_operators.h:40:1: error: '__m128i' does not 
name a type
./supersonic/expression/vector/simd_operators.h:40:1: error: '__m128i' does not 
name a type

It look  like in some platform the SSE2 must define explicitly.

Original comment by caoshi...@gmail.com on 23 Dec 2012 at 7:25

Should be fixed in version 0.9.3.

Original comment by p...@google.com on 18 Jan 2013 at 6:07

  • Changed state: Fixed