|
From: Daniell F. <win...@gm...> - 2007-01-20 06:02:12
|
Well I have it working!
So it is doable. I am now running wxPerl .67 using wxWidgets 2.8.0.
The error I mentioned below was caused because I had rebuilt
wxWidgets with MediaCtrl, then rebuilt wxPerl to support it. I had
to add:
'media' => {
'link' => '-lwx_mac_media-2.8',
'dll' =>
'libwx_mac_media-2.8.dylib'
},
to the below mentioned hash.
When I did the make install, it didn't replace everything, like the
Wx.bundle. Cleaning up the previous attempt and installing clean
fix the error.
I hope this will help other that are having problems building wxPerl
on OSX.
If I can figure out how to make an OS X package for the setup, I'll
build one and submit it to be posted on the wxperl site for others to
use -- no promises. I've never tried making one of the packages.
Thanks,
Dan Freed
On Jan 19, 2007, at 11:28 PM, Daniell Freed wrote:
> Just to continue my saga to figure out how to compile wxPerl on OS
> X, I think I have figured out a least partially way I can't get
> past the Makefile.PL stage.
>
> I am getting errors like:
> No such 'link' library: 'adv' at /Users/dfreed/sourcecode/
> WxPerl-0.67/build/Wx/build/MakeMaker.pm line 206
>
> When running this stage. I ran this through the debugger, and it
> appears that wxPerl is expecting to find libs like: adv, core,
> base, html when calling Alien::wxWidgets->libraries, at least the
> Makefile.PL script is passing a list of names like this to that
> Alien function. When I dug into what was going on in
> Alien::wxWidgets, I see that it has a file: /Library/Perl/5.8.6/
> darwin-thread-multi-2level/Alien/wxWidgets/Config/
> mac_2_8_0_gcc_3_4.pm which appears to be generated when
> Alien::wxWidgets is built. This file defines a hash that contains
> wx-config information in it. The keys of the _libraries hash are
> all a single letter for example:
>
> '_libraries' => {
> 'e' => {
> 'link' => '-lwx_mac_core-2.8',
> 'dll' =>
> 'libwx_mac_core-2.8.dylib'
> },
> 'c' => {
> 'link' => '-lwx_mac_xrc-2.8',
> 'dll' =>
> 'libwx_mac_xrc-2.8.dylib'
> },
> 'e' => {
> 'link' => '-lwx_base_carbon-2.8',
> 'dll' =>
> 'libwx_base_carbon-2.8.dylib'
> },
> ....
>
> But it looks like the wxPerl is passing it keys like 'core' and
> 'xrc', etc. Somehow the hash keys appear to only be the last
> letter of the library name. I didn't dig to see why that is.
> There were also several important libraries not in the hash at
> all. After hand editing the file to this:
>
> '_libraries' => {
> 'core' => {
> 'link' => '-lwx_mac_core-2.8',
> 'dll' =>
> 'libwx_mac_core-2.8.dylib'
> },
> 'xrc' => {
> 'link' => '-lwx_mac_xrc-2.8',
> 'dll' =>
> 'libwx_mac_xrc-2.8.dylib'
> },
> 'base' => {
> 'link' => '-lwx_base_carbon-2.8',
> 'dll' =>
> 'libwx_base_carbon-2.8.dylib'
> },
> 'qa' => {
> 'link' => '-lwx_mac_qa-2.8',
> 'dll' => 'libwx_mac_qa-2.8.dylib'
> },
> 'adv' => {
> 'link' => '-lwx_mac_adv-2.8',
> 'dll' =>
> 'libwx_mac_adv-2.8.dylib'
> },
> 'aui' => {
> 'link' => '-lwx_mac_aui-2.8',
> 'dll' =>
> 'libwx_mac_aui-2.8.dylib'
> },
> 'richtext' => {
> 'link' => '-
> lwx_mac_richtext-2.8',
> 'dll' =>
> 'libwx_mac_richtext-2.8.dylib'
> },
> 'html' => {
> 'link' => '-lwx_mac_html-2.8',
> 'dll' =>
> 'libwx_mac_html-2.8.dylib'
> },
> 'net' => {
> 'link' => '-
> lwx_base_carbon_net-2.8',
> 'dll' =>
> 'libwx_base_carbon_net-2.8.dylib'
> },
> 'xml' => {
> 'link' => '-
> lwx_base_carbon_xml-2.8',
> 'dll' =>
> 'libwx_base_carbon_xml-2.8.dylib'
> },
> 'stc' => {
> 'link' => '-lwx_mac_stc-2.8',
> 'dll' =>
> 'libwx_mac_stc-2.8.dylib'
> },
>
> },
>
> I can now run perl Makefile.PL to completion and build wxPerl. I'm
> still having some problems. Just loading the Wx module is now
> causing an error:
>
> $ wxperl
> use Wx;
> Can't load '/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Wx/
> Wx.bundle' for module Wx: dlopen(/Library/Perl/5.8.6/darwin-thread-
> multi-2level/auto/Wx/Wx.bundle, 1): Symbol not found:
> __ZTV11wxMediaCtrl
> Referenced from: /Library/Perl/5.8.6/darwin-thread-multi-2level/
> auto/Wx/Wx.bundle
> Expected in: dynamic lookup
> at - line 1
> Compilation failed in require at - line 1.
> BEGIN failed--compilation aborted at - line 1.
>
> I'm not sure what the heck this is about. But I am closing in...
>
> If anyone has anything thoughts that would help, they would be very
> much appreciated.
>
> Thanks,
> Dan Freed
>
>
>
>
> On Jan 19, 2007, at 2:53 PM, Eric Wilhelm wrote:
>
>> # from Beule, Franck
>> # on Friday 19 January 2007 06:01 am:
>>
>>> And for my conclusion, if it's hard to compile on Windows (someone
>>> succeded on this task,
>>> but he didn't explained how) and impossible to compile on Linux and
>>> MacOSX,
>>> does someone really use wxPerl ???
>>
>> Yes, it is quite possible. No, it is not easy. IME,
>> Alien::WxWidgets
>> can be a bit of a pain. I've not managed to successfully compile on
>> windows, but getting the right tools installed on windows is a huge
>> pain. I built wxGTK on linux without any trouble, but
>> Alien::WxWidgets
>> is still a speed-bump there. The mac works too, though getting it
>> built as a universal binary is a huge pain because apple decided
>> to put
>> too much of the smarts into xcode and CPAN isn't having any of that.
>>
>> Which is why dotReader has to provide out-of-the-box bundles for all
>> three platforms. That's not easy. Dependency scanning is the
>> current
>> speedbump.
>>
>> Consider the challenges:
>>
>> o compiling wxWidgets without user intervention (Alien)
>> o compatibility with multiple wxWidgets versions
>> o compatibility with multiple perl versions
>> o various flaky windows environments (make, nmake, gcc, cc.exe,
>> etc)
>> o compatibility with multiple mac versions
>> (mac testing is expensive: 1 OS per machine, no virtualizing,
>> and apple end-of-lifes the old xcode on day one of the next OS)
>>
>> And that's just the overhead to developing the perl binding.
>> Unfortunately, until more people pitch in to strawberry perl,
>> automated
>> cross-platform testing, etc, this isn't going to get easier for
>> end-users either. wxPerl itself is very well done, but these huge
>> barriers to entry make it hard to test, let alone contribute.
>>
>> IMNSHO, the spam on this list doesn't help much. The wiki is also
>> a bit
>> slow from this part of the world. I think wxPerl's users, code, and
>> documentation would really benefit from moving to the perl.org
>> infrastructure (mail, svn, probably even hosting.)
>>
>> --Eric
>> --
>> "Matter will be damaged in direct proportion to its value."
>> --Murphy's Constant
>> ---------------------------------------------------
>> http://scratchcomputing.com
>> ---------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> ----
>> 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
>
> Daniell Freed
> win...@gm...
> Bereshit bara Elohim et hashamayim ve'et ha'arets...
>
>
Daniell Freed
win...@gm...
Bereshit bara Elohim et hashamayim ve'et ha'arets...
|