From: Eric W. <scr...@gm...> - 2006-12-05 09:16:27
|
I'm building an appbundle (with ExtUtils::MacMaker) on 10.4, localizing all of the wx dylibs, libperl, .bundles, etc -- but I get this when trying to run on a 10.3 mac with no perl installed: dyld: .../wxdo.app/Contents/MacOS/wxdo Undefined symbols: .../wxdo.app/Contents/Resources/Perl-Libraries/auto/Wx/Html/Html.bundle undefined reference to __Z27wxPli_add_constant_functionPPFdPKciE expected to be defined in a dynamic image The odd thing is that I only get this when I load something from the extensions. I can use the wxcore from a standalone appbundle without any trouble, so it seems like some sort of problem in wxbootstrap(). Unfortunately, apple makes it rather difficult for me to test on a 10.4 mac with no perl (plus, it seems to be part of the standard install now.) Any thoughts? If anyone wants to poke at it, just build the wxdo demo from here: http://scratchcomputing.com/svn/Module-Build-Plugins-MacBundle/trunk/ Thanks, Eric -- Moving pianos is dangerous. Moving pianos are dangerous. Buffalo buffalo buffalo buffalo buffalo buffalo buffalo. --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- |
From: Mark D. <mar...@zn...> - 2006-12-05 21:29:04
|
Eric, Take a look at the source for Wx::Perl::Packager on CPAN. Its pure perl so you should be able to just download and browse. For any kind of bundling of Wx, you have to tell Wx where it can load the none core libraries from. Wx has some hooks (via Wx::Mini) that allow you to do this. Wx::Perl::Packager does this for PDK and PAR and works (at least to a basic tested level) for those packaging methods on both Win32 and Linux. I have access to a 10.3 Mac so if you leave http://scratchcomputing.com/svn/Module-Build-Plugins-MacBundle/trunk/ I'll use this to see if I can make the necessary changes to Wx::Perl::Packager so it can help with an appbundle on the Mac. I probably won't get to this before the weekend though so if you take a look at what Wx::Perl::Packager does, you might be able to solve the problem before then. Of course, I'm making the assumption that this is really the same problem. Regards Mark Eric Wilhelm wrote: > I'm building an appbundle (with ExtUtils::MacMaker) on 10.4, localizing > all of the wx dylibs, libperl, .bundles, etc -- but I get this when > trying to run on a 10.3 mac with no perl installed: > > dyld: .../wxdo.app/Contents/MacOS/wxdo Undefined symbols: > .../wxdo.app/Contents/Resources/Perl-Libraries/auto/Wx/Html/Html.bundle > undefined reference to __Z27wxPli_add_constant_functionPPFdPKciE > expected to be defined in a dynamic image > > The odd thing is that I only get this when I load something from the > extensions. I can use the wxcore from a standalone appbundle without > any trouble, so it seems like some sort of problem in wxbootstrap(). > > Unfortunately, apple makes it rather difficult for me to test on a 10.4 > mac with no perl (plus, it seems to be part of the standard install > now.) > > Any thoughts? If anyone wants to poke at it, just build the wxdo demo > from here: > > http://scratchcomputing.com/svn/Module-Build-Plugins-MacBundle/trunk/ > > Thanks, > Eric |
From: Mark D. <mar...@zn...> - 2006-12-05 22:08:14
|
Hmmmm On reflection, there's so much wrong with my suggestion below that its difficult to know where to start. Now, where's that recall button on my email client ...... Of course, it just doesn't work in the way suggested by me below. I'm hanging up me keyboard before I do some damage. Regards Mark Mark Dootson wrote: > Eric, > > Take a look at the source for Wx::Perl::Packager on CPAN. Its pure perl > so you should be able to just download and browse. > > For any kind of bundling of Wx, you have to tell Wx where it can load > the none core libraries from. Wx has some hooks (via Wx::Mini) that > allow you to do this. > > Wx::Perl::Packager does this for PDK and PAR and works (at least to a > basic tested level) for those packaging methods on both Win32 and Linux. > > I have access to a 10.3 Mac so if you leave > > http://scratchcomputing.com/svn/Module-Build-Plugins-MacBundle/trunk/ > > I'll use this to see if I can make the necessary changes to > Wx::Perl::Packager so it can help with an appbundle on the Mac. I > probably won't get to this before the weekend though so if you take a > look at what Wx::Perl::Packager does, you might be able to solve the > problem before then. > > Of course, I'm making the assumption that this is really the same problem. > > Regards > > Mark > > Eric Wilhelm wrote: >> I'm building an appbundle (with ExtUtils::MacMaker) on 10.4, localizing >> all of the wx dylibs, libperl, .bundles, etc -- but I get this when >> trying to run on a 10.3 mac with no perl installed: >> >> dyld: .../wxdo.app/Contents/MacOS/wxdo Undefined symbols: >> .../wxdo.app/Contents/Resources/Perl-Libraries/auto/Wx/Html/Html.bundle >> undefined reference to __Z27wxPli_add_constant_functionPPFdPKciE >> expected to be defined in a dynamic image >> >> The odd thing is that I only get this when I load something from the >> extensions. I can use the wxcore from a standalone appbundle without >> any trouble, so it seems like some sort of problem in wxbootstrap(). >> >> Unfortunately, apple makes it rather difficult for me to test on a 10.4 >> mac with no perl (plus, it seems to be part of the standard install >> now.) >> >> Any thoughts? If anyone wants to poke at it, just build the wxdo demo >> from here: >> >> http://scratchcomputing.com/svn/Module-Build-Plugins-MacBundle/trunk/ >> >> Thanks, >> Eric > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > wxperl-users mailing list > wxp...@li... > https://lists.sourceforge.net/lists/listinfo/wxperl-users |
From: Eric W. <scr...@gm...> - 2006-12-09 20:18:26
|
# from Eric Wilhelm # on Tuesday 05 December 2006 01:16 am: > dyld: .../wxdo.app/Contents/MacOS/wxdo Undefined symbols: > > .../wxdo.app/Contents/Resources/Perl-Libraries/auto/Wx/Html/Html.bundle > undefined reference to __Z27wxPli_add_constant_functionPPFdPKciE > expected to be defined in a dynamic image # from Mark Dootson # on Tuesday 05 December 2006 02:06 pm: >On reflection, there's so much wrong with my suggestion below that its >difficult to know where to start. Well, you did at least get me thinking about the right bits of code. I did some more digging and ended up deep inside of XSLoader and DynaLoader. It appears that _boot_Constant( 'Wx', $XS_VERSION ); ...doesn't actually do anything. But, I still can't quite figure out what's going on. I also tried building wxPerl as ppc-only using the 10.3 SDK in -isysroot flag (per [1]) (note: I had to use `ditto` to extract a /usr/bin/perl-ppc from apple's universal perl.) But, this gives me the same "expected to be defined" errors when loading any of the Wx extensions on 10.3. My best guess is that it is because the .dylib symbol tables are slightly different from one OS version to the other. If that's the case, it may be that apple's perl is not 10.3 compatible (and therefore my libperl and Dynaloader.bundle are the source of the problem?) But, how to ask a binary what SDK it was built against? I guess I should also ask the question: does Wx work when compiled on a 10.3 mac? Given apple's policy of discontinuing all old software (including a 10.3-compatible xcode) on day zero of a new version, I'm going to have a tough time discovering that for myself without shelling out some bucks for a trip to their lab in california. So, what to do? Is it worth compiling perl-and-everything-else from source as ppc with the 10.3 SDK? It's sounding like I'll have to do that to get something that's compatible with old macs (and then (assuming the ppc cross-compiled build works!) stitch everything together with an i386 build to get a universal binary.) Alternatively, I just give up and don't do a binary build for 10.3. How many users does that exclude? --Eric [1] http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_development/Using/chapter_3_section_2.html -- So malloc calls a timeout and starts rummaging around the free chain, sorting things out, and merging adjacent small free blocks into larger blocks. This takes 3 1/2 days. --Joel Spolsky --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- |
From: Mark D. <mar...@zn...> - 2006-12-10 03:11:17
|
Hi, > I guess I should also ask the question: does Wx work when compiled on a > 10.3 mac? Yes. Last version I built was Wx 0.54 with wxWidgets 2.6.3 - it worked as expected. > Alternatively, I just give up and don't do a binary build for 10.3. How > many users does that exclude? Assuming Safari .31 is what comes with 10.3, the site http://marketshare.hitslink.com/report.aspx?qprid=6&qpmr=55&qpdt=1&qpct=3&qptimeframe=M&qpsp=94 would suggest that in November around 21% of the Mac users they tracked were on 10.3 (at least those using Safari) Their figures for June 2006 showed 30% were 10.3 users. Interestingly, I thought perhaps using Activestate's latest PDK might offer a painfree solution as it now supports MacOSX - or at least confirmation that it can work. But I see from their website that it only works on 10.4 + So sorry, no solutions - but hopefully the info helps you make up your mind. Regards Mark |