Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Some scripts to build C::B on Mac OSX Snow Leopard

<< < (2/3) > >>

afb:

--- Quote from: MortenMacFly on August 08, 2011, 06:23:47 pm ---If you want to, you could also create an article in the WiKi with the same content, so that this doesn't get lost.

--- End quote ---

You mean like wiki:Installing_Code::Blocks_from_source_on_Mac_OS_X ? Needs updating for Leopard+.

afb:

--- Quote from: Ceniza on August 09, 2011, 05:01:17 pm ---Nice contribution, but it fails compiling wxWidgets in Lion :(

--- End quote ---

There are no Quickdraw API headers in 10.7/Lion...

So you need to use the 10.6 (or 10.4) SDK instead:

--with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk --with-macosx-version-min=10.6

Or update wxWidgets to 2.9 and Cocoa, eventually.

afb:

--- Quote from: PaulNavin on August 08, 2011, 03:42:57 pm ---The scripts aren't perfect, there are a couple of hacks:
   - There is a pause in the building of C::B to add a line to the configure.in file for m4_include[wxwin.m4].
      - Maybe this should be checked into Subversion?
   - All the plugins are built and not all of them always compile properly.
      - FileManager, NassiShneiderman and Hunspell all seem to be broken on mine, so you might have to comment some stuff out.

If you have any comments/suggestions for improvement, please let me know!  I'm hoping to do a bit of development on Mac in the coming few months, so any advice is very welcome.  :-)

--- End quote ---

If you have wxWidgets installed in /usr/local, you'll also have wxwin.m4 in /usr/local/share/aclocal.

You can configure it like so: --with-contrib-plugins=all,-NassiShneiderman,-FileManager,-spellchecker

Otherwise it seems to match the existing Mac binaries, only that they're using 10.4u SDK and 10.4 MDT.

I've uploaded a new "nightly": http://prdownload.berlios.de/codeblocks/CB_20110815_rev7385_mac2812.zip

MortenMacFly:

--- Quote from: afb on August 24, 2011, 03:32:10 pm ---I've uploaded a new "nightly": http://prdownload.berlios.de/codeblocks/CB_20110815_rev7385_mac2812.zip

--- End quote ---
That's great to hear!

Calexus:

--- Quote ---I've uploaded a new "nightly": -
--- End quote ---
Awesome, unfortunately it doesn't seem to run very well on my system. I don't really know much of codeblocks internals so I should probably not try to make a diagnosis. But the symptoms are pretty obvious codeblocks hangs shortly after loading a project. No cpu load and a bunch of threads with almost no cpu time, I think its some parsing related problem but thats just a guess. Must threads appears to be stuck on semaphore_wait_signal_trap semaphore_timedwait_trap.

I'll just go ahead and post a call graph. It has been like this for around 15 minutes so I'm pretty sure it's stuck.

Edit >> Just noticed there is a discussion in the nightly section about cb hanging. So this might be a known problem.


--- Code: ---Call graph:
    2624 Thread_3628   DispatchQueue_1: com.apple.main-thread  (serial)
      2624 start
        2624 _start
          2624 main
            2624 wxEntry(int&, wchar_t**)
              2624 CodeBlocksApp::OnRun()
                2624 wxAppBase::MainLoop()
                  2624 wxEventLoopManual::Run()
                    2624 wxEventLoop::Dispatch()
                      2624 wxApp::MacDoOneEvent()
                        2624 wxApp::MacHandleOneEvent(void*)
                          2624 SendEventToEventTarget
                            2624 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                              2624 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                2624 ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                  2624 SendEventToEventTarget
                                    2624 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                                      2624 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                        2624 wxMacTopLevelEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                          2624 wxMacTopLevelMouseEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                            2624 HandleControlClick
                                              2624 HIView::ClickInternal(CGPoint const&, unsigned long, void (*)(OpaqueControlRef*, short), OpaqueEventRef*, bool)
                                                2624 HIView::NotifyControlHit(OpaqueEventRef*, short, unsigned long)
                                                  2624 SendControlHit(HIView*, OpaqueEventRef*, short, unsigned long)
                                                    2624 SendEventToEventTarget
                                                      2624 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                                                        2624 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                                          2624 wxMacToolBarToolEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                                            2624 wxToolBarBase::OnLeftClick(int, bool)
                                                              2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                                                2624 wxWindowBase::TryParent(wxEvent&)
                                                                  2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                                                    [i]--- lots of ProcessEvent calls ---[/i]
                                                                     2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                                                       2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                                                         2624 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
                                                                           2624 wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
                                                                             2624 MainFrame::DoOnFileOpen(bool)
                                                                               2624 MainFrame::OnDropFiles(int, int, wxArrayString const&)
                                                                                 2624 MainFrame::OpenGeneric(wxString const&, bool)
                                                                                   2624 MainFrame::DoOpenProject(wxString const&, bool)
                                                                                     2624 ProjectManager::LoadProject(wxString const&, bool)
                                                                                       2624 ProjectManager::SetProject(cbProject*, bool)
                                                                                         2624 Manager::ProcessEvent(CodeBlocksEvent&)
                                                                                           2624 CodeCompletion::OnProjectActivated(CodeBlocksEvent&)
                                                                                             2624 NativeParser::CreateParser(cbProject*)
                                                                                              2624 ClassBrowser::UpdateView(bool)
                                                                                                2624 ClassBrowser::BuildTree()
                                                                                                  2624 ClassBrowserBuilderThread::Init(NativeParser*, CBTreeCtrl*, CBTreeCtrl*, wxString const&, void*, BrowserOptions const&, TokensTree*, bool)
                                                                                                    2624 wxMutexInternal::Lock()
                                                                                                      2624 pthread_mutex_lock
                                                                                                        2624 semaphore_wait_signal_trap
    2624 Thread_3640   DispatchQueue_2: com.apple.libdispatch-manager  (serial)
      2624 start_wqthread
        2624 _pthread_wqthread
          2624 _dispatch_worker_thread2
            2624 _dispatch_queue_invoke
              2624 _dispatch_mgr_invoke
                2624 kevent
    2624 Thread_3643: com.apple.CFSocket.private
      2624 thread_start
        2624 _pthread_start
          2624 __CFSocketManager
            2624 select$DARWIN_EXTSN
    2624 Thread_3650
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 BackgroundThread::Entry()
                2624 wxSemaphore::Wait()
                  2624 wxSemaphoreInternal::WaitTimeout(unsigned long)
                    2624 MPWaitOnSemaphore
                      2624 semaphore_timedwait_trap
    2624 Thread_3651
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 BackgroundThread::Entry()
                2624 wxSemaphore::Wait()
                  2624 wxSemaphoreInternal::WaitTimeout(unsigned long)
                    2624 MPWaitOnSemaphore
                      2624 semaphore_timedwait_trap
    2624 Thread_3652
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 BackgroundThread::Entry()
                2624 wxSemaphore::Wait()
                  2624 wxSemaphoreInternal::WaitTimeout(unsigned long)
                    2624 MPWaitOnSemaphore
                      2624 semaphore_timedwait_trap
    2624 Thread_3653
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 BackgroundThread::Entry()
                2624 wxSemaphore::Wait()
                  2624 wxSemaphoreInternal::WaitTimeout(unsigned long)
                    2624 MPWaitOnSemaphore
                      2624 semaphore_timedwait_trap
    2624 Thread_3674
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 ClassBrowserBuilderThread::Entry()
                2624 ClassBrowserBuilderThread::BuildTree()
                  2624 ClassBrowserBuilderThread::CollapseItem(wxTreeItemId)
                    2624 wxGenericTreeCtrl::CollapseAndReset(wxTreeItemId const&)
                      2624 wxGenericTreeCtrl::Collapse(wxTreeItemId const&)
                        2624 wxEvtHandler::ProcessEvent(wxEvent&)
                          2624 wxWindowBase::TryParent(wxEvent&)
                            2624 wxEvtHandler::ProcessEvent(wxEvent&)
                              2624 wxWindowBase::TryParent(wxEvent&)
                                2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                  2624 wxWindowBase::TryParent(wxEvent&)
                                    2624 wxEvtHandler::ProcessEvent(wxEvent&)
                                      2624 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
                                        2624 wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
                                          2624 ClassBrowser::OnTreeItemCollapsing(wxTreeEvent&)
                                            2624 ClassBrowserBuilderThread::CollapseItem(wxTreeItemId)
                                              2624 wxMutexInternal::Lock()
                                                2624 pthread_mutex_lock
                                                  2624 semaphore_wait_signal_trap
    2624 Thread_3824
      2624 thread_start
        2624 _pthread_start
          2624 PrivateMPEntryPoint
            2624 wxThreadInternal::MacThreadStart(void*)
              2624 cbThreadPool::cbWorkerThread::Entry()
                2624 wxSemaphore::Wait()
                  2624 wxSemaphoreInternal::WaitTimeout(unsigned long)
                    2624 MPWaitOnSemaphore
                      2624 semaphore_timedwait_trap

Total number in stack (recursive counted multiple, when >=5):
        58       wxEvtHandler::ProcessEvent(wxEvent&)
        7       _pthread_start
        7       thread_start
        6       PrivateMPEntryPoint
        6       wxThreadInternal::MacThreadStart(void*)
        5       MPWaitOnSemaphore
        5       semaphore_timedwait_trap
        5       wxSemaphore::Wait()
        5       wxSemaphoreInternal::WaitTimeout(unsigned long)

Sort by top of stack, same collapsed (when >= 5):
        semaphore_timedwait_trap        13120
        semaphore_wait_signal_trap        5248
        kevent        2624
        select$DARWIN_EXTSN        2624
--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version