Tag Archives: install

A little Trick to install Window 8.1 on VirtualBox on Mac OS X

I’m trying to compile some google’s code(Chromium) .

So, I need to install a virtual machine on my MacBook Pro.

I have downloaded the Windows 8.1’s iso on MS’s official website for Windows.

And just trying to install it like other operation systems. Then I got a critical error:

Your PC needs to restart.
Please hold down the power button.
Error code: 0x000000C4
Parameters:
0×0000000000000091
0x000000000000000F
0xFFFFF801E5962A80
0×0000000000000000

And without any log.

It is so frustrated, isn’t it?

After some googling, I got an answer like this:

This problem is because that the Chip of the virtual machine lacks of an instruction(CMPXCHG16B).

And I found the explain on the WikiPedia here.

Here is the quote of the document.

Early AMD64 processors lacked the CMPXCHG16B instruction, which is an extension of the CMPXCHG8B instruction present on most post-80486 processors. Similar to CMPXCHG8B, CMPXCHG16B allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. Without CMPXCHG16B one must use workarounds, such as a critical section or alternative lock-free approaches.[41] Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes.[42] The 64-bit version of Windows 8.1 requires the instruction.[43]

See the line here? The 64-bit version of Windows 8.1 requires the instruction.

This is the problem of the VirtualBox, it only supports all the AMD instructions by default.

So, to solve this problem, you need to run the command

VBoxManage setextradata [vmname] VBoxInternal/CPUM/CMPXCHG16B 1

The vmname should be your virtual machine’s name, and if you really don’t remember it, you can view the names using this command:

VBoxManage list vms

After this setup, your VirtualMachine is ready for Windows 8.1(though I really don’t like Windows).

About the mod_perl and perl-Apache-Test conflict in installing Packetfence

It’s been a very long time since my last post.

Very busy these days. Now I’m working for a company try to create captive portal, I make packetfence a try.

It is a very nice application based on CentOS.

I started with CentOS 6.4, added the repositories it needed, and then:

yum install -y packent fence

What a nice day!

But bang!!!! what!?

file /usr/share/man/man3/Apache::Test.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestConfig.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestMB.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestMM.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestReport.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestRequest.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestRun.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestRunPHP.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestRunPerl.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestServer.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestSmoke.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestTrace.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

file /usr/share/man/man3/Apache::TestUtil.3pm.gz conflicts between attempted installs of perl-Apache-Test-1.30-2.el6.rf.noarch and mod_perl-2.0.4-10.el6.x86_64

The conflict in man!!! Man!!!

You got conflict in the Fcking manual that I wasn’t suppose to read and **failed!!!!!! the installation completely!!!!

I tried to google for that, and plenty of the problem like this

And, they won’t get anything as fixed….

So how can I go on?

I tried a dirty way.

First, I install the mod_perl and perl-devel using yum:

yum install -y mod_perl perl-devel

Then let’s download the perl-Apache-Test from CPAN:

wget http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/Apache-Test-1.38.tar.gz

Then let’s install it:

perl Makefile.PL

make install

But, even we installed the f*cking perl-Apache-Test, we can’t be done, yet.

Yum won’t know you have installed the perl-Apache-Test, and will still try to download it and install it and failed your installation.

So, you need to test yum to skip it, adding 1 line to /etc/yum.conf

exclude=perl-Apache-Test

Then try the yum install again, you’ll be done.

It cost me 1 hour to do this investigation and how frustrated I was, so I wrote this blog to record it down, if this can helps anyone, the time and energy of mine won’t be wasted.