← Back to team overview

kicad-developers team mailing list archive

Re: Global Search Paths and fp-lib-table Entries?

 

Why use the legacy footprints for OSX? We are working hard on a set of
improved ones. They are miles ahead of the old ones now. If you build the
github plugin and use the corresponding fp-lib-table
(kicad-library/template/fp-lib-table.forgithub), it should work straight
away.

On Mon, Nov 3, 2014 at 8:53 AM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
wrote:

> On 11/3/2014 3:22 AM, Cirilo Bernardo wrote:
> > On Mon, Nov 3, 2014 at 6:19 PM, Bernhard Stegmaier
> > <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> wrote:
> >
> >     OK, got it.
> >     However, I am still trying to get some kind of “best practice” on
> >     how to configure things.
> >
> >     So, for pcbnew search stacks are already legacy.
> >     That is, as a starting point for pcbnew I have the fp-lib-table file
> >     which lives in the preferences folder (which is
> >     ~/Library/Preferences/kicad on OSX).
> >     Via the fp-lib-table I reference all my modules/footprints - I can
> >     use absolute paths, environment variables, etc. as I like.
> >     The 3D-models referenced by modules/footprints are also always
> >     absolute paths but may contain environment variables.
> >     Correct?
> >
> >
> > Not quite correct. For 3D models the code will use the environment
> > variable KISYS3DMOD in place of the legacy SOMEDIR/modules/packages3d -
> > this is the only environment var which the code will check and this is
> > hard-coded. If there is no environment var set then the code attempts to
> > look in the legacy default paths; I don't have KiCad source installed on
> > the computer I'm sitting at so I can't check what that path is of OSX.
> > If you attach a model which is not in the default 3d model search path,
> > then the full path will be recorded. If the model is in the default
> > search path then a truncated path is recorded, which I think is bad
> > behavior but this was the legacy behavior and it will persist until
> > someone finds time to fix things.
> >
> >
> >     How am I supposed to configure libraries for eeschema?
> >
> >
> > Not sure - it's been a long time since I looked at that part of the code.
>
> Eeschema will use the path search stack to find component libraries.
> Eeschema will append /library to each valid path in the search stack so
> as long as your base path is in the search stack and your component
> libraries are in base_search_path/library then they will be found.  Of
> course you can also configure the library paths in your project.
>
> >
> >
> >
> >     I currently seem to have two working options:
> >     (1) Use default kicad.pro <http://kicad.pro> to point it to your
> >     library path and your libraries. E.g.:
> >     [eeschema]
> >     LibDir=~/…somewhere…/Library
> >
> >     [eeschema/libraries]
> >     LibName1=AtmelCorporation
> >     The default kicad.pro <http://kicad.pro> seems to be found in
> >       …/templates
> >     with “…” again being one of the search stack paths (which in
> >     contrast to pcbnew/fp-lib-table is at least on OSX not the
> >     preferences path).
> >     (2) Just put your libraries to
> >       …/library
> >
> >     In general, is there anywhere a list of “supplemental” files
> >     (libraries, 3d-models, footprints, various kinds of templates,
> >     scripts, xml-Files for BOM, etc.) and where they should be located?
>
> base_search_path/share/kicad/library => Schematic component libraries.
> base_search_path/share/kicad/module => Pcb footprint libraries.
> base_search_path/share/kicad/module/packages3d => 3D models libraries.
> base_search_path/share/kicad/template => project templates.
>
> >
> >
> > No. In principle some global configuration files should be used to
> > enumerate search paths in a manner similar to the footprint management
> > code, but when that will happen is anyone's guess. At the moment we all
> > tolerate the current nuisances of the legacy behavior.
> >
> > - Cirilo
> >
> >
> >
> >     Regards,
> >     Bernhard
> >
> >     On 03.11.2014, at 00:33, Wayne Stambaugh <stambaughw@xxxxxxxxxxx
> >     <mailto:stambaughw@xxxxxxxxxxx>> wrote:
> >
> >>     On 11/2/2014 4:25 PM, Bernhard Stegmaier wrote:
> >>>     Hi all,
> >>>
> >>>     I am still trying to find out/optimize where what is being loaded
> >>>     from (especially for OS X).
> >>>     In common/kiface_i.cpp the global search stack for pcbnew is
> >>>     initialized with
> >>>      …/modules
> >>>      …/modules/packages3d
> >>>     with “…” being some OS specific base paths.
> >>>
> >>>     The global search stack seems to be used for eeschema libraries
> >>>     and I also found a piece of code which made me think that it is
> >>>     also used for loading 3D-models.
> >>>     However, fp-lib-table doesn’t seem to use it but only the path
> >>>     given for a library in fp-lib-table itself (maybe with some
> >>>     environment variables).
> >>>
> >>>     Am I missing something or does loading of modules currently
> >>>     ignore the global search paths?
> >>
> >>     You are not missing anything.  This is by design.  The
> >>     fp-lib-table uses
> >>     fully qualified path either by definition or using environment
> >>     variables.  The path search stack has been a thorn in our side since
> >>     I've been with the project.  The goal is eventually define the
> >>     paths by
> >>     using kicad config settings and/or environment variables so the
> search
> >>     path code goes away.
> >>
> >>>     If I have something like
> >>>        (lib (name Conn)(type Legacy)(uri Connectors.mod)(options
> >>>     "")(descr "Connectors"))
> >>>     in my fp-lib-table and Connectors.mod is in my
> >>>     …/modules
> >>>     folder it doesn’t get loaded...
> >>
> >>     Connectors.mod will not get loaded unless it's located in the
> current
> >>     working directory.  You should define a full path or use an
> >>     environment
> >>     variable as the path to Connectors.mod.  Environment variable are
> >>     platform independent.  Fully qualified paths are not.  Use the
> >>     environment variable KISYSMOD to define the default footprint
> library
> >>     path and add (uri ${KISYSMOD}/Connectors.mod) to fp-lib-table.
> Better
> >>     yet, use the github plugin.  There is already an fp-lib-table file
> >>     populated for github in the kicad library project on github.
> >>
> >>
> >>>
> >>>
> >>>     Regards,
> >>>     Bernhard
> >>>     _______________________________________________
> >>>     Mailing list: https://launchpad.net/~kicad-developers
> >>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>     Unsubscribe : https://launchpad.net/~kicad-developers
> >>>     More help   : https://help.launchpad.net/ListHelp
> >>>
> >>
> >>
> >>
> >>     _______________________________________________
> >>     Mailing list: https://launchpad.net/~kicad-developers
> >>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>     Unsubscribe : https://launchpad.net/~kicad-developers
> >>     More help   : https://help.launchpad.net/ListHelp
> >
> >
> >     _______________________________________________
> >     Mailing list: https://launchpad.net/~kicad-developers
> >     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >     Unsubscribe : https://launchpad.net/~kicad-developers
> >     More help   : https://help.launchpad.net/ListHelp
> >
> >
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References