[Phoenix-pm] Bob Lindley's Question

Robert Lindley bob at brogmoid.com
Sun Sep 5 17:49:06 PDT 2010


Doug,

I followed your link to the Perl Testers report. I have not looked at 
Perl Testers for a very long time. The last time that I looked all I 
found was an incomprehensible information overload. That chart that they 
have now tells you what you want to know.   I looks like Tkx worked on 
5.10.0 and not on 5.10.1. Clicking on the bar at version 5.10.1 and 
Linux the report show a pass for i686 and a fail for s390. So it should 
work on i686 Perl 5.10.1.

Tried again, cpan will not install Tkx because it lacks prerequisite Tcl.

Tried again to install Tcl.

cpan output:

CPAN.pm: Going to build V/VK/VKON/Tcl-0.98.tar.gz

LIBS   = -Ltcl-core/linux-i686 -ltclstub8.4
INC    = -Itcl-core/include
DEFINE =  -DUSE_TCL_STUBS
Checking if your kit is complete...
Looks good
Warning: -Ltcl-core/linux-i686 changed to 
-L/root/.cpan/build/Tcl-0.98-Ip73er/tcl-core/linux-i686
Writing Makefile for Tcl
cp Tcl.pm blib/lib/Tcl.pm
/usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp  -typemap 
/usr/share/perl/5.10/ExtUtils/typemap -typemap typemap  Tcl.xs > Tcl.xsc 
&& mv Tcl.xsc Tcl.c
Please specify prototyping behavior for Tcl.xs (see perlxs manual)
cc -c  -Itcl-core/include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN 
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"0.98\" 
-DXS_VERSION=\"0.98\" -fPIC "-I/usr/lib/perl/5.10/CORE"  -DUSE_TCL_STUBS 
Tcl.c
Tcl.xs: In function 'NpLoadLibrary':
Tcl.xs:210: warning: format not a string literal and no format arguments
Tcl.xs: In function 'NpInitialize':
Tcl.xs:396: warning: format not a string literal and no format arguments
Tcl.xs: In function 'Tcl_EvalInPerl':
Tcl.xs:782: warning: format '%d' expects type 'int', but argument 2 has 
type 'I32'
Tcl.xs: In function 'Tcl_PerlCallWrapper':
Tcl.xs:862: warning: format '%d' expects type 'int', but argument 2 has 
type 'I32'
Tcl.xs: In function 'XS_Tcl_Eval':
Tcl.xs:1026: warning: format not a string literal and no format arguments
Tcl.xs: In function 'XS_Tcl_EvalFile':
Tcl.xs:1087: warning: format not a string literal and no format arguments
Tcl.xs: In function 'XS_Tcl_EvalFileHandle':
Tcl.xs:1112: warning: format not a string literal and no format arguments
Tcl.xs: In function 'XS_Tcl_invoke':
Tcl.xs:1246: warning: format not a string literal and no format arguments
Tcl.xs: In function 'XS_Tcl_icall':
Tcl.xs:1313: warning: format not a string literal and no format arguments
Tcl.xs: In function 'XS_Tcl_Init':
Tcl.xs:1388: warning: format not a string literal and no format arguments
Running Mkbootstrap for Tcl ()
chmod 644 Tcl.bs
rm -f blib/arch/auto/Tcl/Tcl.so
cc  -shared -O2 -g -L/usr/local/lib -fstack-protector Tcl.o  -o 
blib/arch/auto/Tcl/Tcl.so      \
            -L/root/.cpan/build/Tcl-0.98-Ip73er/tcl-core/linux-i686 
-ltclstub8.4       \

chmod 755 blib/arch/auto/Tcl/Tcl.so
cp Tcl.bs blib/arch/auto/Tcl/Tcl.bs
chmod 644 blib/arch/auto/Tcl/Tcl.bs
Manifying blib/man3/Tcl.3pm
   VKON/Tcl-0.98.tar.gz
   /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/call.t ....... NpLoadLibrary: could not find Tcl dll
Failed to load Tcl dll! at /usr/lib/perl/5.10/DynaLoader.pm line 216.
Unable to initialize Tcl at /usr/lib/perl/5.10/DynaLoader.pm line 216.
Compilation failed in require at t/call.t line 6.
BEGIN failed--compilation aborted at t/call.t line 6.
t/call.t ....... Dubious, test returned 2 (wstat 512, 0x200)

There was a lot more output but it just repeated the "NpLoadLibrary: 
could not find Tcl dll" for each test module.

As I recall I got the same result when I tried to install Tkx from cpan 
for perl 5.10.1 on Novell SLES 11.0.

Ran Google and looked for the Tcl message "NpLoadLibrary: could not find 
Tcl dll" and found two queries and neither had an answer as to what the 
cause was.

Perl Testers shows that Tkx works with all version 5.12 or perl. Tried 
to upgrade Ubuntu 10.4 to have Perl 5.12. But, it is not in their 
program repository.

ActivePerl Perl/Tkx works fine on Ubuntu 10.4 installed in the users 
directory.



-----------------------------------------------------------------------------------------------

Perl/Tk was great!

Trouble is that Nick Ing-Simmons lead a one man band. He did a wonderful 
job of porting Tcl/Tk into Perl/Tk. He basically recoded the underlying 
C code into C code for Perl. Thus the interface fit very closely into 
Perl. When he died a few years ago, some folks tried, but nobody was 
able to bring his code up to date or maintain it. So, Perl/Tk was frozen 
in time. ActivePerl in the upgrade from 5.8 to 5.10 dropped Perl/Tk. 
They introduced Perl/Tkx in ActivePerl 5.8.

Someone, I believe at ActiveState, really wanted to retain that 
functionality in Perl. The result was a very neat methodology. They 
created Perl/Tkx. What that is is a very thin syntactic transform of 
Perl statements into Tcl/Tk statements. The really neat part about this 
is that any upgrades to Tcl/Tk are almost immediately available to 
Perl/Tkx without much effort. Thus, eliminating the need for tons of 
opaque C code that had a huge learning curve for anybody that tried to 
maintain it. Also, you are now able to use all the Tck/Tk modules that 
are out there -- and there are plenty of them.

Perl/Tkx works super with ActivePerl. ActivePerl is great on Windoze 
that I use at Boeing. ActivePerl has a distribution for Linux. However, 
if you install it as root, your Linux system has just been destroyed. 
Many of the system utilities are in Perl and they all quit working 
because various Perl modules have been overlayed by other modules. I 
know that from first hand experience! It is only safe to install it for 
a single non-root user which I have done at home on my Ubuntu Linux. I 
would really like to be able to use Perl/Tkx on our Novell SLES 11 Linux 
server at work. The Tcl.pm and Tkx.pm modules from CPAN will not install 
(at least last March). Both were seriouly broken when last I tried.

To get arould the problem, I tried to make stand alone Perl executables 
that anyone on the server could run, Wow! Making a stand alone Perl 
executable is some kind of very black magic. Unfortunately my magic wand 
got lost. Spent many hours of time with no result except for 
frustration. Somebody told me that Strawberry Perl does it easily. But 
that is back to Windows only.

One of those things that works on windows, but I can't make it work on 
Linux (for all users that is).

If you have an ActivePerl installation somewhere, give their Perl 
Package Manager a try to see what Perk/Tkx can do.



On 09/03/2010 07:17 PM, Douglas E. Miles wrote:
> OK, if that's the case, then yes, it failed for me, and there seems to 
> be a lot of fail here:
>
> http://matrix.cpantesters.org/?dist=Tkx+1.08
>
> On 09/03/2010 06:58 PM, Erik Tank wrote:
>> I thought it was Tkx.  I'm running Wubi on my laptop (yes one of these days
>> I'll nuke Windows and install real Ubuntu) and I couldn't get it to install
>> with a combination of CPAN and apt-get.  I only spent about 30 minutes on
>> it.  If Bob could post some sample code that might help in figuring out what
>> needs to be installed.
>>
>> Erik
>>
>> On Fri, Sep 3, 2010 at 6:32 PM, Douglas E. Miles<doug at veritablesoftware.com
>>    
>>> wrote:
>>>      
>>    
>>> Bob,
>>>
>>> Were you asking about compiling Tk, or did I mis-hear you? If you were,
>>> I just installed it from CPAN on Ubuntu 10.04 under Perl 5.10.1 with no
>>> problems. Please let me know if you were asking about something else,
>>> and I'll give it a try.
>>> _______________________________________________
>>> Phoenix-pm mailing list
>>> Phoenix-pm at pm.org
>>> http://mail.pm.org/mailman/listinfo/phoenix-pm
>>>
>>>      
>>    
>>
>>
>> _______________________________________________
>> Phoenix-pm mailing list
>> Phoenix-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/phoenix-pm
>
>
> _______________________________________________
> Phoenix-pm mailing list
> Phoenix-pm at pm.org
> http://mail.pm.org/mailman/listinfo/phoenix-pm

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/phoenix-pm/attachments/20100905/ed125e2a/attachment.html>


More information about the Phoenix-pm mailing list