This is the error: cd iodev && \ make libiodev.a make[1]: Entering directory `/home/arvind/osEngg/tools/bochs-2.1.1/iodev' g++ -c -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -pthread devices.cc -o devices.o In file included from devices.cc:28: ../bochs.h: In member function 'char* iofunctions::getaction(int)': ../bochs.h:345: warning: deprecated conversion from string constant to 'char*' ../bochs.h:345: warning: deprecated conversion from string constant to 'char*' ../bochs.h:345: warning: deprecated conversion from string constant to 'char*' ../bochs.h:345: warning: deprecated conversion from string constant to 'char*' In file included from ../bochs.h:425, from devices.cc:28: ../disasm/disasm.h: In member function 'void disassembler::ST0(unsigned int)': ../disasm/disasm.h:231: warning: deprecated conversion from string constant to 'char*' ../disasm/disasm.h: In member function 'void disassembler::Cd(unsigned int)': ../disasm/disasm.h:240: warning: deprecated conversion from string constant to 'char*' ../disasm/disasm.h: In member function 'void disassembler::Dd(unsigned int)': ../disasm/disasm.h:241: warning: deprecated conversion from string constant to 'char*' ../disasm/disasm.h: In member function 'void disassembler::Td(unsigned int)': ../disasm/disasm.h:242: warning: deprecated conversion from string constant to 'char*' ../disasm/disasm.h: In member function 'void disassembler::I1(unsigned int)': ../disasm/disasm.h:265: warning: deprecated conversion from string constant to 'char*' In file included from ../iodev/iodev.h:402, from ../bochs.h:504, from devices.cc:28: ../iodev/harddrv.h: At global scope: ../iodev/harddrv.h:292: error: extra qualification 'sparse_image_t::' on member 'get_physical_offset' ../iodev/harddrv.h:297: error: extra qualification 'sparse_image_t::' on member 'set_virtual_page' In file included from ../iodev/iodev.h:403, from ../bochs.h:504, from devices.cc:28: ../iodev/vmware3.h:79: warning: 'packed' attribute ignored devices.cc: In constructor 'bx_devices_c::bx_devices_c()': devices.cc:48: warning: deprecated conversion from string constant to 'char*' make[1]: *** [devices.o] Error 1 make[1]: Leaving directory `/home/arvind/osEngg/tools/bochs-2.1.1/iodev' make: *** [iodev/libiodev.a] Error 2
I dont know why it is coming. I am using gcc-3.4 now. Please help. Thanks! On Fri, Dec 26, 2008 at 6:09 AM, pragnesh radadia < pragnesh.rada...@gmail.com> wrote: > On Fri, Dec 26, 2008 at 4:15 PM, sahlot arvind <asah...@gmail.com> wrote: > > Hi Everyone, > > > > I am trying to use bochs for learning linux kernel. But I am unable to > build > > bochs from its source code. > > I am getting a compile time error. I am trying to build bochs-2.1.1 with > > gcc-4.3.2. > what is the error? > > I have tried with gcc-3.4.2 and gcc-3.4.0 as well. The error which comes > > while using gcc-4.3.2 goes off but some other compilation error comes up > > with older version of gcc. > > > > If you have used bochs could you please let me know which version of gcc > to > > be used to build bochs? I have even tried building the latest version of > > bochs but same thing happened. > > > once i face similar problem, able to compile bochs with gcc > 3.3.3(available on opensuse buildservice) on opensuse. > I have used old gcc using instruction from this link > http://www.mjmwired.net/linux/2005/11/15/using-alternate-compilers/ > > -pragnesh > -- http://linuxexplained.blogspot.com