-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tk build/test fails (Perl 5.38, SP 5.38.0.1-64bit-portable) #122
Comments
Thanks for the report. This looks like an issue with Tk rather than Strawberry Perl itself so it should probably be reported there. Having it also here is likely to get more eyes on the problem, though, so we should keep this open. WRT it passing under gdb, try setting Some possible things to check are:
|
Most of the conversion warnings in Tk are for conversions between pointer and int. Such conversions should be just as problematic on Linux as on Windows. However, if that is our problem with Tk-804.036 on 64-bit SP-5.38.0, then I would expect the very same problem to be present with Tk-804.036 on 64-bit SP-5.32.1. It would be nice to have a 32-bit SP-5.38.0 on which to test Tk-804.036. (On such a platform pointer/int/long conversions are not an issue because they're all the same size.) On my own 32-bit builds of perl-5.38.0, the build dies trying to utilize the png library that ships with Tk-804.036, and (so far) I've been averse to working around that issue by building and utilizing a functional libpng library. Cheers, |
There is a fix for this problem described in the thread here. |
Thanks @greggmorris - that's good news. The gdb steps in that issue are also very useful. I'll close this issue now since the issue is with Tk, there is a fix available, and we don't distribute Tk with Strawberry (but maybe one day). |
This problem appears similar to Tk build fails (Perl 5.36 sp536 20230420). I first tried to install Tk using CPAN. I had to add the patch described here to get the build to succeed, but the first test fails:
I then tried to build Tk manually in an MSYS2 environment, with the same patch installed. I can supply log files for the Tk build, if that would be helpful. The test behavior was identical, it failed the same way as above on the first test. In an effort to get more information, I ran the first test manually, outside the test framework:
I'm not familiar with Perl module development or test frameworks. Is "exit status 5" a Windows ERROR_ACCESS_DENIED error? It looks like the segfault occurs on the following call (line 29 in Tk-804.036/PNG/t/basic.t):
I looked in the Tk doc but I didn't see anything about the Label function or image option that gave me a clue about what I am being denied access to, if that is indeed a relevant error code. I thought I might learn something about the segfault by running perl and the test under gdb, but as you can see, the test ran fine.
I tried the second test and it worked fine as well:
I am at a loss. I recently built Perl 5.38 on a Red Hat 8 system and had no problems installing the Tk module. Has anyone found a workaround for this? Unfortunately, we need the vulnerability updates in Perl 5.38 and the Tk module is a requirement for us, so we won't be able to move forward with Perl 5.38 until we solve this problem.
Any suggestions would be greatly appreciated.
The text was updated successfully, but these errors were encountered: