← Back to team overview

kicad-developers team mailing list archive

Re: Critical path item / request for help

 

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> 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> 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> 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> 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> 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> 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
>>>>>>>> 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
>>>>>>> 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
>>>> 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
>>> 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
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp


Follow ups

References