This was one that was wracking my brain, and then I came across a post that explains the issue and proposes a resolution.
In a nutshell, there's a hidden list at the top-level site of a site collection named Relationships List. This list is an internal list that stores all of the metadata involved in the creation of Variations. Apparently during the migration (in this case I was doing a Content DB migration/upgrade) this list wound up not migrating correctly, and it didn't have the necessary GroupGuid column. The article says that you can download a tool from codeplex to perform the migration of this list, however, given where I was doing this work, external tools weren't an option. So...
Enter PowerShell!
(I'm really liking PowerShell more and more...granted I'm a devhead at heart, but you're able to quickly address issues that occur in your implementation in a quick manner, with repeatable solutions)
So...how to do this? Well, deleting/migrating the list wasn't really an option, and given that the field type of the column isn't available through the UI (it's a GUID, as well as being a hidden column), I turned to PowerShell to create it. So...let's take a look...
Basically, I took a look at the list in a working site collection and grabbed its properties, and used it to create a working script to add the missing field to the site collection with the issues. It's relatively smiple...grab your web, grab your list, create the field, add it, modify some properties, and you're good to go. Running the script enabled the site collection that had the above error work right away. So, take a peek at the below, and enjoy. - M
# load up SP PS Snappin
Add-PSSnapin Microsoft.SharePoint.Powershell
# get web
$web = Get-SPWeb -Identity http://websiteUrl
# get list
# note that the code below isn't optimized
# but just to get the list quick 'n' dirty
$list = $web.Lists["Relationships List"]
# create Guid SPFieldType field
$guidField = [Microsoft.SharePoint.SPFieldType]::Guid
# add the created field to the list, the name 'GroupGuid' is necessary
# and it's required
$list.Fields.Add("GroupGuid", $guidField, $true)
# once added, let's grab it as a SPField
$groupGuidField = $list.Fields.GetField("GroupGuid")
# set its ShowInEditForm property to False
$groupGuidField.ShowInEditForm = $false
# add an index on this field
$list.FieldIndexes.Add($groupGuidField)
# cleanup
$web.Dispose()
# remove SP PS Snappin
Remove-PSSnapin Microsoft.SharePoint.Powershell