← Back to team overview

kicad-developers team mailing list archive

Re: Mac packaging update

 

Thanks Adam and others for trying so hard to make kicad play nice on OSX.

Happy hacking,
Martijn

On Fri, 27 Apr 2018, 16:46 Adam Wolf, <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:

> Identified the issue.  The applications, when launched from KiCad.app,
> use the embedded Python, but when launched standalone, use the system
> Python.  I'll fix it.
>
> On Fri, Apr 27, 2018 at 7:24 AM, Adam Wolf
> <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
> > You definitely cannot launch it from
> > build/kicad/src/kicad-build/kicad/kicad.app.  There are a few things
> > that have to happen to those files to make them work.
> >
> > I'll take a look at the second problem, but it won't be until tomorrow
> > at the earliest.
> >
> > Thanks for helping test.
> >
> > Adam
> >
> > On Thu, Apr 26, 2018 at 10:49 PM, Shivpratap Chauhan <shivmsit@xxxxxxxxx>
> wrote:
> >> Oh I got it. It crashes if I launch it from
> >> build/kicad/src/kicad-build/kicad/kicad.app
> >>
> >> It does not crash if launch from build/kicad-dest/kicad.app
> >>
> >> I have been facing another issue from long time, pcbnew.app failed to
> >> initialize python scripting.
> >>
> >> kicad's  error dialog pop up says:
> >>
> >> 09:08:34: ***** Error importing the wxPython API! *****
> >> 09:08:34: pcbnewInitPythonScripting() failed.
> >>
> >> There seems to be issue with bundled python module search path, above
> >> problem goes away if I
> >> rename wx-3.0-osx_cocoa under
> >> kicad.app/Contents/Frameworks/python/site-packages to
> wx-3.0-osx_cocoa.old
> >>
> >>
> >> I found this same issue with
> >>
> http://downloads.kicad-pcb.org/osx/testing/kicad-nightly-20180426-040756-3f5f591.dmg
> >> this also.
> >>
> >> Any thought on this?
> >>
> >>
> >> On Fri, Apr 27, 2018 at 8:34 AM, Adam Wolf <
> adamwolf@xxxxxxxxxxxxxxxxxxxx>
> >> wrote:
> >>>
> >>> Does pcbnew launch from KiCad.app?
> >>>
> >>> I don't get this on my builds, and I haven't seen it on the ones from
> >>> the KiCad build machine either.  Please try
> >>>
> >>>
> http://downloads.kicad-pcb.org/osx/testing/kicad-nightly-20180426-040756-3f5f591.dmg
> >>> on your machine.
> >>>
> >>> Adam
> >>>
> >>> On Thu, Apr 26, 2018 at 10:00 PM, Shivpratap Chauhan <
> shivmsit@xxxxxxxxx>
> >>> wrote:
> >>> > Hi Adam,
> >>> >
> >>> > I built kicad on Mac OSX by using
> >>> > https://github.com/wayneandlayne/kicad-mac-builder, build was
> success
> >>> > but
> >>> > pcbnew is crashing on every launch with
> >>> > following stack trace at crash:
> >>> >
> >>> > (lldb) bt
> >>> > * thread #1, queue = 'com.apple.main-thread', stop reason =
> >>> > EXC_BAD_ACCESS
> >>> > (code=1, address=0x118)
> >>> >   * frame #0: 0x00007fff7d27eeb7
> >>> > libc++.1.dylib`std::__1::basic_string<char,
> >>> > std::__1::char_traits<char>, std::__1::allocator<char>
> >>> >>::basic_string(std::__1::basic_string<char,
> std::__1::char_traits<char>,
> >>> > std::__1::allocator<char> > const&) + 27
> >>> >     frame #1: 0x000000010fd6ad4d
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxAppConsoleBase::GetAppName() const + 29
> >>> >     frame #2: 0x000000010fe167d2
> >>> >
> libwx_baseu-3.0.0.4.0.dylib`wxStandardPathsBase::AppendAppInfo(wxString
> >>> > const&) const + 178
> >>> >     frame #3: 0x000000010fea0847
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxStandardPaths::GetUserDataDir() const
> + 71
> >>> >     frame #4: 0x000000010e882111
> _pcbnew.kiface`GetOSXKicadUserDataDir()
> >>> > +
> >>> > 33
> >>> >     frame #5: 0x000000010e8e2b77
> >>> > _pcbnew.kiface`SystemDirsAppend(SEARCH_STACK*) + 167
> >>> >     frame #6: 0x000000010e8ce0a7
> >>> > _pcbnew.kiface`KIFACE_I::start_common(int)
> >>> > + 103
> >>> >     frame #7: 0x000000010e0719cb
> >>> > _pcbnew.kiface`PCB::IFACE::OnKifaceStart(PGM_BASE*, int) + 27
> >>> >     frame #8: 0x0000000100089835 kicad`KIWAY::KiFACE(KIWAY::FACE_T,
> >>> > bool) +
> >>> > 437
> >>> >     frame #9: 0x000000010008a452 kicad`KIWAY::Player(FRAME_T, bool,
> >>> > wxTopLevelWindow*) + 322
> >>> >     frame #10: 0x000000010001b530
> >>> > kicad`KICAD_MANAGER_FRAME::RunPcbNew(wxString const&) + 48
> >>> >     frame #11: 0x000000010001bc64
> >>> > kicad`KICAD_MANAGER_FRAME::OnRunPcbNew(wxCommandEvent&) + 228
> >>> >     frame #12: 0x000000010fec1d70
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxEventHashTable::HandleEvent(wxEvent&,
> >>> > wxEvtHandler*) + 240
> >>> >     frame #13: 0x000000010fec341d
> >>> >
> libwx_baseu-3.0.0.4.0.dylib`wxEvtHandler::ProcessEventLocally(wxEvent&)
> >>> > + 93
> >>> >     frame #14: 0x000000010fec32a4
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxEvtHandler::ProcessEvent(wxEvent&) +
> 100
> >>> >     frame #15: 0x00000001000776a5
> >>> > kicad`EDA_BASE_FRAME::ProcessEvent(wxEvent&) + 85
> >>> >     frame #16: 0x000000010fec2e5e
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxEvtHandler::ProcessPendingEvents() +
> 478
> >>> >     frame #17: 0x000000010fd6c437
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxAppConsoleBase::ProcessPendingEvents()
> +
> >>> > 215
> >>> >     frame #18: 0x000000010fe8e792
> >>> >
> >>> >
> libwx_baseu-3.0.0.4.0.dylib`wxCFEventLoop::OSXCommonModeObserverCallBack(__CFRunLoopObserver*,
> >>> > int, void*) + 66
> >>> >     frame #19: 0x00007fff56ff0467
> >>> >
> >>> >
> CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
> >>> > + 23
> >>> >     frame #20: 0x00007fff56ff038f
> CoreFoundation`__CFRunLoopDoObservers
> >>> > +
> >>> > 527
> >>> >     frame #21: 0x00007fff56fd2908 CoreFoundation`__CFRunLoopRun +
> 1240
> >>> >     frame #22: 0x00007fff56fd21a3
> CoreFoundation`CFRunLoopRunSpecific +
> >>> > 483
> >>> >     frame #23: 0x00007fff562bad96
> HIToolbox`RunCurrentEventLoopInMode +
> >>> > 286
> >>> >     frame #24: 0x00007fff562baa0f HIToolbox`ReceiveNextEventCommon +
> 366
> >>> >     frame #25: 0x00007fff562ba884
> >>> > HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
> >>> >     frame #26: 0x00007fff5456da73 AppKit`_DPSNextEvent + 2085
> >>> >     frame #27: 0x00007fff54d03e34 AppKit`-[NSApplication(NSEvent)
> >>> > _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
> >>> >     frame #28: 0x00007fff54562885 AppKit`-[NSApplication run] + 764
> >>> >     frame #29: 0x000000010f7f759f
> >>> > libwx_osx_cocoau_core-3.0.0.4.0.dylib`wxGUIEventLoop::OSXDoRun() +
> 207
> >>> >     frame #30: 0x000000010fe8f0f1
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxCFEventLoop::DoRun() + 49
> >>> >     frame #31: 0x000000010fdb1dc2
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxEventLoopBase::Run() + 162
> >>> >     frame #32: 0x000000010fd6b693
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxAppConsoleBase::MainLoop() + 99
> >>> >     frame #33: 0x000000010f78a75a
> >>> > libwx_osx_cocoau_core-3.0.0.4.0.dylib`wxApp::OnRun() + 26
> >>> >     frame #34: 0x00000001000174b9 kicad`APP_KICAD::OnRun() + 25
> >>> >     frame #35: 0x000000010fdf8c8a
> >>> > libwx_baseu-3.0.0.4.0.dylib`wxEntry(int&,
> >>> > wchar_t**) + 138
> >>> >     frame #36: 0x0000000100016b70 kicad`main + 48
> >>> >     frame #37: 0x00007fff7f2ec015 libdyld.dylib`start + 1
> >>> >
> >>> >
> >>> > Any one else getting this crash?
> >>> >
> >>> > -Shiv
> >>> >
> >>> >
> >>> > On Thu, Apr 26, 2018 at 9:47 PM, Adam Wolf
> >>> > <adamwolf@xxxxxxxxxxxxxxxxxxxx>
> >>> > wrote:
> >>> >>
> >>> >> I fixed the build breaker yesterday, so the ones marked April 26
> >>> >> (http://downloads.kicad-pcb.org/osx/testing/) show the new embedded
> >>> >> Python.  (I pulled the KiCad patch into the packaging source tree
> for
> >>> >> testing.)
> >>> >>
> >>> >> Adam Wolf
> >>> >>
> >>> >> On Mon, Apr 23, 2018 at 1:24 PM, Nick Østergaard <oe.nick@xxxxxxxxx
> >
> >>> >> wrote:
> >>> >> > It is built nightly as mentioned in earlier threads at
> >>> >> > http://downloads.kicad-pcb.org/osx/testing/. It builds nightly,
> but
> >>> >> > it
> >>> >> > seems
> >>> >> > the latest change broke the build for me. :/
> >>> >> >
> >>> >> > So users are already able to test it. I have not applied the BU
> >>> >> > patch.
> >>> >> >
> >>> >> > 2018-04-23 20:23 GMT+02:00 Adam Wolf <
> adamwolf@xxxxxxxxxxxxxxxxxxxx>:
> >>> >> >>
> >>> >> >> Soon.  Today?  I'll see if I can set up the scripts to apply the
> >>> >> >> attached
> >>> >> >> patch.
> >>> >> >>
> >>> >> >> I rebuilt from a clean setup using all the old infrastructure,
> and I
> >>> >> >> do not see any new issues, and the output DMGs appear to be the
> >>> >> >> same.
> >>> >> >> Let me know if there are any objections to this change.
> >>> >> >>
> >>> >> >> Adam
> >>> >> >>
> >>> >> >> On Mon, Apr 23, 2018 at 1:11 PM, Wayne Stambaugh
> >>> >> >> <stambaughw@xxxxxxxxx>
> >>> >> >> wrote:
> >>> >> >> > Hi Adam,
> >>> >> >> >
> >>> >> >> > When do you think you will be able to begin providing nightly
> >>> >> >> > builds
> >>> >> >> > with this so users can test it?  It would be nice to have a few
> >>> >> >> > weeks
> >>> >> >> > of
> >>> >> >> > testing with Python bundled on macos to shake out any bugs
> before
> >>> >> >> > the
> >>> >> >> > stable release.
> >>> >> >> >
> >>> >> >> > Thanks,
> >>> >> >> >
> >>> >> >> > Wayne
> >>> >> >> >
> >>> >> >> > On 4/23/2018 10:46 AM, Adam Wolf wrote:
> >>> >> >> >> Hi folks!
> >>> >> >> >>
> >>> >> >> >> Over the weekend, I made a culminating breakthrough on some
> >>> >> >> >> Python
> >>> >> >> >> work I've been working on since at least March 2017
> >>> >> >> >> (https://cmake.org/pipermail/cmake/2017-March/065140.html).
> I
> >>> >> >> >> now
> >>> >> >> >> have a Python Framework embedded inside KiCad, scripting
> console
> >>> >> >> >> and
> >>> >> >> >> all, which fixes many issues we've had for years.  For
> instance,
> >>> >> >> >> I
> >>> >> >> >> can
> >>> >> >> >> no longer reproduce the longstanding "Mac KiCad stops working
> if
> >>> >> >> >> you
> >>> >> >> >> have wxmac or wxpython installed".  !!!
> >>> >> >> >>
> >>> >> >> >> My changes require *one* change inside KiCad, setting
> >>> >> >> >> BU_COPY_FULL_FRAMEWORK_CONTENTS to ON (see
> >>> >> >> >> https://cmake.org/cmake/help/v3.0/module/BundleUtilities.html)
> so
> >>> >> >> >> that
> >>> >> >> >> it copies the complied full custom Python Framework into the
> >>> >> >> >> bundle.
> >>> >> >> >>
> >>> >> >> >> I am going to prepare a patch, and see if the last-generation
> >>> >> >> >> packaging scripts still work.  I expect they should--I don't
> >>> >> >> >> actually
> >>> >> >> >> suspect any change for anyone else, because the Python
> framework
> >>> >> >> >> is
> >>> >> >> >> usually a system framework, and those are filtered out by
> >>> >> >> >> BundleUtilities.  Doing a clean build from the old scripts to
> >>> >> >> >> test
> >>> >> >> >> it
> >>> >> >> >> will take a good chunk of today.  (I am not 100% sure it won't
> >>> >> >> >> cause
> >>> >> >> >> problems for other folks, so I am prepared to set this behind
> a
> >>> >> >> >> CMake
> >>> >> >> >> flag so people can turn it off.)
> >>> >> >> >>
> >>> >> >> >> That'll take me a day, and I know we're running into a
> deadline,
> >>> >> >> >> so
> >>> >> >> >> I
> >>> >> >> >> just wanted to pipeline any necessary discussion :)
> >>> >> >> >>
> >>> >> >> >> Adam Wolf
> >>> >> >> >>
> >>> >> >> >> _______________________________________________
> >>> >> >> >> 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
> >>> >> >>
> >>> >> >
> >>> >>
> >>> >> _______________________________________________
> >>> >> 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