I haven’t seen the question before, if I missed it I am sorry.
Installed kicad the first time and I got following error when trying to select an symbols table:
Error reading symbol library table '/usr/share/kicad/template/kicad.kicad_pro'. Expecting '(' in '/usr/share/kicad/template/kicad.kicad_pro', line 1, offset 1.
The file looks like a normal json, nothing weird or corrupted. It seems to me like it was created with the install of the programm.
Installed under ArchLinux from the extra repository.
This file: /usr/share/kicad/template/kicad.kicad_pro is not a “symbol library table”, but a project file (template).
So now the question is: Why does KiCad attempt to open a project file and interpret it as a symbol library table (which has the name sym-lib-table and an S-expression format).
But that was not the question. The question was for the symbol library table.
There is a sym-lib-table file in Kicad’s configuration directory. On Linux that would be ~/.config/kicad/7.0/sym-lib-table and this file lists the global symbol libraries. You can delete or rename the whole configuration directory. If you then start KiCad afterwards, KiCad assumes it is started for the first time and re-creates a default configuration (So if you renamed this directory, you can use a source code merge program such as for example meldmerge to to look for (and merge) changes in the configuration.
Apart from that, each project can have it’s own sym-lib-table (and fp-lib-table) files for project specific libraries.