Unable to create new footprints for components


Hey guys,

I’m sure this is a quick and easy one. In fact, I used to know how to do this…

I am following the manual, selecting my active library to “connect”, and when I lay something down and hit “save in active library”, I get the following message:

In case the picture doesn’t work, it says: IO_ERROR: Unable to rename tempfile ‘C:\Program Files (x86)\KiCad\share\modules\con2FD.tmp’ to library file ‘C:\Program Files (x86)\KiCad\share\modules\connect.mod’ from f:/kicad-launchpad/stable/stable_2013-07-07_BZR4022/pcb/legacy_plugin.cpp : Save() : line 4144

Can someone help?


I’m a Linux guy but I’m guessing you don’t have permission to write to the things in Program Files. You have to create a new library in your user space to be able to save to it.


Well I have a lot of old modules saved under “connect”. Wish I knew how to do that again!

I use the “Create new library and save current module” option, and it takes me to a dialog box where I can choose the path for the .mod file, which is a folder outside of Program Files. When I hit the “save in active library” button though, I get the same error…

I still think I should be able to save in the “connect” library…I used to make new footprints all willy nilly :confused:


You need to create libraries out of the upgrade path regardless or you lose your changes when you upgrade. When you say you get the same error, do you mean the same including the path? You might have created a new library but did you make it “active”? Sadly dealing with the libraries and how they are instituted is one of the biggest problems for users right now.


It’s sad because I used to know this. But the error gives the same file paths, yes. I click for “set active library” but my new test library doesn’t show up, only the ones from the original program files path shows up


I’m upgrading to the newest version. Maybe a fresh start is what I need…


I don’t remember the order cuz I fumble through it, but you might have to create, add, set active? Since the structure isn’t the same from schematic capture to pcb creation it does get confusing. You will get some better answers from more knowledgeable people soon. Looks like I’m the only one working the late shift. :wink:


I seem to remember that you started with “new module”, then hit “set active library”, then “save in active library”. I have a bunch of custom logos and RF stubs that were sized for my application in the “connect” folder and I never changed the configuration of my PC since then. I did move to a new apartment though, haha. But the thing I liked about PCBnew was that it seemed to be so straightforward

Ha! Here’s to the night owls…damn day job


In the beginning I got frustrated. Since all the files are human readable I actually started copying sections from library to library. I now have all sorts of ugliness laying about that I really should clean up.


It’s best not to save custom footprints in standard libraries like “connect”. Upgrading is always liable to overwrite them. Create your own .pretty directory in Users


Can I ask which ‘Users’ path or directory you’re referring to?


Ok here’s a question - I hit the “create new library” button to make a new footprint. But it’s not selected as my active library so I can’t save the part. I got to hit “select active library” but my new library doesn’t show up. I don’t understand how to save my new footprint, and the manual isn’t helpful.

Also, where can I access the Library Tables? There I can make the “connect” library editable (not just Read Only)


On Windows I create a directory C:\Users\MyUserName\KiCad. On modern Windows your own user directory is the only place you can write to at all for a non-admin user and even if you are an admin user, you will be nagged for permission to write


I see. That’s where all my project files are for sure. But my problem is:

How do I set the active library to a library I’ve created? All I see with that option are the standard Global Libraries.
If I save a footprint to an external (non-Global Library), how do I pull it in PCBnew?

I’ve only had luck with this in older version of KiCad where I modified the “connect” library


UPDATE: I’ve modified the fp-lib-table using Notepad++ to enter in my own custom library path. It now does shows up when I go to select “Active Library” and it does indeed set this library as active. But when I try to write to it, I get "IO_ERROR: option ‘allow_pretty_writing_to_this_dir’ for Github library ‘/test.pretty’ must point to a writable directory ending with ‘.pretty’ from github_plugin.cpp : cacheLib() : line 399


1.) I wrote “github” under the library type because I don’t know what other types and the EDA is expecting something to parse

2.) the local path points to a folder “/test.pretty” and is acknowledged by the error, but because it is looking for something on github (?), it won’t acknowledge it

How can I set the library type to something local on my PC? Am I going down the right path, or over complicating this?



Okay, I think I finally got it. Here’s what I did:

1.) Open the Footprint Libraries Wizard
2.) Select ‘Files on my computer’ and find the .mod file that is accepted (clearly not fully understanding this…)
3.) Click ‘Next’ on the ‘Review and confirm changes to the libraries’ dialog
4.) Click ‘Finish’ in the ‘Where do you wish the new libraries to be added’ dialog

I can now pull my own custom footprints from the PCBnew editor.

If someone can clarify, it would be greatly appreciated. When I tried to use the wizard to create a custom library that wasn’t named ‘test’, it would accept my ‘.mod’ files as acceptable/clickable…


.mod? Are you using the old pre 4.x stable?

In the current kicad version you should have .pretty folders (the libraries) that contain .kicad_mod footprints.