Vine-1.0&bitblaze-additional-2010-06.tar.gz on Ubuntu13 "make" problem Err@: ./vex/irtoir-i386.cpp:269:14: error[details in the red words following]

86 views
Skip to first unread message

Zhang Mike

unread,
May 7, 2013, 5:04:33 AM5/7/13
to bitblaz...@googlegroups.com
I installed qemu0.9.1 and temu-1.0&bitblaze-additional-2010-06/temu on my Ubuntu13 succefully.
And now I have this error when I try to make the updated Vine-1.0&bitblaze-additional-2010-06/vine,

Can you give me any opinion to solve this problem?
I'll be appreciated your helps, thanks!

**********************************************************************************************************************
ubuntu@ubuntu13:~/Downloads/bitblaze/vine-1.0$ make
Making all in libasmir
make[1]: Entering directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir'
make  all-recursive
make[2]: Entering directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir'
Making all in src
make[3]: Entering directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir/src'
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT debug.o -MD -MP -MF .deps/debug.Tpo -c -o debug.o `test -f './util/debug.cpp' || echo './'`./util/debug.cpp
mv -f .deps/debug.Tpo .deps/debug.Po
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT objdump.o -MD -MP -MF .deps/objdump.Tpo -c -o objdump.o `test -f './disasm/objdump.cpp' || echo './'`./disasm/objdump.cpp
mv -f .deps/objdump.Tpo .deps/objdump.Po
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT asm_program.o -MD -MP -MF .deps/asm_program.Tpo -c -o asm_program.o `test -f './disasm/asm_program.cpp' || echo './'`./disasm/asm_program.cpp
./disasm/asm_program.cpp: In function ‘bfd* initialize_bfd(const char*)’:
./disasm/asm_program.cpp:497:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
mv -f .deps/asm_program.Tpo .deps/asm_program.Po
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT vexmem.o -MD -MP -MF .deps/vexmem.Tpo -c -o vexmem.o `test -f './vex/vexmem.cpp' || echo './'`./vex/vexmem.cpp
./vex/vexmem.cpp: In function ‘IRConst* vx_dopyIRConst(IRConst*)’:
./vex/vexmem.cpp:472:41: warning: deprecated conversion from string constant to ‘HChar* {aka char*}’ [-Wwrite-strings]
./vex/vexmem.cpp: In function ‘IRExpr* vx_dopyIRExpr(IRExpr*)’:
./vex/vexmem.cpp:535:34: warning: deprecated conversion from string constant to ‘HChar* {aka char*}’ [-Wwrite-strings]
./vex/vexmem.cpp: In function ‘IRStmt* vx_dopyIRStmt(IRStmt*)’:
./vex/vexmem.cpp:593:34: warning: deprecated conversion from string constant to ‘HChar* {aka char*}’ [-Wwrite-strings]
mv -f .deps/vexmem.Tpo .deps/vexmem.Po
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT irtoir.o -MD -MP -MF .deps/irtoir.Tpo -c -o irtoir.o `test -f './vex/irtoir.cpp' || echo './'`./vex/irtoir.cpp
mv -f .deps/irtoir.Tpo .deps/irtoir.Po
g++ -DHAVE_CONFIG_H -I. -I../../libasmir    -I./VEX/pub -I./include -fPIC -g -O2 -MT irtoir-i386.o -MD -MP -MF .deps/irtoir-i386.Tpo -c -o irtoir-i386.o `test -f './vex/irtoir-i386.cpp' || echo './'`./vex/irtoir-i386.cpp
./vex/irtoir-i386.cpp: In function ‘std::string reg_offset_to_name(int)’:
./vex/irtoir-i386.cpp:269:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:269:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:269:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:270:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:270:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:270:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:271:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:271:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:271:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:272:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:272:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:272:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:273:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:273:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:273:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:274:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:274:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:274:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:275:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:275:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:275:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:276:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:276:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:276:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:278:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:278:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:278:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:280:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:280:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:280:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:281:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:281:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:281:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:282:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:282:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:282:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:283:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:283:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:283:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:285:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:285:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:285:14: error: an array reference cannot appear in a constant-expression
./vex/irtoir-i386.cpp:285:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:286:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:286:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:286:14: error: an array reference cannot appear in a constant-expression
./vex/irtoir-i386.cpp:286:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:287:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:287:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:287:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:288:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:288:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:288:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:289:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:289:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:289:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:290:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:290:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:290:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:291:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:291:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:291:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:292:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:292:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:292:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:294:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:294:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:294:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:295:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:295:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:295:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:297:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:297:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:297:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:298:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:298:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:298:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:299:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:299:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:299:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:300:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:300:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:300:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:301:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:301:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:301:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:302:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:302:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:302:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:303:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:303:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:303:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:304:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:304:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:304:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:305:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:305:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:305:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:307:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:307:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:307:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:309:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:309:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:309:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:310:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:310:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:310:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:311:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:311:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:311:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp: In function ‘Exp* translate_get_reg_8(int)’:
./vex/irtoir-i386.cpp:343:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:343:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:343:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:344:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:344:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:344:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:345:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:345:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:345:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:346:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:346:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:346:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:347:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:347:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:347:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:348:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:348:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:348:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:349:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:349:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:349:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:350:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:350:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:350:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp: In function ‘Exp* translate_get_reg_16(int)’:
./vex/irtoir-i386.cpp:380:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:380:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:380:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:381:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:381:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:381:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:382:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:382:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:382:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:383:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:383:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:383:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:384:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:384:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:384:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:385:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:385:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:385:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:386:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:386:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:386:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:387:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:387:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:387:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:392:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:392:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:392:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:393:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:393:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:393:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:394:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:394:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:394:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:395:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:395:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:395:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:396:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:396:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:396:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:397:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:397:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:397:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp: In function ‘Stmt* translate_put_reg_8(int, Exp*, IRSB*)’:
./vex/irtoir-i386.cpp:831:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:831:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:831:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:832:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:832:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:832:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:833:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:833:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:833:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:834:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:834:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:834:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:835:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:835:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:835:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:836:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:836:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:836:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:837:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:837:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:837:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:838:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:838:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:838:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:841:10: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:841:10: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:841:10: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp: In function ‘Stmt* translate_put_reg_16(int, Exp*, IRSB*)’:
./vex/irtoir-i386.cpp:887:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:887:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:887:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:888:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:888:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:888:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:889:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:889:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:889:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:890:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:890:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:890:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:891:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:891:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:891:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:892:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:892:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:892:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:893:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:893:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:893:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:894:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:894:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:894:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:899:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:899:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:899:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:900:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:900:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:900:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:901:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:901:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:901:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:902:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:902:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:902:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:903:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:903:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:903:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:904:14: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:904:14: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:904:14: error: ‘&’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:907:10: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
./vex/irtoir-i386.cpp:907:10: error: ‘->’ cannot appear in a constant-expression
./vex/irtoir-i386.cpp:907:10: error: ‘&’ cannot appear in a constant-expression
make[3]: *** [irtoir-i386.o] Error 1
make[3]: Leaving directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/ubuntu/Downloads/bitblaze/vine-1.0/libasmir'
make: *** [all-recursive] Error 1
ubuntu@ubuntu13:~/Downloads/bitblaze/vine-1.0$ 

***********************************************************************************************************************

Stephen McCamant

unread,
May 7, 2013, 9:01:35 AM5/7/13
to bitblaz...@googlegroups.com
>>>>> "ZM" == Zhang Mike <telne...@gmail.com> writes:

ZM> And now I have this error when I try to make the updated
ZM> Vine-1.0&bitblaze-additional-2010-06/vine,

ZM> Can you give me any opinion to solve this problem?
ZM> I'll be appreciated your helps, thanks!

ZM> *g++ -DHAVE_CONFIG_H -I. -I../../libasmir -I./VEX/pub -I./include -fPIC
ZM> -g -O2 -MT irtoir-i386.o -MD -MP -MF .deps/irtoir-i386.Tpo -c -o
ZM> irtoir-i386.o `test -f './vex/irtoir-i386.cpp' || echo
ZM> './'`./vex/irtoir-i386.cpp*
ZM> *./vex/irtoir-i386.cpp: In function 'std::string reg_offset_to_name(int)':*
ZM> *./vex/irtoir-i386.cpp:269:14: error: a cast to a type other than an
ZM> integral or enumeration type cannot appear in a constant-expression*
ZM> ./vex/irtoir-i386.cpp:269:14: error: '->' cannot appear in a
ZM> constant-expression
ZM> ./vex/irtoir-i386.cpp:269:14: error: '&' cannot appear in a
ZM> constant-expression

Here's the relevant code for the error:

libvex_basictypes.h:

126 /* This is so useful it should be visible absolutely everywhere. */
127 #if !defined(offsetof)
128 # define offsetof(type,memb) ((Int)(HWord)&((type*)0)->memb)
129 #endif
130 /* Our definition of offsetof is giving the same result as
131 the standard/predefined offsetof. So, we use the same name.

irtoir-i386.cpp:

29 #define OFFB_EAX offsetof(VexGuestX86State,guest_EAX)
30 #define OFFB_EBX offsetof(VexGuestX86State,guest_EBX)

266 switch ( offset )
267 {
268
269 case OFFB_EAX: name = "EAX"; break;
270 case OFFB_EBX: name = "EBX"; break;

VEX's definition of "offsetof" is traditional, but it's not actually
allowed by the rules in the C standard, and GCC started enforcing
these rules in version 4.6, giving the errors you saw.

The best fix is to include the compiler's standard definition of
"offsetof", which is guaranteed to work correctly. You can do this by
adding "#include <stddef.h>" near the beginnings of irtoir-i386.cpp
and irtoir-arm.cpp.

-- Stephen

Zhang Mike

unread,
May 7, 2013, 9:22:55 PM5/7/13
to bitblaz...@googlegroups.com, mcca...@cs.umn.edu
You saved my life again!
Thank you very much!!!
Reply all
Reply to author
Forward
0 new messages