possible to use separate build pc?

Asked by Dale Scott on 2015-08-27

Does kicad have to be built on the Windows workstation it will be used on, or can it be built on a separate PC and copied (kicad/bin?) to the workstation pc without having to go through an installer? I.e. does kicad-winbuilder create a "portable" app?

Fwiw, bulding kicad just finished without errors in 3 hours, running in a WIn7 vm on an i7 dual-core Thinkpad T420 running Win 10.

Question information

Language:
English Edit question
Status:
Solved
For:
kicad-winbuilder Edit question
Assignee:
No assignee Edit question
Solved by:
Dale Scott
Solved:
2015-09-03
Last query:
2015-09-03
Last reply:
2015-09-02
Kerusey Karyu (keruseykaryu) said : #1

KiCad itself is a portable application under Windows. You can copy whole 'kicad' directory to another workstation or on removable drive, but you must keep some dependences.

1. You need some DLL's from MinGW. Just copy theese files to the 'kicad/bin':
libgcc_s_sjlj-1.dll
libgfortran-3.dll
libgnarl-4.8.dll
libgnat-4.8.dll
libgomp-1.dll
libobjc-4.dll
libquadmath-0.dll
libssp-0.dll
libstdc++-6.dll
libwinpthread-1.dll

2. You need to edit "runkicad.bat" to refine some env. variables:

@ECHO OFF
SET PATH_WIN=%WINDIR%\System32

SET PATH_KICAD_ROOT=%CD%
SET PATH_KICAD=%PATH_KICAD_ROOT%\bin
SET KICAD=%PATH_KICAD_ROOT%
SET PYTHONHOME=%PATH_KICAD%
SET PYTHONPATH=%PATH_KICAD%
SET PATH_PY=%PATH_KICAD%
SET PATH_MINGW=%PATH_KICAD%

SET PATH=%PATH_MINGW%;%PATH_PY%;%PATH_KICAD%;%PATH_KICAD_ROOT%;%PATH_WIN%;%PATH%

SET KIGITHUB=https://github.com/KiCad
SET KISYSMOD=%PATH_KICAD_ROOT%\share\modules
SET KISYS3DMOD=%PATH_KICAD_ROOT%\share\modules\packages3d

CD %PATH_KICAD%
START .\kicad.exe
CD ../..

Regards
Kerusey Karyu

Dale Scott (dalescott) said : #2

Thanks Kerusey! I will set this up before using kicad-winbuilder the next time.

What's the best way to revert back to a previous kicad build if needed? Is it possible to build a specific version using kicad-winbuilder? Create a zip archive of kicad/bin from the previous build first before building again? (after copying the dependencies you listed into kicad/bin)

Dale Scott (dalescott) said : #3

Hi Kerusey, I went looking for the *.dll files you listed, but found 3 to 5 files for each of your listed files in C:\kicad-winbuilder\... Is there a rule for where to get the files? (I'm building kicad on a 64-bit Win7 vm). Thanks!

libgcc_s_sjlj-1.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libgcc_s_sjlj-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libgcc_s_sjlj-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libgcc_s_sjlj-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\opt\bin\libgcc_s_sjlj-1.dll

libgfortran-3.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libgfortran-3.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libgfortran-3.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libgfortran-3.dll

libgnarl-4.8.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libgnarl-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libgnarl-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libgnarl-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\lib\gcc\i686-w64-mingw32\4.8.2\64\adalib\libgnarl-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\lib\gcc\i686-w64-mingw32\4.8.2\adalib\libgnarl-4.8.dll

libgnat-4.8.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libgnat-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libgnat-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libgnat-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\lib\gcc\i686-w64-mingw32\4.8.2\64\adalib\libgnat-4.8.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\lib\gcc\i686-w64-mingw32\4.8.2\adalib\libgnat-4.8.dll

libgomp-1.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libgomp-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libgomp-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libgomp-1.dll

libobjc-4.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libobjc-4.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libobjc-4.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libobjc-4.dll

libquadmath-0.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libquadmath-0.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libquadmath-0.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libquadmath-0.dll

libssp-0.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libssp-0.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libssp-0.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libssp-0.dll

libstdc++-6.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libstdc++-6.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libstdc++-6.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libstdc++-6.dll

libwinpthread-1.dll

c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\bin\libwinpthread-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib\libwinpthread-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\i686-w64-mingw32\lib64\libwinpthread-1.dll
c:\kicad-winbuilder-3.4\env\mingw-w64\mingw32\opt\bin\libwinpthread-1.dll

Kerusey Karyu (keruseykaryu) said : #4

> What's the best way to revert back to a previous kicad build if needed?

Only external backup. But, I think there is no need to back to the previous build. If you encounter any major issues using actual build, you can wait for the next source code revision(s) which may fix these issues.

> Is it possible to build a specific version using kicad-winbuilder?

Well, it will be difficult, but IMO you can do it. Build is maintained by kicad-winbuilder CMake script which one you must edit in several places.
Don't ask me how to proceed it because I've never tried.

> Is there a rule for where to get the files?

I used files from 'mingw-w64\mingw32\bin\', and KiCad works fine.

Dale Scott (dalescott) said : #5

Great! Thanks for your help.