Thanks guys. I see that bochs is already there with Ubuntu but since I need to enable debugging options I need to compile it from its source. I am trying to compile gcc-3.3.3 in order to compile bochs using that. I am again working on Fedora Core 10 since I was not getting compiled any version of gcc on Ubuntu. On Fedora Core 10, I have got gcc-4.3.2 which I am using to compile gcc-3.3.3 but I am getting compilation error listed below:
------------- gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. -I. -I./. -I./config -I./../include ./read-rtl.c -o read-rtl.o In file included from ./read-rtl.c:25: ./rtl.h:132: warning: type of bit-field 'code' is a GCC extension ./rtl.h:135: warning: type of bit-field 'mode' is a GCC extension ./read-rtl.c: In function 'fatal_with_file_and_line': ./read-rtl.c:53: warning: traditional C rejects ISO C style function definitions ./read-rtl.c: In function 'read_rtx': ./read-rtl.c:653: error: lvalue required as increment operand gmake[1]: *** [read-rtl.o] Error 1 gmake[1]: Leaving directory `/home/arvind/OperatingSystemEngineering/toolchain/gcc-3.3.3/gcc' gmake: *** [all-gcc] Error 2 ------------- What could be wrong and what should I do to build gcc-3.3.3? Thanks a lot On Sat, Dec 27, 2008 at 1:14 PM, Rahul Pydimukkala <pra...@cse.iitk.ac.in>wrote: > Arvind, > > Get the source from Ubuntu mirrors. > > apt-get source bochs > apt-get build-dep bochs > > In the current directory you get a gziped .diff patch file > as well as the original source. You need to apply the > patch for the source to work without any troubles. > > That's the way with debian based distros. > > Let me know if that helps. > > - > Rahul > > > On 05:22 Sat 27 Dec , sahlot arvind wrote: > > 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 > -- http://linuxexplained.blogspot.com