For a few years I've been trying to get the Tkx module to install and work on a Linux system, using a stock vendor version of Perl (I've also tested on a perlbrew install as well) but without very much success. The best I could get would be for the test suite to pass, but "real" programs using Tkx (including "tkx-ed" that comes with the module) would fail, giving segmentation faults.

I chalked it off as being that ActiveState did something custom with their version of Perl and that the only way to get Tkx to work is to use ActivePerl.

But today I decided to take another stab at it. At first I came to the same point I've come with it before: the test suite works, but nothing else. But I decided to look into the Makefile to see why the test suite works -- because, if I ran a test manually, like perl t/LabEntry.t, it would also segfault. To make a long story short, this doesn't work:

$ perl tkx-ed
Segmentation fault (code dumped)
But this does:

$ PERL_DL_NONLAZY=1 perl tkx-ed
The Makefile sets this variable and the tests pass. Without it, you get a segfault. With this variable, tkx-ed and tkx-prove both run. Without it, segfault.

What is this variable for, and what would cause it to be required for this one module to work?


In reply to Tkx and PERL_DL_NONLAZY by Kirsle

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.