Working with Keyman Developer 10.0.1113.0 , I’ve been coming into this message:
“Keyboard with ID ‘gff_amharic’ is included with two differing versions: ‘1.6’, ‘’. The keyboard versions must be consistent.”
I’ve gone around and added 1.6 everywhere I can find a “version” type field but can’t get away from the message. The message itself would be more helpful if it indicated where the differing versions were found.
In the message text, are the version numbers in quotes always from the same sources? Which?
That message is coming from the package compiler. It suggests that there is a .kmx and a .js version of the keyboard in the package, and that one of them does not include a keyboard version.
However, 10.0.1113.0 is a beta release, and there were a number of issues addressed before the 10.0.1200.0 stable release, including some to do with the package keyboard metadata harvesting, so I suggest you upgrade to the latest stable version and try again.
(The version numbers in the message could be reported either way).
Thanks @Marc , I’ve changed to KM Developer 10.0.1201.0 (stable from website) and have the same issue.
The .kmn file has the version setting statement:
the .js file (generated from the .kmn) has the corresponding:
So they appear to be in sync. The .kps file uses <FollowKeyboardVersion/> . If I later remove the version number within the tags under <Keyboards><Keyboard> , the number 1.6 is inserted back during package compile. Where else can I look for a missing version setting?
Looks like somehow the .kmn didn’t have a version in the .kpj project file. Setting it with
did the trick.
I’d like to understand why (a) the .kmn didn’t have a version number in the .kpj project file, and (b) why the project file metadata broke the .kps build. The .kpj metadata should not be relevant to the .kps build. Sadly, there’s more to figure out here…
Is it possible to get a copy of the full set of files that are failing to build so I can repro here (zip and email - I think you have my email address, or attach in a PM)?
@Marc I will prepare it for you.