← Back to team overview

kicad-developers team mailing list archive

Re: Best way to set up a canonical library path ?

 

Henner,

There are two build configuration variables that control these paths in
source.  If you do not specify DEFAULT_INSTALL_PATH, then
DEFAULT_INSTALL_PATH gets set to CMAKE_INSTALL_PATH.  The default value
of CMAKE_INSTALL_PATH is platform dependent.  DEFAULT_INSTALL_PATH was
added for packagers who wanted to install the libraries in a different
root path than CMAKE_INSTALL_PATH.  If all of your CMAKE_INSTALL_PATHs
are set to the same location when you build kicad and install the symbol
libraries and 3D models, then everything should point to the correct path.

As for schematic libraries, they still require you to manually configure
the library paths in Eeschema using the library configuration dialog.
Hopefully in the next stable release, we can resolve this issue so that
you don't have any manual configuration to perform.  The other option is
to modify your default kicad.pro file with the correct symbol library path.

On 6/6/2015 6:35 PM, Henner Zeller wrote:
> Hi,
> So while developing and setting up a new system, it is not really
> clear to me how to set up all the paths. Right now I can't seem to
> find a simple way, only something that feels a bit too complicated.
> 
> 1) Installing libraries
> (I do _not_ use the git-plugin but rather prefer local installation)
> 
> To get a fresh setup of libraries, I am running scripts/library-repos-install.sh
> I am doing that with a custom path (WORKING_TREE=/usr/local/share/kicad)
> 
> under $WORKING_DIR, it creates library-repos, under which it unpacks
> 
>   $WORKING_TREE/library-repos/kicad-library
> with schematic symbols and 3d packages
> and unpacks all pretty directories in there as well:
> 
>   $WORKING_TREE/library-repos/*.pretty
> 
> so far so good.
> 
> 2) setting the environment variables
> 
> Now running a freshly compiled KiCad does of course not find the
> libraries. In fact, without any environment variables present, it
> apparently assumes these:
> 
> KIGITHUB=https://github.com/KiCad
> KISYS3DMOD=/usr/local/modules/packages3d
> KISYSMOD=/usr/local/modules
> 
> (which it writes to ~/.config/kicad/kcad_common). This seems to be
> bogus to me; I can imagine that it extracts that from the compile
> PREFIX somehow, but I'd expect it to append a share/kicad or something
> to it.
> 
> After copying the fp-lib-table and setting the enviroment variable as
> suggested in the script
> 
> cp $WORKING_TREES/library-repos/kicad-library/template/fp-lib-table.for-pretty
> ~/.config/kicad/fp-lib-table
> export KISYSMOD=$WORKING_TREES/library-repos
> 
> .. eeschema still does not find the libraries.
> 
> for that, I have found that I can set KICAD to that directory
> export KICAD=$WORKING_TREES/library-repos/kicad-library
> 
> Now, 3D viewing _still_ does not work. Yet another environment
> variable has to be set
> export KISYS3DMOD=$WORKING_TREES/library-repos/kicad-library/modules/packages3d
> 
> 3) Findings
> Kicad only works with the libraries with a little of manual-work.
> Three environment variables have to be set to get going. Given
> WORKING_TREES as the chosen location in the install script, these are
> the environment variables:
> 
> export KICAD=$WORKING_TREES/library-repos/kicad-library
> export KISYSMOD=$WORKING_TREES/library-repos
> export KISYS3DMOD=$WORKING_TREES/library-repos/kicad-library/modules/packages3d
> 
> 4) Question
> Am I am doing something wrong here, or is this really needed this way ?
> 
> 5) Suggestion
> I know I have not been actively developing recently, so I can't really
> complain. But I would like to see it working this way:
> 
>     - We have a defined standard layout of how libraries are checked
> out/installed locally. Say in $PREFIX/share/kicad. The install script
> does already something like that, so that could be the defined
> standard way (though some re-structuring might be useful).
>     - There is only _one_ environment variable to be set, pointing to
> the root of this directory (KICAD_SYSTEM_LIBS or something)
>     - This environment variable is pre-set to $PREFIX/share/kicad (or
> to the eqivalent path on where typically data files reside on other
> platforms).
> 
> Would this be a good goal before a new, stable release ? I think it
> will help users and make software-packagers happy.
> 
> Cheers,
>   Henner.
> 
> _______________________________________________
> 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
> 



References