← Back to team overview

kicad-developers team mailing list archive

Re: Critical path item / request for help

 

I wish I could say I was surprised.

On 7/7/20 4:34 PM, Mark Roszko wrote:
> vcpkg has a python3 build ...... in fact, people actually complain vcpkg
> wants to use its own python copy as a dependency for other libraries
> like boost-python instead of system python (lol)
> 
> On Tue, Jul 7, 2020 at 2:42 PM Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>> wrote:
> 
>     This could be the straw that breaks the msvc camel's back.  If we are
>     tied to the installed Python on windows, the amount of effort required
>     to package KiCad on windows increases significantly.  Shipping KiCad
>     without Python on windows is not acceptable.
> 
>     On 7/7/20 2:36 PM, Jon Evans wrote:
>     > I am not sure there is much history of vcpkg and Python working
>     > together, so this might be breaking new ground.  It is nominally a
>     > package manager for C++ libraries, after all.
>     >
>     > On Tue, Jul 7, 2020 at 12:51 PM Wayne Stambaugh
>     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote:
>     >>
>     >> The wxPython Phoenix build system is ugly.  Before the Phoenix
>     work, it
>     >> used to respect the Python distutils configuration.  Now it just
>     steps
>     >> all over the Python distutils settings on windows and assumes
>     that the
>     >> only build platform used on windows is msvc.
>     >>
>     >> I have experience using Python distutils to build Python
>     libraries so I
>     >> can help with this although it's been a while so I'm a bit
>     rusty.  I've
>     >> never been a big fan of distutils.  It always seemed like a
>     solution in
>     >> search of a problem to me.  There are so many config/build tools
>     that do
>     >> the same thing far less painfully.
>     >>
>     >> One problem I see is that Python distutils is very much tied to the
>     >> current Python version installed.  I don't know how vcpkg handles
>     >> Python.  Do they use the installed Python or is it packaged as a
>     stand
>     >> alone port inside vcpkg?  If they use the installed Python, this
>     >> significantly complicates things as we will have to provide a
>     build for
>     >> every supported version of Python that could be installed on someones
>     >> system.  There is a big advantage with the current way we handle
>     Python
>     >> on windows.
>     >>
>     >> On 7/7/20 8:59 AM, Jon Evans wrote:
>     >>> Yes, wxWidgets I can now use straight from vcpkg.
>     >>>
>     >>> I took a look at wxPython phoenix and the build system
>     is...something else.
>     >>> Is anyone more experienced with Python build systems?
>     >>> It seems like the happy path for vcpkg is for projects that use
>     cmake.
>     >>> This hybrid of Python and C++ with custom build system in Python
>     looks
>     >>> like a headache to integrate.
>     >>>
>     >>> I have not looked at SWIG yet.  OCC it seems like is in progress (we
>     >>> are less worried about that one)
>     >>>
>     >>> -Jon
>     >>>
>     >>> On Tue, Jul 7, 2020 at 7:31 AM Mark Roszko
>     <mark.roszko@xxxxxxxxx <mailto:mark.roszko@xxxxxxxxx>> wrote:
>     >>>>
>     >>>> Nope, I'm building straight out of vcpkg now.
>     >>>> Jon Evans posted the patches to kicad's findwxwidgets back in
>     November fyi.
>     >>>>
>     >>>> On Tue, Jul 7, 2020 at 5:39 AM Nick Østergaard
>     <oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>> wrote:
>     >>>>>
>     >>>>> Hi Mark
>     >>>>>
>     >>>>> I still need to patch FindwxWidgets.cmake, using this version:
>     >>>>> https://gist.github.com/nickoe/d3c224a2587eff8ea959bc383a993520
>     >>>>>
>     >>>>> See there two vcpkg issues:
>     >>>>> https://github.com/microsoft/vcpkg/issues/1843
>     >>>>> https://github.com/microsoft/vcpkg/issues/4756
>     >>>>>
>     >>>>> I thought you were using a selfbuilt version of wxwidgets.
>     Have you
>     >>>>> started to use it directly from vcpkg?
>     >>>>>
>     >>>>> I use:
>     >>>>>
>     >>>>> cmake ^
>     >>>>>   
>      -DCMAKE_TOOLCHAIN_FILE=%WORKSPACE%\vcpkg\scripts\buildsystems\vcpkg.cmake
>     ^
>     >>>>>     -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%\install
>     >>>>> -DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=%WORKSPACE%\_pdb ^
>     >>>>>     -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=%WORKSPACE%\_bin ^
>     >>>>>     -DKICAD_SPICE=OFF ^
>     >>>>>     -DKICAD_USE_OCE=OFF ^
>     >>>>>     -DKICAD_SCRIPTING=OFF ^
>     >>>>>     -DKICAD_SCRIPTING_MODULES=OFF ^
>     >>>>>     -DKICAD_SCRIPTING_WXPYTHON=OFF ^
>     >>>>>     ..\src
>     >>>>>
>     >>>>> cmake --build . --config %build% --target install -- /M
>     >>>>>
>     >>>>> Recently I started to get this error at install time:
>     >>>>>
>     >>>>> 23:48:21 -- Found OpenGL: opengl32
>     >>>>> 23:48:21 CMake Error at C:/Program
>     >>>>>
>     Files/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164
>     >>>>> (message):
>     >>>>> 23:48:21   Could NOT find GLEW (missing: GLEW_INCLUDE_DIR
>     GLEW_LIBRARY)
>     >>>>> 23:48:21 Call Stack (most recent call first):
>     >>>>> 23:48:21   C:/Program
>     >>>>>
>     Files/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445
>     >>>>> (_FPHSA_FAILURE_MESSAGE)
>     >>>>> 23:48:21   CMakeModules/FindGLEW.cmake:38
>     (find_package_handle_standard_args)
>     >>>>> 23:48:21 
>      C:/Jenkins/workspace/windows-kicad-msvc-vcpkg/build/release/cpu/x86/label/msvc/vcpkg/scripts/buildsystems/vcpkg.cmake:405
>     >>>>> (_find_package)
>     >>>>> 23:48:21   CMakeLists.txt:586 (find_package)
>     >>>>>
>     >>>>> On Tue, 7 Jul 2020 at 01:49, Mark Roszko
>     <mark.roszko@xxxxxxxxx <mailto:mark.roszko@xxxxxxxxx>> wrote:
>     >>>>>>
>     >>>>>> 1. cmake scripts already work with wxwidgets, that was
>     already done awhile back. I've been building with MSVC for awhile
>     >>>>>>
>     >>>>>>
>     >>>>>>
>     >>>>>> One dependency that'll need "porting" is ngspice.
>     >>>>>> But let me put this out there, does it make sense to leave
>     ngspice to a higher level distro and not built as part of kicad?
>     >>>>>> We've already had cases of repackaging Windows and macOS just
>     to bump ngspice versions up.
>     >>>>>> Why not make it standard baseline as part of kicad instead of
>     allowing versions to be mixed?
>     >>>>>>
>     >>>>>>
>     >>>>>> On Mon, Jul 6, 2020 at 3:04 PM Nick Østergaard
>     <oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>> wrote:
>     >>>>>>>
>     >>>>>>> Just a FYI, we have not really solved wxpython phoenix for
>     macos yet,
>     >>>>>>> though some progress were made recently.
>     >>>>>>>
>     >>>>>>> For MSVC there are a number of issues yet to be addressed,
>     this is
>     >>>>>>> with the intention of using vcpkg.
>     >>>>>>>  1. Fix cmake scripts for wxwidgets
>     >>>>>>>  2. Add opencascade to vcpkg
>     >>>>>>>  3. Add swig to vcpkg (or sip if that is what we want to use
>     in the future)
>     >>>>>>>  4. Probably a small handful of other things need to be done
>     >>>>>>>
>     >>>>>>> On Mon, 6 Jul 2020 at 20:35, Jeff Young <jeff@xxxxxxxxx
>     <mailto:jeff@xxxxxxxxx>> wrote:
>     >>>>>>>>
>     >>>>>>>> I love this part:
>     >>>>>>>>
>     >>>>>>>> wxPython4.0 (needed for Python3)
>     >>>>>>>>
>     >>>>>>>>
>     >>>>>>>> And I thought our versioning was challenged. ;)
>     >>>>>>>> _______________________________________________
>     >>>>>>>> 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
>     >>>>>>
>     >>>>>>
>     >>>>>>
>     >>>>>> --
>     >>>>>> Mark
>     >>>>
>     >>>>
>     >>>>
>     >>>> --
>     >>>> Mark
>     >>>> _______________________________________________
>     >>>> 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
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~kicad-developers
>     More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> -- 
> Mark


Follow ups

References