Comment 13 for bug 1752150

Revision history for this message
Brian Piccioni (br0an) wrote : RE: [Bug 1752150] Re: Build from source MSYS2 the Easy Way Fails

Wayne

(For some reason your reply is not on the bug website)

I don't know how to hack the build process to remove the offending issues. If I did I would have posted a fix rather than a bug.

My plan is this: I wrote a c-utility RenumKiCadPCB which provides geographic renumbering of the PCB with full back-annotation to the schematics and netlist. It recurses the schematic hierarchy completely. Other applications I tried prior to writing Renum either flat out failed, only worked in simple cases (i.e. no hierarchy), or had other major issues.

I wrote this for me, posted it online, and have received positive feedback from its users. Because it was written as a command line program its user base is probably much less than would otherwise have been the case.

Since this function is absent from PCBNew (though present in every other PCB CAD tool I've used) I thought it would make a good addition to the code base.

I am pretty sure somebody who knows their way around KiCad could easily incorporate it into PCBNew so I proposed it and got no takers. I was also informed the feature set was already frozen (even though the most recent nightly build changed the menu bar on me).

So, I figure if I can build KiCad I can:
1) learn something about a complex project;
2) learn more about c++;
3) learn how a gui is coded;
4) if I am lucky, follow the instructions here http://docs.kicad-pcb.org/doxygen/md_Documentation_development_tool-framework.html#tutorial which will allow me to make a version of PCBNew with Renum built in.

If I accomplish 3 then perhaps it would be easier to the devs to consider incorporate this missing function into PCBNew in the future.

If nothing else I would have learned something.

Regardless, there is no point in having documentation which provides step by step build instructions if those instructions fail.

Brian

-----Original Message-----
From: <email address hidden> <email address hidden> On Behalf Of Wayne Stambaugh
Sent: March 7, 2018 10:19 AM
To: <email address hidden>
Subject: Re: [Bug 1752150] Re: Build from source MSYS2 the Easy Way Fails

On 3/7/2018 9:27 AM, Brian Piccioni wrote:
> Wow! Thanks so much for your help/effort!
>
> I will try the new build instructions you have posted. I hope I can
> follow them.
>
> Yes, I figured nobody was checking the build instructions. Some of
> them are clearly out of date. Same goes for Kicad-winbuilder as well,
> which I find odd.
>
> Clearly KiCad is mostly a Linux club but that is impractical for me as
> I work at home and tend to do my hobbies in between moments of
> inspiration. All my work work is Windows based.
>

I use windows for at least half of my development. Issues occasionally pop up but they are fairly uncommon. The problem is that windows is a terrible development platform made tolerable by projects like msys2.
The kicad and msys2 projects change very quickly so keeping the windows build instructions up to date is not easy so you will have to do some leg work on your own to build kicad on windows. The other option is to turn off the oce plugin and spice simulation so you don't have to build the oce and ngspice packages from source. I guess the msys2 folks never got around to providing packages for oce and ngspice or they removed them from the archive. It's been a while so I don't remember how I ended up with these packages on my systems. Most likely I built them from source assuming that the msys2 project would provide binary packages for them.

Are your planning on hacking on kicad? If not, please consider using a nightly build rather than building from source.

--
You received this bug notification because you are subscribed to the bug report.
https://bugs.launchpad.net/bugs/1752150

Title:
  Build from source MSYS2 the Easy Way Fails

Status in KiCad:
  New

Bug description:
  As per the title, after numerous attempts, this fails on Windows 10.

  I completely installed Msys2 and made sure there were no other
  instances.

  $ makepkg-mingw -is

  runs for several minutes and fails with

  "CMake Error at CMakeLists.txt:577 (find_package):
    By not providing "FindOCE.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "OCE", but
    CMake did not find one.

    Could not find a package configuration file provided by "OCE" (requested
    version 0.16) with any of the following names:

      OCEConfig.cmake
      oce-config.cmake

    Add the installation prefix of "OCE" to CMAKE_PREFIX_PATH or set "OCE_DIR"
    to a directory containing one of the above files. If "OCE" provides a
    separate development package or SDK, be sure it has been installed."

  Initially these files were not in my computer. I went to the directory
  mingw-w64-oce
  and there were only 3 files: oce-i686.install, oce-x86_64.install, and PKGBUILD. The only one I could figure out what to do with was PKGBUILD, so I ran

  $ makepkg-mingw -is

  within mingw-w64.

  This ran for several hours. It gave me errors

  "-- Configuring done
  CMake Warning in adm/cmake/TKGeomAlgo/CMakeLists.txt:
    The object file directory

      C:/MinGW/home/BrianP/src/MINGW-packages/mingw-w64-oce/src/oce-
  OCE-0.17.2/build-
  x86_64-w64-mingw32/adm/cmake/TKGeomAlgo/CMakeFiles/TKGeomAlgo.dir/

    has 145 characters. The maximum full path to an object file is 250
    characters (see CMAKE_OBJECT_PATH_MAX). Object file

  __/__/__/drv/Geom2dInt/Geom2dInt_SequenceNodeOfSeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter_0.cxx.obj

    cannot be safely placed under this directory. The build may not work
    correctly.

  CMake Warning in adm/cmake/TKSTEPBase/CMakeLists.txt:
    The object file directory

      C:/MinGW/home/BrianP/src/MINGW-packages/mingw-w64-oce/src/oce-
  OCE-0.17.2/build-
  x86_64-w64-mingw32/adm/cmake/TKSTEPBase/CMakeFiles/TKSTEPBase.dir/

    has 145 characters. The maximum full path to an object file is 250
    characters (see CMAKE_OBJECT_PATH_MAX). Object file

  __/__/__/src/RWStepGeom/RWStepGeom_RWGeometricRepresentationContextAndParametricRepresentationContext.cxx.obj

    cannot be safely placed under this directory. The build may not work
    correctly.

  -- Generating done
  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS"

  Sure enough the build of OCE failed at 78%
  "[ 78%] Built target TKSTEPBase
  make: *** [Makefile:163: all] Error 2
  ==> ERROR: A failure occurred in build().
      Aborting..."

  However, I found OCE-Config.cmake so set

  $ set OCE_DIR=./BrianP/src/MINGW-packages/mingw-w64-oce/src/oce-
  OCE-0.17.2/build-x86_64-w64-mingw32/OCEConfig.cmake

  I tried to make Kicad again as per the instructions and got the same
  error.

  I am pretty much stuck here: I followed the instructions at
  http://docs.kicad-
  pcb.org/doxygen/md_Documentation_development_compiling.html#msys2_easy
  exactly and the make fails.

  Any advice/suggestions would be appreciated.

To manage notifications about this bug go to:
https://bugs.launchpad.net/kicad/+bug/1752150/+subscriptions