yaqwsx / KiKit

Automation tools for KiCAD
https://yaqwsx.github.io/KiKit
MIT License
1.49k stars 200 forks source link

Docker unable to open PCB file made with KiCad 8.0.3 #705

Open EvanDorsky opened 1 month ago

EvanDorsky commented 1 month ago

Prerequisites

KiKit version

kikit, version 1.5.1+28.ga8a1405

KiCAD version

Version: 8.0.3, release build

Operating system

macOS Sonoma Version 14.5 (Built 23F79)

Description

I'm running kikit on macOS via Docker. I mounted my KiCad project folder in the Docker image and ran kikit – here is the command and output:

root@8fc737bc3bd4:/mnt/645# kikit separate --source 'annotation; ref: B1' test.kicad_pcb test_b1.kicad_pcb --debug 'trace: true'
An error occurred: KiCad was unable to open this file because it was created with a more recent version than the one you are running.

To open it you will need to upgrade KiCad to a version dated 01/08/24 or later.

Full error text:
Unknown token 'generator_version' in 'test.kicad_pcb', line 4, offset 4.
No output files produced
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/KiKit-1.5.1+28.ga8a1405-py3.10.egg/kikit/panelize_ui.py", line 349, in separate
    board = LoadBoard(input)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 7323, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: KiCad was unable to open this file because it was created with a more recent version than the one you are running.

To open it you will need to upgrade KiCad to a version dated 01/08/24 or later.

Full error text:
Unknown token 'generator_version' in 'test.kicad_pcb', line 4, offset 4.

Here is test.kicad_pcb (a minimal case that causes the error, based on my board file which also causes the error):

(kicad_pcb
  (version 20240108)
  (generator "pcbnew")
  (generator_version "8.0")
  (general
    (thickness 1.6)
    (legacy_teardrops no)
  )
  (paper "A4")
)

Based on my read of the Dockerfile it seems like the image should be running KiCad 8.0, so I'm not sure why kikit can't read my boardfile. Eager to learn what's going wrong and how I can fix it. Thanks.

Steps to Reproduce

  1. Run kikit (docker version) on a .kicad_pcb file created with the 20240108 version of KiCad 8.0.

Command: kikit separate --source 'annotation; ref: B1' test.kicad_pcb test_b1.kicad_pcb

Board file: test.kicad_pcb

(kicad_pcb
  (version 20240108)
  (generator "pcbnew")
  (generator_version "8.0")
  (general
    (thickness 1.6)
    (legacy_teardrops no)
  )
  (paper "A4")
)