Installing MacOSX when the installer says: OS X could not be installed on your computer. No packages were eligible for install.

; Date: Sun Oct 16 2016

Tags: Mac OS X

A key step for upgrading the disk on a MacBook Pro is to install a new operating system on the new drive, and then use Migration Assistant to copy over the old data. Depending on how you went about the work, installing Mac OS X on the new system may give you a message: OS X could not be installed on your computer. No packages were eligible for install.

This is what it looks like in the installer. Upon seeing this I went "HUH?" because the installation was from a thumb drive I'd used many times to install Mac OS X (El Capitan) successfully.

The above image came from an attempt to install El Capitan. I just got the following message, macOS could not be installed on your computer, while trying to install macOS High Sierra.

In both cases there was the same cause. In the El Capitan case, as I say in the next paragraph, the hardware clock had reset to zero because it did not have a battery pack. In the High Sierra case, I had performed a hardware reset of the computer in an attempt to fix a bootup problem. I had found advice to disconnect the battery, the power supply, then hold down the power key for a few moments. In both cases the hardware clock had been reset to zero, and macOS refused to boot.

After some yahoogling (duckduckgoing) I came across a simple solution. This particular computer had been running with no battery, and therefore the hardware clock was reset to zero, and Mac OS X had a test against that condition.

We've discussed elsewhere the process to install Mac OS X onto a computer, and transfer information from an old drive. It's during that process when the above message appears. A couple steps prior is where you can take action to correct the problem.

At this step, click on Terminal ...

Then change the operating system date.

When running this particular Terminal session, you are ROOT meaning you can change anything on the computer. Normally we type "date" at the command line just to find out the current day/month/year/time. But, the date command can be used to change the time registered in the system clock.

As I said above, for this particular computer the system clock had been reset to zero because the battery pack had been changed. In fact, the computer had run without a battery for many months because the old battery had gone bad.

As you see on the screen, the date had been January 1, 2001. I then changed the system date to the current time as of the writing of this posting.

To understand the second command, go to a terminal window and type "man date".

In the synopsis section you'll see this as an option for the "date" command:

     date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss]

That's a little obtuse, but further down the manpage is this key:

The canonical representation for setting the date and time is:

           cc      Century (either 19 or 20) prepended to the abbreviated year.
           yy      Year in abbreviated form (e.g., 89 for 1989, 06 for 2006).
           mm      Numeric month, a number from 1 to 12.
           dd      Day, a number from 1 to 31.
           HH      Hour, a number from 0 to 23.
           MM      Minutes, a number from 0 to 59.
           ss      Seconds, a number from 0 to 61 (59 plus a maximum of two leap seconds).

In other words, the date code for this purpose is month-day-hour-minutes-year ... hence, that's what I entered and it changed the system date to match.

Afterward I closed the Terminal window and was able to successfully install Mac OS X on the computer.

About the Author(s)

(davidherron.com) David Herron : David Herron is a writer and software engineer focusing on the wise use of technology. He is especially interested in clean energy technologies like solar power, wind power, and electric cars. David worked for nearly 30 years in Silicon Valley on software ranging from electronic mail systems, to video streaming, to the Java programming language, and has published several books on Node.js programming and electric vehicles.