OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 16, 2024 7:40 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 3:24 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
You'll feel disappointed but..
2.4.2 :mrgreen: (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)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 3:35 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
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.


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 3:56 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
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 :P, the trick was to add this in tftp.cc:
Code:
//! 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

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

_________________
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 4:53 am 
Offline
Member
Member
User avatar

Joined: Wed Mar 21, 2012 3:01 pm
Posts: 930
Bender: sys/stat.h?


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 5:06 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
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)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 7:45 am 
Offline
Member
Member
User avatar

Joined: Wed Mar 21, 2012 3:01 pm
Posts: 930
No. MSVC has them too. Never declare such constants yourself.


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Mar 28, 2014 7:49 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
Then I've successfully broken my MSVC Installation. :oops:
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)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Sat Mar 29, 2014 2:37 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
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.


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Sat Mar 29, 2014 5:00 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
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?

_________________
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Apr 04, 2014 1:23 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
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.

Code:
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


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)

_________________
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Apr 04, 2014 2:35 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
Quote:
apparently 2010 was giving me too much problems and the 2008 one was more stable).

What problems were they? VS 2008 is possibly ( :?: ) dead?

_________________
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Fri Apr 04, 2014 2:57 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
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.


Top
 Profile  
 
 Post subject: Re: Bochs build
PostPosted: Sat Apr 05, 2014 2:14 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 91 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group