KiCad を Ver.5 にアップグレードしたら フットプリントライブラリが読めなくなった

KiCad Ver.4 から Ver.5 にアップグレード。

Ver.4 時代に作ったプロジェクトを開くことはOkだが、過去に使っていたフットプリントライブラリが読めなくなっていた。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/fe6c419d-968d-e809-c0ce-f4c9a2b13d87.png)

# 環境

Ubuntu Linux 16.04
KiCad4は、Ubuntu 標準のパッケージシステムに入っていたもの。
KiCad5は、5.0.2 Stable Release を以下のようにしてインストール。

```

sudo add-apt-repository --yes ppa:js-reynaud/kicad-5
sudo apt update
sudo apt install kicad
```

# 調査

Pcbnew - Preferences - Manage Footprint Libraries... で状況を確認。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/0c5b82d0-db2c-b20d-e29d-7bcca1ce1f78.png)

ここの、

```

Button_Switch_ThroughHole
```

となっているところ。元々は

```

Buttons_Switches_ThroughHole
```

となっていた。どうやら複数形を単数形に直さないといけないので、Library Pathの該当部分をクリックしてパス情報などを書き換え。でもまだ該当フットプリントは読ていない。fmm...


# 設定ファイル

まずは設定ファイルをどこにあるか調べてみた。
これらしい。


```

~/.config/kicad/fp-lib-table

```

# KISYSMOD


ライブラリはどうなっているか調べてみた。KISYSMODは /usr/share/kica/modules/ になっているので、

```

$ ls /usr/share/kica/modules/
Battery.pretty                           Connector_PinSocket_2.54mm.pretty  Package_QFP.pretty
Button_Switch_Keyboard.pretty            Connector_RJ.pretty                Package_SIP.pretty
Button_Switch_SMD.pretty                 Connector_SATA_SAS.pretty          Package_SO.pretty
Button_Switch_THT.pretty                 Connector_Samtec.pretty            Package_SON.pretty
Buzzer_Beeper.pretty                     Connector_Samtec_HLE_SMD.pretty    Package_TO_SOT_SMD.pretty
Calibration_Scale.pretty                 Connector_Samtec_HLE_THT.pretty    Package_TO_SOT_THT.pretty
Capacitor_SMD.pretty                     Connector_TE-Connectivity.pretty   Potentiometer_SMD.pretty
Capacitor_THT.pretty                     Connector_USB.pretty               Potentiometer_THT.pretty
Capacitor_Tantalum_SMD.pretty            Connector_Wago.pretty              RF_Antenna.pretty
Connector.pretty                         Connector_Wire.pretty              RF_Module.pretty
Connector_Audio.pretty                   Converter_ACDC.pretty              RF_Shielding.pretty
Connector_BarrelJack.pretty              Converter_DCDC.pretty              Relay_SMD.pretty
Connector_Card.pretty                    Crystal.pretty                     Relay_THT.pretty
Connector_Coaxial.pretty                 Diode_SMD.pretty                   Resistor_SMD.pretty
Connector_DIN.pretty                     Diode_THT.pretty                   Resistor_THT.pretty
Connector_Dsub.pretty                    Display.pretty                     Rotary_Encoder.pretty
Connector_FFC-FPC.pretty                 Display_7Segment.pretty            Sensor_Audio.pretty
Connector_HDMI.pretty                    Fiducial.pretty                    Sensor_Current.pretty
Connector_Harwin.pretty                  Filter.pretty                      Sensor_Motion.pretty
Connector_Hirose.pretty                  Fuse.pretty                        Sensor_Pressure.pretty
Connector_IDC.pretty                     Heatsink.pretty                    Sensor_Voltage.pretty
Connector_JAE.pretty                     Inductor_SMD.pretty                Socket.pretty
Connector_JST.pretty                     Inductor_THT.pretty                Symbol.pretty
Connector_Molex.pretty                   Jumper.pretty                      TerminalBlock.pretty
Connector_Multicomp.pretty               LED_SMD.pretty                     TerminalBlock_4Ucon.pretty
Connector_PCBEdge.pretty                 LED_THT.pretty                     TerminalBlock_Dinkle.pretty
Connector_Phoenix_GMSTB.pretty           Module.pretty                      TerminalBlock_MetzConnect.pretty
Connector_Phoenix_MC.pretty              MountingHole.pretty                TerminalBlock_Philmore.pretty
Connector_Phoenix_MC_HighVoltage.pretty  NetTie.pretty                      TerminalBlock_Phoenix.pretty
Connector_Phoenix_MSTB.pretty            OptoDevice.pretty                  TerminalBlock_RND.pretty
Connector_Pin.pretty                     Oscillator.pretty                  TerminalBlock_TE-Connectivity.pretty
Connector_PinHeader_1.00mm.pretty        Package_BGA.pretty                 TerminalBlock_WAGO.pretty
Connector_PinHeader_1.27mm.pretty        Package_CSP.pretty                 TestPoint.pretty
Connector_PinHeader_2.00mm.pretty        Package_DFN_QFN.pretty             Transformer_SMD.pretty
Connector_PinHeader_2.54mm.pretty        Package_DIP.pretty                 Transformer_THT.pretty
Connector_PinSocket_1.00mm.pretty        Package_DirectFET.pretty           Valve.pretty
Connector_PinSocket_1.27mm.pretty        Package_LCC.pretty                 Varistor.pretty
Connector_PinSocket_2.00mm.pretty        Package_LGA.pretty                 packages3d

```

なるほど。
Buttons_Switches_ThroughHole は Button_Switch_THT.pretty になっているのですね。
これらを fp-lib-table に反映させる方法は・・・

# 反映

```

cd ~/.config/kicad/fp-lib-table
mv fp-lib-table fp-lib-table_backup_20190227 
```

としてから pcbnew を起動すると

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/93504f09-29ca-68ba-78b3-752ea4944059.png)

となって、

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/56e19684-d934-4c67-72e9-44c09fe54a0e.png)

反映されたみたいです。あとは自作フットプリントライブラリなどを再度追加していけば良い。