Bochs build
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
You'll feel disappointed but..
2.4.2 (that's a really old release I guess)
I'll test out 2.6.2, and see if it works.
2.4.2 (that's a really old release I guess)
I'll test out 2.6.2, and see if it works.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
Well I was curious if you compiled the one with the enhanced debugger (2.6.1 and above). I guess if I fail the build for this version I know which one to use.
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
Hi,
I have built Bochs 2.6.2 with MSVC, there were a few problems (related with file permissions) in iodev/network/slirp/tftp.cc where they've used some file permission constants which go undefined , the trick was to add this in tftp.cc:
Yes, I've compiled the release with --enable-debugger.
And just try the steps given in the previous post, you should be able to compile Bochs now.
One thing to note is that MSVC may have some problems when you are accessing the sources when it's compiling. So it's better to
close all such file browsers before compiling. It's recommended to run "Clean Solution" and "Clean Build" after you've done compiling it.
Note: Sometimes MSVC tries to troll you, I don't know what actually went wrong, but it said that 17 builds went ok and 1 build
failed, when I built it again (no changes) it worked perfectly.
-Bender
I have built Bochs 2.6.2 with MSVC, there were a few problems (related with file permissions) in iodev/network/slirp/tftp.cc where they've used some file permission constants which go undefined , the trick was to add this in tftp.cc:
Code: Select all
//! Compiling for Windows??
#ifdef _WIN32
#include <io.h>
typedef int mode_t;
//! It's really BS, that I have to add this piece of puke for no reason
static const mode_t S_ISUID = 0x08000000;
static const mode_t S_ISGID = 0x04000000;
static const mode_t S_ISVTX = 0x02000000;
static const mode_t S_IRUSR = mode_t(_S_IREAD); //! USER READ
static const mode_t S_IWUSR = mode_t(_S_IWRITE); //! USER WRITE
static const mode_t S_IXUSR = 0x00400000;
#ifndef STRICT_UGO_PERMISSIONS
static const mode_t S_IXOTH = 0x00010000;
static const mode_t S_IRGRP = mode_t(_S_IREAD); //! USER READ
static const mode_t S_IWGRP = mode_t(_S_IWRITE); //! USER WRITE
static const mode_t S_IXGRP = 0x00080000;
static const mode_t S_IROTH = mode_t(_S_IREAD); //! USER READ
static const mode_t S_IWOTH = mode_t(_S_IWRITE); //! USER WRITE
#else
static const mode_t S_IXGRP = 0x00080000;
static const mode_t S_IWGRP = 0x00100000;
static const mode_t S_IROTH = 0x00040000;
static const mode_t S_IWOTH = 0x00020000;
static const mode_t S_IXOTH = 0x00010000;
static const mode_t S_IRGRP = 0x00200000;
#endif
static const mode_t MS_MODE_MASK = 0x0000FFFF;
#endif
And just try the steps given in the previous post, you should be able to compile Bochs now.
One thing to note is that MSVC may have some problems when you are accessing the sources when it's compiling. So it's better to
close all such file browsers before compiling. It's recommended to run "Clean Solution" and "Clean Build" after you've done compiling it.
Note: Sometimes MSVC tries to troll you, I don't know what actually went wrong, but it said that 17 builds went ok and 1 build
failed, when I built it again (no changes) it worked perfectly.
-Bender
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
Bender: sys/stat.h?
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
Isn't it *NIXy? When compiling for Windows I always define these constants myself.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
No. MSVC has them too. Never declare such constants yourself.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
Then I've successfully broken my MSVC Installation.
EDIT: I posted the report today and they've fixed it.
http://sourceforge.net/p/bochs/discussi ... it=50#8cea
EDIT: I posted the report today and they've fixed it.
http://sourceforge.net/p/bochs/discussi ... it=50#8cea
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
After building bochs,I successfully concluded MSVC is...dumb. It doesn't compiles something successfully 1 moment and does the next. Now I know why I don't use it. (Or is my MSVC screwed up? Its a new installation)
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
hometue: It's Microsoft Visual C++ 2010
M$ doesn't care about older versions, they are as buggy as they were.
What do you expect?
M$ doesn't care about older versions, they are as buggy as they were.
What do you expect?
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
Hey, I know that its been quite long, but I can't get the compilation working (yeah, got busy so didn't have too much time to do it until recently). I am almost done with compiling except for bochs, which after many times of compiling still has problem (I went to VC++ 2008, apparently 2010 was giving me too much problems and the 2008 one was more stable). I tried to solve it (trust me, I googled this time only to find a problem which is already fixed but quite similar, link here just in case it is actually the same: http://sourceforge.net/p/bochs/bugs/1227/) Basically VC++ is constantly telling me there are unresolved symbols. I will paste the log where the errors are.
Sorry if the answer is staring at me or should be obvious, but I really don't know what to do now. Can someone give me some help?(Looking at these are really frustrating I wished I got a working Ubuntu installation before my partitions had some problems)
Code: Select all
crc.cc
Generating Code...
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
cpu.lib(event.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_Deliver_Virtual_Interrupt(void)" (?VMX_Deliver_Virtual_Interrupt@BX_CPU_C@@SAXXZ) referenced in function "public: static void __cdecl BX_CPU_C::InterruptAcknowledge(void)" (?InterruptAcknowledge@BX_CPU_C@@SAXXZ)
cpu.lib(event.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_Virtual_Apic_Access_Trap(void)" (?VMX_Virtual_Apic_Access_Trap@BX_CPU_C@@SAXXZ) referenced in function "public: static unsigned int __cdecl BX_CPU_C::handleAsyncEvent(void)" (?handleAsyncEvent@BX_CPU_C@@SAIXZ)
cpu.lib(paging.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_Virtual_Apic_Write(unsigned __int64,unsigned int,void *)" (?VMX_Virtual_Apic_Write@BX_CPU_C@@SAX_KIPAX@Z) referenced in function "public: static void __cdecl BX_CPU_C::access_write_physical(unsigned __int64,unsigned int,void *)" (?access_write_physical@BX_CPU_C@@SAX_KIPAX@Z)
cpu.lib(paging.obj) : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl BX_CPU_C::is_virtual_apic_page(unsigned __int64)" (?is_virtual_apic_page@BX_CPU_C@@SAI_K@Z) referenced in function "public: static void __cdecl BX_CPU_C::access_write_physical(unsigned __int64,unsigned int,void *)" (?access_write_physical@BX_CPU_C@@SAX_KIPAX@Z)
cpu.lib(paging.obj) : error LNK2019: unresolved external symbol "public: static unsigned __int64 __cdecl BX_CPU_C::VMX_Virtual_Apic_Read(unsigned __int64,unsigned int,void *)" (?VMX_Virtual_Apic_Read@BX_CPU_C@@SA_K_KIPAX@Z) referenced in function "public: static void __cdecl BX_CPU_C::access_read_physical(unsigned __int64,unsigned int,void *)" (?access_read_physical@BX_CPU_C@@SAX_KIPAX@Z)
cpu.lib(vmx.obj) : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl BX_CPU_C::VMX_Read_Virtual_APIC(unsigned int)" (?VMX_Read_Virtual_APIC@BX_CPU_C@@SAII@Z) referenced in function "public: static enum VMX_error_code __cdecl BX_CPU_C::VMenterLoadCheckVmControls(void)" (?VMenterLoadCheckVmControls@BX_CPU_C@@SA?AW4VMX_error_code@@XZ)
cpu.lib(msr.obj) : error LNK2001: unresolved external symbol "public: static unsigned int __cdecl BX_CPU_C::VMX_Read_Virtual_APIC(unsigned int)" (?VMX_Read_Virtual_APIC@BX_CPU_C@@SAII@Z)
cpu.lib(crregs.obj) : error LNK2001: unresolved external symbol "public: static unsigned int __cdecl BX_CPU_C::VMX_Read_Virtual_APIC(unsigned int)" (?VMX_Read_Virtual_APIC@BX_CPU_C@@SAII@Z)
cpu.lib(vmx.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_TPR_Virtualization(void)" (?VMX_TPR_Virtualization@BX_CPU_C@@SAXXZ) referenced in function "public: static void __cdecl BX_CPU_C::VMLAUNCH(class bxInstruction_c *)" (?VMLAUNCH@BX_CPU_C@@SAXPAVbxInstruction_c@@@Z)
cpu.lib(crregs.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_TPR_Virtualization(void)" (?VMX_TPR_Virtualization@BX_CPU_C@@SAXXZ)
cpu.lib(msr.obj) : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl BX_CPU_C::Virtualize_X2APIC_Write(unsigned int,unsigned __int64)" (?Virtualize_X2APIC_Write@BX_CPU_C@@SAII_K@Z) referenced in function "public: static void __cdecl BX_CPU_C::WRMSR(class bxInstruction_c *)" (?WRMSR@BX_CPU_C@@SAXPAVbxInstruction_c@@@Z)
cpu.lib(crregs.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl BX_CPU_C::VMX_Write_Virtual_APIC(unsigned int,unsigned int)" (?VMX_Write_Virtual_APIC@BX_CPU_C@@SAXII@Z) referenced in function "public: static void __cdecl BX_CPU_C::WriteCR8(class bxInstruction_c *,unsigned __int64)" (?WriteCR8@BX_CPU_C@@SAXPAVbxInstruction_c@@_K@Z)
.\..\obj-release\bochs.exe : fatal error LNK1120: 9 unresolved externals
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Bochs build
What problems were they? VS 2008 is possibly ( ) dead?apparently 2010 was giving me too much problems and the 2008 one was more stable).
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: Bochs build
Randomly something would build and not build. You did tell me that it happens but 2008 didn't have this issues so I thought it will be better to use 2008. (And besides I never got to this stage for 2010 after like, tons and tons of times, something else would have failed before it)
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.
Re: Bochs build
Ok, I fixed it...so just for reference, here are the steps I took to compile bochs: http://emulators.com/docs/nx30_bochs245.htm , basically, use nmake(why? I don't know, but if bochs uses nmake why not. I still don't understand why its better). I am gonna go check on if it works. Phew...finally, praise the...um...Unix? (I got nothing). Now I shall go and run bochs with the debugger. Anyway thanks Bender for helping. (and I still used 2008 version of the command tools so Bender, I don't think its dead). And should we add this link to the external links in the Bochs wiki page? I find this quite informative despite being about an older version.
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.