--- Jeff Hobbs <[EMAIL PROTECTED]> wrote: > Hi Steve, > > Steve Madere wrote: > > Have any of you developed a strategy to > > package an application using Tcl::Tk > > for deployment? > > You should give PDK 7 a try, just released in Beta: > > http://aspn.activestate.com/ASPN/Mail/Message/pdk/3351385 > > It should "just work" for Tcl::Tk wrapping, as well as Tkx (which is like > Tcl::Tk, with a slightly different, stripped down syntax for Tcl/Tk > interaction). > > Jeff Hobbs, The Tk Guy, http://www.ActiveState.com/ >
Thanks for the pointer Jeff. Unfortunately, for me (on a MacBook) it does not seem to work. I have built an extremely simple test script to show the problem: Here is the script: #!/usr/bin/perl # deploy_tcl_tk_test.pl use Tcl::Tk; my $mw = Tcl::Tk::MainWindow(); my $b = $mw->Button(-text=>'push me', -command=>sub {print "Don't push me...\n";}); $b->pack(-fill=>'both', -expand=>1); $mw->interp->MainLoop(); Here is the perlapp command I used and the error generated: # nothing up my sleeve..... $ echo 'PERL5LIB->' $PERL5LIB '<-PERL5LIB' PERL5LIB-> <-PERL5LIB $ /usr/local/PDK/bin/perlapp --norunlib --exe deploy_tcl_tk_test deploy_tcl_tk_test.pl Use of uninitialized value in string eq at /</usr/local/PDK/bin/../lib/pdklib.dylib>ActiveState/Path.pm line 92. Use of uninitialized value in pattern match (m//) at /</usr/local/PDK/bin/../lib/pdklib.dylib>ActiveState/Path.pm line 93. PerlApp 6.9.90 beta build 272361 Copyright (C) 1998-2006 ActiveState Software Inc. All rights reserved. Beta license (Expires: 2007-02-01) **************************************************************************** * WARNING: Applications generated by this evaluation copy of PerlApp will * * stop working after the end of the evaluation period: 2007-02-01 * **************************************************************************** auto/Tcl/Tcl.bundle: error: Mismatch between perlapp (i386/ppc) and /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Tcl/Tcl.bundle (i386). Producing a Universal Binary is not possible refby: /Library/Perl/5.8.6/darwin-thread-multi-2level/Tcl.pm file: /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Tcl/Tcl.bundle Tclaux.pm: error: Can't locate Tclaux.pm refby: /Library/Perl/5.8.6/darwin-thread-multi-2level/Tcl.pm line 397 Tcl/Tk/Table.pm: error: Can't locate Tcl/Tk/Table.pm refby: /Library/Perl/5.8.6/Tcl/Tk.pm line 758 Unable to produce a Universal Binary! at /</usr/local/PDK/bin/../lib/pdklib.dylib>PerlApp/Util.pm line 317. ================================= END OF perlapp OUTPUT ====================================== BTW, I did confirm that perlapp properly builds a trivial app which does not use Tcl::Tk: #!/usr/bin/perl # deploy_trivial.pl use Data::Dumper; my $thing = { a=>{apple=>'fruit',ant=>'insect',aardvark=>'mammal'}, b=>{banana=>'fruit',bomber=>'plane', bongo=>'drum'} }; print Dumper($thing),"\n";