"=" expected in version 5.1.12

I’m having a weird problem pulling up a schematic using an old version 5.12. I’m currently working on a new design using KiCad 8.0, but wanted to look at a schematic of a board created in 5.12 to see what part I used for a portion of the circuit. I have Kicad 5.12, 6.0 and 8.0 all installed on the same machine. When I try to pull up the schematic that was created in 5.12 in that version, I get a “=” is expected for seemingly every line in the file. I tried going to some backups but got the same errors and the schematic wouldn’t pull up. The actual pc board pulls up just fine without errors. I never bothered to even create a pdf for the schematic so it would be really difficult to recreate the schematics (there’s 3 or 4 boards in the project). Just to see what happened if I tried pulling up the old schematic in v8.0, I gave that a shot and although it warned me about the schematic breaking and recommended a bunch of symbol conversions, I ignored that and it actually seemed to pull the schematic I was wanting to look at up correctly as far as I could tell, so I immediately created a PDF reference file just in case. But I would like to figure out how to fix this so I can pull up these old schematics in 5.12 without having to do all the library work to convert everything to 8.00. Any ideas what all the “=” expected errors are all about? Thanks.

1 Like

I think you actually mean 5.1.12. Version numbers have three parts separated by two dots. Similarly there’s no 8.00, but there is 8.0.0 which is out of date.

Can you post maybe the first 10 lines of the .sch file?

If you write 5.12 instead of 5.1.12 than you use first and last number to describe version.
So when you write 8.0 we should understand that 0 is also last number so you are using V8.0.0.
I have even not downloaded this version as N.0.0 versions have always lots of bugs.
Why you use this buggy version while 8.0.5 with half year of bug fixing is available?

Sorry, that was a bit lazy of me. I was going by what it was showing in the Windows 10 start for the version. The actual version in the about is (5…1.12)-1 for the version that complains about missing “=” signs on seemingly every line of the schematic. The version I am using now is 8.0.5. About the only problem I have experienced with it is sometimes the Footprint editor filter gets messed up and I can’t see part lists in the libraries but I can still edit footprints if I know the exact filenames and paste it in. It has happened twice but eventually this seems to fix itself though on another day.

Back to the original issue with the old schematics: each error line is basically the same other than the line number and looks like this:

(time stamp): file ‘(path\name).sch’, line XXXX: ‘=’ expected.

XXXX starts at line 1 and in this particular schematic goes up to 1697. Every single line has this error.

If you post your .sch file, or the affected parts of it, maybe we’ll be able to check.

You should be able to open it in Notepad.

For me what you write now means that using 5.1.12 you are trying to open a file, while from first post I understood that you are trying to open it using V8.
I can’t be sure if you are not trying to open KiCad V8 file using KiCad V5.

I think it’s clear . . . the OP is trying to open a file that was created in 5.1.12 in 8.0.5

No, the v5 schematics opened fine in 8.0 according to this:

8.0 shouldn’t save schematics with .sch extension and the OP is trying to open a .sch file, if the information is correct.

It was clear in first post. But now OP says that version having 5.1.12 in the about is the one that complains.

Ah OK . . . . . . . .

Yes, the version these project(s) were created in (5.1.12)-1 is giving these missing “=” errors on every line when I try to pull up the project in this version (5.1.12)-1. I had never experienced this before and the last time I pulled them up in 2023 had no problems whatsoever. Every schematic that I have tried that was created in this version does the same thing, complaining about the missing “=” signs.

Version 8.0.5 is able to pull up these older schematics but gives warnings about library symbols and breaking the schematic unless I do some conversion work. But I was not planning to update these files to use the latest version; I want to be able to use the original version to access the schematic in case minor changes are ever required. The PCB pulls up perfectly in (5.1.12)-1 without error.

Do KiCad’s demo projects also give this error?

KiCad V5 is ancient. V6 took three years to develop (but is not far in time removed from V5.1.12) and it has huge improvements. And now with V8 we’re more then two and a half years further yet again.

Even for commercial support at: kipro-pcb you have to pay extra for “legacy” versions, (And they even consider V6 as legacy).

KiCad V5 is now so old that nearly everybody has forgotten most of it’s peculiarities.

Euhm, no. I read:

I guess that your schematic was once opened / saved in a newer KiCad format. Are you sure yourself? (Do note that all of KiCad’s files are human readable, and they also do have (somewhat obfuscated) version info in the first (or first few) lines. So you can verify file versions by opening it in a text editor.

Ignoring the Rescue / update dialogs is not a good idea. It’s pretty bad actually.

There really is not much “library” work to do for an upgrade for a KiCad V5 project to V8. If you get though the import / rescue process and the schematic looks OK (i.e. you don’t have the [??] symbols (which is also fixable, no need to panic), then you are already 90% of the way. There is no real need to do further library work. One of the bigger differences with newer KiCad versions is that ERC and DRC have become more strict. Errors that were never flagged before do get flagged now, and it also triggers violations that are real for some people, but are irrelevant for other people.

If you just do the import into V8 and then disable all the extra / new DRC violations about missing or broken library links, then your new KiCad V8 project is already more robust then your old KiCad V5 project. KiCad V5 and earlier depends on external libraries (usually the [project]-cache.lib and [project]-rescue.lib files, maybe more too.

I think that you have reached the point where upgrading to a recent KiCad version is less pain then attempting to stick with the old KiCad V5, and it’s mostly FUD that is holding you back. Once you are familiar with updating a project to V8, it can be done in a few minutes.

Addendum:

It’s common and I understand the workflow of backing up old projects and old software together in order to do occasional maintenance. But if you did that, I do not understand why your old V5.1.12 suddenly starts complaining about those “=” signs. Are you sure it’s from an unmodified backup from that era?

I have completely stopped wit attempts to keep old KiCad versions alive. KiCad has made a quite strong statement about always maintaining compatibility with legacy file formats, and when any maintenance is required on one of my old projects I think I started using KiCad in 2011) I always start with converting the project to the current KiCad version. Because KiCad is FOSS, you also don’t have the hassle with some company taking your projects hostage or difficult management of key files to get your software working.

KiCad v6+ saves in .kicad_sch, it doesn’t touch the .sch file.

1 Like

The reason I didn’t allow v8.0.5 to do any type of conversion is I didn’t actually want to do the project conversion at this point; it’s not an active project. I just wanted to check part of a design to look at a part number for the current project that I’m working on. I created a simple test project in (5.1.12)-1 and it is able to pull up the schematic just fine. And the first portion of the .sch file looks the same as the old ones:

EESchema Schematic File Version 4
EELAYER 30 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8

Since the error happens in every line (and the error is very consistent with all the old schematics), I’m convinced there is no file corruption but somehow the old KiCad (5.1.12)-1is interpreting them differently than it did before. I don’t even believe the error of missing “=” in every line of the schematic is an accurate error. Maybe even a Windows 10 update that happened over the last year or so is behind this, I have no idea. I also tried a reinstall of (5.1.12)-1 overwriting the original files and it made no difference.

But yeah I’ll have to update to the latest KiCad if I ever want to modify any of the old projects. I didn’t see any ?? symbols (which I have seen before and fixed) so it’s probably not too much effort, other than having to do it for three board schematics in the project. But my thinking was that old projects *should" continue to keep functioning if you haven’t done anything with the project files since they were last functioning properly and left the CAD program intact so I still think this is pretty bizarre that something has changed anyway. So this will be a future effort to convert these old projects to the latest KiCad. Thanks for all the input.

So do KiCad’s demo projects also give this error?

Well, yes, you should still be able to open a KiCad V5 project in KiCad V5.1.12 and work on it like it’s 2021.

Biggest problem is that your thread got very confusing, first because of mistyped version numbers (I just closed the browser tab because of that first). And also because of all those other KiCad versions you mentioned, and what you did with them. If it’s only about opening a KiCad V5 project in KiCad V5, then all that is simply not relevant.

De-installing and re-installing a program rarely has any influence. It’s mostly “windows thinking” that believing that doing the same things two or more times on a computer would get you different results each time.

Renaming KiCad’s configuration directory does have a big influence. If KiCad can’t find it’s configuration directory, it creates a new one with defaults. Removing KiCad and re-installing it without touching the configuration directory just makes KiCad use the same settings as before the reinstall. It’s also safe to delete this configuration directory, but then you can’t restore it, nor use a sourcecode merge program to search for differences.

Try this:

  1. Rename KiCad’s configuration directory (If you can’t find it, then post what OS you use).
  2. Extract a fresh copy of the old project.
  3. Open it in KiCad V5.1.12.
  4. Make a screenshot of the errors you get, and exactly when you get them.
  5. Post the screenshot.

That should exclude some common error sources and any influence from newer KiCad installs.

Opening one of the demo project is also a good diagnosis point. Do note that if you renamed (or deleted) KiCad’s configuration directory, It prompts you with the same quiestions about generating (default) library tables as it did once when you first installed KiCad. Doing this with a demo project avoids any confusion that these questions / settings may be related to your own project (they are not).

It’s usually better to have more info than less. I guess it could be structured better.

Actually re-installing is a good thing because data on disk can get damaged over time, or there could’ve been some other software messing with the Program Files directory.