Skip Menu |

This queue is for tickets about the Wx CPAN distribution.

Report information
The Basics
Id: 66723
Status: open
Priority: 0/
Queue: Wx

People
Owner: Nobody in particular
Requestors: mschwern [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.98
Fixed in: (no value)



Subject: Can't build on OS X
Wx will not build on my copy of OS X. This is 5.12.2 built with perlbrew. The full output of my builds have been recently sent as test reports. Something suspicious I noticed is this: LD_RUN_PATH="/usr/lib" g++ -bundle -undefined dynamic_lookup -L/opt/local/lib -fstack-protector DateTime.o -o ../../blib/arch/auto/Wx/DateTime/DateTime.bundle \ -lwx_macud-2.8 \ ld: warning: in /usr/lib/libwx_macud-2.8.dylib, missing required architecture x86_64 in file pretty much one for each .bundle.
Subject: Re: [rt.cpan.org #66723] Can't build on OS X
Date: Fri, 18 Mar 2011 23:48:05 +0000
To: bug-Wx [...] rt.cpan.org
From: Mark Dootson <mark.dootson [...] znix.com>
Hi, The problem: You have a 64bit Perl but the system installed wxWidgets are 32 bit. Solutions 1) build 32 bit (i386) arch Perl 2) Download current svn Alien-WxWidgets svn export https://wxperl.svn.sourceforge.net/svnroot/wxperl/Alien-wxWidgets/trunk build with perl Build.PL --wxWidgets-build='yes' --wxWidgets-source='tar.gz' --wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.9.1 perl Build perl Build test perl Build install Wx should then build OK. You want svn only because current CPAN has wxWidgets 2.9.0 defined as latest possible version. You want 2.9.1 for best 64 bitness I think. Regards Mark On 18/03/2011 22:19, Michael G Schwern via RT wrote: Show quoted text
> Fri Mar 18 18:19:56 2011: Request 66723 was acted upon. > Transaction: Ticket created by MSCHWERN > Queue: Wx > Subject: Can't build on OS X > Broken in: 0.98 > Severity: Normal > Owner: Nobody > Requestors: mschwern@cpan.org > Status: new > Ticket<URL: https://rt.cpan.org/Ticket/Display.html?id=66723> > > > Wx will not build on my copy of OS X. This is 5.12.2 built with > perlbrew. The full output of my builds have been recently sent as test > reports. > > Something suspicious I noticed is this: > > LD_RUN_PATH="/usr/lib" g++ -bundle -undefined dynamic_lookup > -L/opt/local/lib -fstack-protector DateTime.o -o > ../../blib/arch/auto/Wx/DateTime/DateTime.bundle \ > -lwx_macud-2.8 \ > > ld: warning: in /usr/lib/libwx_macud-2.8.dylib, missing required > architecture x86_64 in file > > pretty much one for each .bundle.
Thanks! Trying it now. A couple notes: There's only a .zip file or .tar.bz2 available, so I had to change --wxWidgets-source. It didn't work, but failed differently. A complete report was sent to CPAN Testers (it was "unknown" rather than a fail) but here's the fail point: g++ -mmacosx-version-min=10.5 -UWX_PRECOMP -c -I. -I. -I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/lib/wx/include/osx_cocoa-unicode-2.9 -I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9 -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -O3 -DVERSION=\"0.98\" -DXS_VERSION=\"0.98\" "-I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/5.12.2/darwin-thread-multi-2level/CORE" -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ Controls.c Controls.c: In function ‘void XS_Wx__ComboBox_GetClientData(PerlInterpreter*, CV*)’: Controls.c:27806: error: request for member ‘GetClientObject’ is ambiguous /Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9/wx/ctrlsub.h:300: error: candidates are: wxClientData* wxItemContainer::GetClientObject(unsigned int) const /Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9/wx/event.h:3205: error: wxClientData* wxEvtHandler::GetClientObject() const Controls.c: In function ‘void XS_Wx__ComboBox_SetClientData(PerlInterpreter*, CV*)’: Controls.c:27838: error: request for member ‘SetClientObject’ is ambiguous /Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9/wx/ctrlsub.h:299: error: candidates are: void wxItemContainer::SetClientObject(unsigned int, wxClientData*) /Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9/wx/event.h:3204: error: void wxEvtHandler::SetClientObject(wxClientData*) make: *** [Controls.o] Error 1 On Fri Mar 18 19:48:30 2011, mark.dootson@znix.com wrote: Show quoted text
> Hi, > > The problem: > You have a 64bit Perl but the system installed wxWidgets are 32 bit. > > Solutions > > 1) build 32 bit (i386) arch Perl > 2) > > Download current svn Alien-WxWidgets > > svn export > https://wxperl.svn.sourceforge.net/svnroot/wxperl/Alien-wxWidgets/trunk > > build with > > perl Build.PL --wxWidgets-build='yes' --wxWidgets-source='tar.gz' > --wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.9.1 > > perl Build > perl Build test > perl Build install > > Wx should then build OK. > > You want svn only because current CPAN has wxWidgets 2.9.0 defined as > latest possible version. You want 2.9.1 for best 64 bitness I think.
RT-Send-CC: mark.dootson [...] znix.com
Il Ven 18 Mar 2011 21:52:44, MSCHWERN ha scritto: Show quoted text
> Thanks! Trying it now. A couple notes: > > There's only a .zip file or .tar.bz2 available, so I had to change > --wxWidgets-source. > > It didn't work, but failed differently. A complete report was sent to > CPAN Testers (it was "unknown" rather than a fail) but here's the fail > point: > > g++ -mmacosx-version-min=10.5 -UWX_PRECOMP -c -I. -I. > -I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-
multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/lib/wx/include/osx_cocoa-unicode-2.9 Show quoted text
> -I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/site_perl/5.12.2/darwin-thread-
multi-2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx-2.9 Show quoted text
> -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe > -fstack-protector -I/usr/local/include -I/opt/local/include -O3 > -DVERSION=\"0.98\" -DXS_VERSION=\"0.98\" > "-I/Users/schwern/perl5/perlbrew/perls/perl-v5.12.2/lib/5.12.2/darwin- > thread-multi-2level/CORE" > -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ > -D__WXOSX_COCOA__ Controls.c > Controls.c: In function ‘void > XS_Wx__ComboBox_GetClientData(PerlInterpreter*, CV*)’: > Controls.c:27806: error: request for member ‘GetClientObject’ is > ambiguous > /Users/schwern/perl5/perlbrew/perls/perl- > v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi- > 2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx- > 2.9/wx/ctrlsub.h:300: > error: candidates are: wxClientData* > wxItemContainer::GetClientObject(unsigned int) const > /Users/schwern/perl5/perlbrew/perls/perl- > v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi- > 2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx- > 2.9/wx/event.h:3205: > error: wxClientData* wxEvtHandler::GetClientObject() > const > Controls.c: In function ‘void > XS_Wx__ComboBox_SetClientData(PerlInterpreter*, CV*)’: > Controls.c:27838: error: request for member ‘SetClientObject’ is > ambiguous > /Users/schwern/perl5/perlbrew/perls/perl- > v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi- > 2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx- > 2.9/wx/ctrlsub.h:299: > error: candidates are: void wxItemContainer::SetClientObject(unsigned > int, wxClientData*) > /Users/schwern/perl5/perlbrew/perls/perl- > v5.12.2/lib/site_perl/5.12.2/darwin-thread-multi- > 2level/Alien/wxWidgets/osx_cocoa_2_9_1_uni/include/wx- > 2.9/wx/event.h:3204: > error: void > wxEvtHandler::SetClientObject(wxClientData*) > make: *** [Controls.o] Error 1
Fix committed to Wx trunk (patch attached). Regards, Mattia
Subject: fix.diff
commit 0618858e0f4ecd65dbefad7f55254ff4a93e42d6 Author: mbarbon <mbarbon@2e9104e8-d5c8-4c90-bb67-bfd1792b7337> Date: Sat Mar 19 10:56:08 2011 +0000 Compilation fix for wxWidgets 2.9.x/Cocoa. git-svn-id: https://wxperl.svn.sourceforge.net/svnroot/wxperl/wxPerl/trunk@3037 2e9104e8-d5c8-4c90-bb67-bfd1792b7337 diff --git a/XS/ComboBox.xs b/XS/ComboBox.xs index f71d6f5..b85cdaa 100644 --- a/XS/ComboBox.xs +++ b/XS/ComboBox.xs @@ -5,7 +5,7 @@ ## Modified by: ## Created: 31/10/2000 ## RCS-ID: $Id$ -## Copyright: (c) 2000-2004, 2006-2008, 2010 Mattia Barbon +## Copyright: (c) 2000-2004, 2006-2008, 2010-2011 Mattia Barbon ## Licence: This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself ############################################################################# @@ -89,7 +89,9 @@ wxComboBox::Create( parent, id = wxID_ANY, value = wxEmptyString, pos = wxDefaul INCLUDE_COMMAND: $^X -pe "s/ItemContainerImmutable/ComboBox/g" XS/ItemContainerImmutable.xs -INCLUDE_COMMAND: $^X -pe "s/ItemContainer/ComboBox/g" XS/ItemContainer.xs +# the second regex is an horrible hack to solve ambiguity; +# see also OwnerDrawnComboBox.xsp +INCLUDE_COMMAND: $^X -pe "s/ItemContainer/ComboBox/g;s/->(?=[SG]etClientObject)/->wxItemContainer::/" XS/ItemContainer.xs #undef WXPERL_IN_COMBOBOX
Subject: Re: [rt.cpan.org #66723] Can't build on OS X
Date: Thu, 24 Mar 2011 15:50:14 +1100
To: bug-Wx [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
We're getting somewhere! Now it builds, but it hangs at the end of t/04_userdata.t. The test frame does appear briefly and then goes away. Running the test in the debugger, it's hanging at Wx::WakeUpIdle() in Tests_Helper_Frame::Destroy(). Tests_Helper_Frame::Destroy(t/Tests_Helper.pm:271): 271: Wx::WakeUpIdle(); DB<2> T . = Tests_Helper_Frame::Destroy(ref(Tests_Helper_Frame)) called from file `t/Tests_Helper.pm' line 257 . = Tests_Helper_Frame::__ANON__[t/Tests_Helper.pm:258](ref(Tests_Helper_Frame), ref(Wx::TimerEvent)) called from file `t/Tests_Helper.pm' line 47 . = eval {...} called from file `t/Tests_Helper.pm' line 47 . = Tests_Helper::in_frame(ref(CODE)) called from file `t/04_userdata.t' line 185 DB<2> n 0 windhund ~/src/wxPerl$ prove -bmv t/04_userdata.t t/04_userdata.t .. 1..53 ok 1 - Wx::TreeItemData::GetData ok 2 - Wx::TreeItemData::GetData (again) ok 3 - Wx::TreeCtrl::GetPlData ok 4 - Wx::TreeItemData::SetData ok 5 - Wx::TreeCtrl::SetItemData ok 6 - Wx::TreeCtrl::SetPlData ok 7 - WxTreeCtrl: deleting an item deletes the data ok 8 - Wx::TreeCtrl: setting again item data deletes old data ok 9 - Wx::TreeCtrl: deleting the tree deletes the data ok 10 - Wx::ListBox: some client data ok 11 - Wx::ListBox: no client data ok 12 - Wx::ListBox: setting client data ok 13 - Wx::ListBox: setting client data (again) ok 14 - Wx::ListBox: client data is a reference ok 15 # skip delayed on Mac ok 16 - Wx::ListBox: setting again item data deletes old data ok 17 # skip delayed on Mac/MSW ok 18 - Wx::Choice: some client data ok 19 - Wx::Choice: no client data ok 20 - Wx::Choice: setting client data ok 21 - Wx::Choice: setting client data (again) ok 22 - Wx::Choice: client data is a reference ok 23 - Wx::Choice: deleting an item deletes the data ok 24 - Wx::Choice: setting again item data deletes old data ok 25 - Wx::Choice: deleting the control deletes the data ok 26 - Wx::ComboBox: some client data ok 27 - Wx::ComboBox: no client data ok 28 - Wx::ComboBox: setting client data ok 29 - Wx::ComboBox: setting client data (again) ok 30 - Wx::ComboBox: client data is a reference ok 31 - Wx::ComboBox: deleting an item deletes the data ok 32 - Wx::ComboBox: setting again item data deletes old data not ok 33 - Wx::ComboBox: deleting the control deletes the data # Failed test 'Wx::ComboBox: deleting the control deletes the data' # at t/04_userdata.t line 155. ok 34 - Wx::CheckListBox: some client data ok 35 - Wx::CheckListBox: no client data ok 36 - Wx::CheckListBox: setting client data ok 37 - Wx::CheckListBox: setting client data (again) ok 38 - Wx::CheckListBox: client data is a reference ok 39 # skip delayed on Mac ok 40 - Wx::CheckListBox: setting again item data deletes old data ok 41 # skip delayed on Mac/MSW ok 42 - Wx::OwnerDrawnComboBox: some client data ok 43 - Wx::OwnerDrawnComboBox: no client data ok 44 - Wx::OwnerDrawnComboBox: setting client data ok 45 - Wx::OwnerDrawnComboBox: setting client data (again) ok 46 - Wx::OwnerDrawnComboBox: client data is a reference ok 47 - Wx::OwnerDrawnComboBox: deleting an item deletes the data ok 48 - Wx::OwnerDrawnComboBox: setting again item data deletes old data ok 49 - Wx::OwnerDrawnComboBox: deleting the control deletes the data ok 50 - Wx::ListCtrl first item data ok 51 - Wx::ListCtrl second item data ok 52 - Wx::ListCtrl third item data ok 53 - Wx::ListCtrl, changing item data -- s7ank: i want to be one of those guys that types "s/j&jd//.^$ueu*///djsls/sm." and it's a perl script that turns dog crap into gold.
The latest update from SVN has fixed the problem. 04_userdata.t still fails but does not hang. t/04_userdata.t ....... 1/53 # Failed test 'Wx::ComboBox: deleting the control deletes the data' # at t/04_userdata.t line 155. # Looks like you failed 1 test of 53. I can finally install Wx! :)