Okay, so Wayne just updated the manual build instructions but I noticed one issue, there appears to not be a package called mingw-w64-x86_64-ngspice in the registry. To get around this, I just built it from source using Alexpux's recipe.
I then discovered that the current OCE package contains a hard-coded path that causes the kicad build to fail (see: https://github.com/Alexpux/MINGW-packages/issues/1870 where the issue is fixed, but a fixed package doesn't seem to be available in the repo yet), so I also manually built that from source to work around the issue. In order to avoid the long path issue that Brian ran in to, I made my path as short as possible to the mingw packages repository ("/c/code/mwp")
Then I ran into this error while trying to build OCE:
g++.exe: error: CreateProcess: No such file or directory
g++.exe: error: CreateProcess: No such file or directory
make[2]: *** [adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/build.make:64: adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/__/__/__/src/PDataXtd/PDataXtd_Axis.cxx.obj] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/build.make:89: adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/__/__/__/src/PDataXtd/PDataXtd_Constraint.cxx.obj] Error 1
g++.exe: error: CreateProcess: No such file or directory
make[2]: *** [adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/build.make:114: adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/__/__/__/src/PDataXtd/PDataXtd_Geometry.cxx.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:3391: adm/cmake/TKPCAF/CMakeFiles/TKPCAF.dir/all] Error 2
So, here's the steps I followed, after installing a fresh msys2 64-bit.
(assuming I have kicad already cloned into /c/code/kicad)
<wait a while>
<after the build, pacman will install the resulting package (it will prompt you)>
<it will also then start building 32-bit after it builds 64-bit, but I killed it here to save time, since we only need 64-bit library to build 64-bit kicad.>
cd ../../kicad
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=Debug \
-G "MSYS Makefiles" \
-DCMAKE_PREFIX_PATH=/mingw64 \
-DCMAKE_INSTALL_PREFIX=/mingw64 \
-DDEFAULT_INSTALL_PATH=/mingw64 \
../../
make -j4 install
<wait a while>
Now with oce and ngspice library issues fixed, KiCad successfully builds and installs to /mingw64/bin/
Morals of the story:
1) your disk path to sources for the mingw oce/ngspice libraries should be as short as possible
2) no one is regularly testing the KiCad documented instructions to make sure they still work :-/
3) KiCad depends on several libraries that don't have a working binary distribution at the moment (or at least one that I can find), so they'll have to be built from source.
If you are able to replicate my success using these hints, I will update the KiCad docs with some notes about these problems and how to work around them.
Okay, so Wayne just updated the manual build instructions but I noticed one issue, there appears to not be a package called mingw-w64- x86_64- ngspice in the registry. To get around this, I just built it from source using Alexpux's recipe.
I then discovered that the current OCE package contains a hard-coded path that causes the kicad build to fail (see: https:/ /github. com/Alexpux/ MINGW-packages/ issues/ 1870 where the issue is fixed, but a fixed package doesn't seem to be available in the repo yet), so I also manually built that from source to work around the issue. In order to avoid the long path issue that Brian ran in to, I made my path as short as possible to the mingw packages repository ("/c/code/mwp")
Then I ran into this error while trying to build OCE:
g++.exe: error: CreateProcess: No such file or directory TKPCAF/ CMakeFiles/ TKPCAF. dir/build. make:64: adm/cmake/ TKPCAF/ CMakeFiles/ TKPCAF. dir/__/ __/__/src/ PDataXtd/ PDataXtd_ Axis.cxx. obj] Error 1 TKPCAF/ CMakeFiles/ TKPCAF. dir/build. make:89: adm/cmake/ TKPCAF/ CMakeFiles/ TKPCAF. dir/__/ __/__/src/ PDataXtd/ PDataXtd_ Constraint. cxx.obj] Error 1 TKPCAF/ CMakeFiles/ TKPCAF. dir/build. make:114: adm/cmake/ TKPCAF/ CMakeFiles/ TKPCAF. dir/__/ __/__/src/ PDataXtd/ PDataXtd_ Geometry. cxx.obj] Error 1 Makefile2: 3391: adm/cmake/ TKPCAF/ CMakeFiles/ TKPCAF. dir/all] Error 2
g++.exe: error: CreateProcess: No such file or directory
make[2]: *** [adm/cmake/
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [adm/cmake/
g++.exe: error: CreateProcess: No such file or directory
make[2]: *** [adm/cmake/
make[1]: *** [CMakeFiles/
So, here's the steps I followed, after installing a fresh msys2 64-bit.
(assuming I have kicad already cloned into /c/code/kicad)
cd /c/code
pacman -S base-devel \
mingw- w64-x86_ 64-cmake \
mingw- w64-x86_ 64-doxygen \
mingw- w64-x86_ 64-gcc \
mingw- w64-x86_ 64-python2 \
mingw- w64-x86_ 64-pkg- config \
mingw- w64-x86_ 64-swig \
mingw- w64-x86_ 64-boost \
mingw- w64-x86_ 64-cairo \
mingw- w64-x86_ 64-glew \
mingw- w64-x86_ 64-curl \
mingw- w64-x86_ 64-wxPython \
mingw- w64-x86_ 64-wxWidgets \
mingw- w64-x86_ 64-toolchain \
mingw- w64-x86_ 64-glm
git \
git clone https:/ /github. com/Alexpux/ MINGW-packages mwp w64-ngspice
cd mwp/mingw-
makepkg-mingw -is
<wait a while>
cd ../mingw-w64-oce
makepkg-mingw -is
<wait a while>
<after the build, pacman will install the resulting package (it will prompt you)>
<it will also then start building 32-bit after it builds 64-bit, but I killed it here to save time, since we only need 64-bit library to build 64-bit kicad.>
cd ../../kicad BUILD_TYPE= Debug \ DCMAKE_ PREFIX_ PATH=/mingw64 \ DCMAKE_ INSTALL_ PREFIX= /mingw64 \ DDEFAULT_ INSTALL_ PATH=/mingw64 \
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_
-G "MSYS Makefiles" \
-
-
-
../../
make -j4 install
<wait a while>
Now with oce and ngspice library issues fixed, KiCad successfully builds and installs to /mingw64/bin/
Morals of the story:
1) your disk path to sources for the mingw oce/ngspice libraries should be as short as possible
2) no one is regularly testing the KiCad documented instructions to make sure they still work :-/
3) KiCad depends on several libraries that don't have a working binary distribution at the moment (or at least one that I can find), so they'll have to be built from source.
If you are able to replicate my success using these hints, I will update the KiCad docs with some notes about these problems and how to work around them.