Re: Perl/Tk Version Dependency Issue
by choroba (Cardinal) on May 24, 2016 at 07:46 UTC
|
It's not possible to use the same Tk for different Perl versions. It's possible, though, to have a separate Tk module for each Perl version, even on the same computer - yes, you can have more than one Perl version installed. See perlbrew, or local::lib. The trick is that each Perl knows where to search for its modules.
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
| [reply] [d/l] |
|
|
Hi Choroba,
Thanks for your response !!
Are you sure about this? Usually we may not expect that much of version dependency for any other perl module. Right?
Even though my observations are same as what you have mentioned, I had difficulty in convincing my manager that Tk perl module is acutually entirely version dependent.
But in case this is a bitter fact about which you are sure as well, I worry I may have to shift all my perl scripts away from Tk as we cannot have a sustainable script production this way due to high maintenance needs on each and every user's system.
Looking forward to your reply on this.
| [reply] |
|
|
Any module that needs to compile XS code depends on Perl version (and C compiler version and flags). I doubt you can find any GUI module that doesn't depend on them.
On the other hand, this doesn't mean high maintenance needs. Just ship your application together with the right Perl version, and you'll only have to manage single build of each module.
Another option is to distribute the sources and dependencies and let the end users compile the modules themselves (by prepared scripts, of course).
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
| [reply] [d/l] |
Re: Perl/Tk Version Dependency Issue
by Corion (Patriarch) on May 24, 2016 at 07:03 UTC
|
Where do you "download Perl/Tk module for Perl v5.xx.yy"? If you use a package manager to download prebuilt packages, these are tightly coupled to the Perl major version xx. You cannot mix modules from one Perl major version xx with another Perl binary.
I recommend either building Tk with your Perl binary yourself or learning how to use your package manager and to install the appropriate Perl binary package and the appropriate Tk package.
| [reply] |
|
|
Hi Corion,
Thanks for your reply on my query.
Please excuse my beginner level knowledge on perl. I am not sure about information you have asked me so I am describing how I got the Tk module for a particular perl version.
How I got Tk Perl Module?
I have got the Tk module with help of IT team in my organization and I am not sure how exactly they have downloaded and installed Tk Module. But each time, my request was given to IT team was in this way -> "To install Tk module for a particular Perl v5.xx.1 version".
Due to my very limited knowledge in managing modules in perl, I have difficulty understanding how to build Tk for a particular perl binary. But even if I somehow build Tk manually, will that ensure that it works for all perl versions? I assume here that you meant "perl version" by saying "perl binary".
Looking forward to your reply on this.
| [reply] |
|
|
Perl binaries are even more specific than just Perl versions, but for the current discussion, Perl binary and Perl version can be used synonymously.
There is no way that a single build of a module will work with all Perl versions. You need to build the module for each Perl version separately and install it separately. If you don't know how to instruct your IT team to solve this problem, we cannot help you because we don't know how your IT team receives its instructions.
| [reply] |
|
|