Using my Windows 10 64b platform I am unable to open a PCB file
created by a friend who uses a Linux>Obuntu>Mint 64b platform. We are
both running the most resent stable release of Kicad (4.0.6). I get a parse
error that refers to line 193 offset 6 which is a blank LF line. It refers to line
193 which follows a net_class Default statement block. The message
suggests I need to update my Kicad version however my version is the most
recent stable version.
I am able to open the Kicad example project pcb files OK which
suggest there is a subtle difference within the pcb file generated by the
Linux build of Kicad.
I would like to attach the pcb file but as a new user I am blocked
here for doing that on this forum. I have inserted the file header as text
below which may provide a clue.
Please provide me some clues towards fixing this - thanks in advance!
This can not be the complete file. (host it on any cloud storage and provide a link. Examples: google drive, dropbox, âŚ)
Are you sure your friend is on kicad stable? Is it possible they use a nightly build? Make them check via help->copy version information. (or help->about kicad) It needs to read version 4.0.x (where x is less than or equal to 6)
My understanding is that it is shown on the download site for Linux Ubuntu as the most recent stable release which I understand is 4.0.6 for Windows. I wonder why it has a BZR build number rather than 4.0.6. Should the Linux Ubuntu build also show 4.0.6 as the version number? What is a BZR version - does it refer to a pre-release version?
In any event it seems odd that older Kicad pcb files are not compatible with more recent software releases.
the developers keep KiCAD compatible within stables⌠so 4.0.x can (should be able to) all read their respective files, no matter who made them. Thatâs because the stables only receive bugfixes, not feature additions.
Any other version of KiCAD doesnât obey to that rule - especially not the nightlies - as they implement new features that are able to break legacy things by introducing new things. That is on purpose and with the manpower available the most efficient way of developing KiCAD.
BZR xxxx or revision xxxxxxxx are nightly builds which break stuff.
The only way to exchange files there is to use the same version or manually ârepairâ incompatibilities.
Your problem (or KiCADs) is the differential pair gap definition. 4.0.6 doesnât know that.
If you open the file in a good text-editor (notepad++ in Win) and compare a kicad_pcb from your 4.0.6 (any will do really) with the nightly file you should be able to work out the discrepanciesâŚ
Many thanks for the explanation and file analysis! We have it working now. There are just so many versions available for download for various versions of platforms the download file selection, especially for Linux, is a bit confusing. Although hindsight is 20:20 it seemed easy to end up on the path to the development downloads instead of the stable releases. Without the knowledge that BZR version prefix stands for nightly releases it didnât seem clear that we were not using the latest stable build for Ubuntu as we thought we were.
Normally even on linux, only the stable release is available within the normal repositories available for the package manager.
The nightly builds require the installation of a special repo.
On the download pages the descriptions differentiates clearly between stable and nightly. (Yes it could be communicated better that the nightly builds are not compatible with stable. They are not even compatible to them selfes sometimes.)
Looking back at the https://kicad.org/download/linux-mint/ download site which comes up with a Google search it seems very clear now. I think a clear understanding that the Linux build should show the version 4.x.x in the title bar might have helped me. Somehow I jumped to the conclusion that the BZR xxxx version was probably used to differentiate between Linux distro builds. What added to the confusion is that this particular BZR version number referred to an August 2016 date. When I tried to open the file under Windows the error message stated I needed a new version but I had the latest already. If the BZR version had a more recent date than my release that might have been a clue for me. Possibly a note that describes that a BZR xxxx or revision xxxxxxxx version number should not be used for a project might have also helped.
All is well that ends well. I think this huge and excellent effort has resulted in a wonderful electronics design CAD program - congratulations to all those involved in the development of KICAD!!!
Search for that particular BZR version and you get several hits for projects uploaded on GitHub.
Sharing projects created with Nightly versions is dangerous.
BZR nnn is a Bazaar revision number, Bazaar is a SCM supported by Launchpad. Since the revision number is unique, it was a handy way to tie a build to an exact source baseline.
So a previous release of KiCad was BZR 4022, nightly builds took on some other arbitrary but unique number.
However, now KiCad source is in git (but still on Launchpad), git has no concept of revision number, only a rather long hash value. Other ways to identify a source base line are by date, or a shortened git hash.
Since 4.0.0, I think all release builds are tagged 4.0.x, and dev builds tagged with a date and/or git hash.
tldr; BZR xxxx just means it was built when source was in Bazaar. No BZR number means it was built with source in git. To determine whether it was a release build or dev build, requires further analysis of the version string.