November 11th, 2012, 01:16 PM
Installin Perl Module
Well I have got to a point that I cannot proceed any further.
I was able to use perl –MCPAN –e ‘shell’ to install my module Text-Wrap-Smart-XS-0.06 (http://search.cpan.org/~schubiger/Text-Wrap-Smart-XS-0.06/lib/Text/Wrap/Smart/XS.pm) and it installed automatically with no issues.
However putting use Text::Wrap::Smart::XS ':all'; in the script resulted in an error that XS.pm was not located in @INC
And the module installed to a different version of perl; /usr/lib/perl5/5.15.4/ which is apparently not in @INC; because I think @INC is not updated or compiled to the latest version of Perl.
However I think @INC needs to retain the current information it has now so that all my previously installed perl modules will operate correctly. @INC can be updated in include, but it must keep the current information in it in tact.
So I spent a lot of time creating new directories under /usr/lib/perl5/5.8.8/ so that @INC would be satisified.
I even tried a second manual install of the module hoping it would ask me where to install the module. But it still installed to /perl5/5.15.4/ which is not in the @INC path.
So, after getting everything copied and created to the proper directories by correcting one @INC error after another and locating the last error about the XS.so object and copying that object to the correct locatable directory, I then received this error:
undefined symbol pl_unitcheckav
I searched Google and came up with this explanation:
There seems to be a Perl version mismatch. The signs point to: The .so you are loading was built using one version of Perl and it's being loaded by an incompatible version of Perl.
Which makes sense. This XS.so was built using 5.15.4 I think and I have it going down a /5.8.8/ path.
So there in lies my dilemma.
I think I need to make @INC look down the /perl5/5.15.4/ path or I need to get my module installed and compiled in perl5/5.8.8/. I am not sure which is best or if this is my solution.
I think adding a path to @INC is best option, but I do not think that is easiest. I think @INC is compiled when Perl is installed. I am not sure how to include my pathing in @INC.
Does anyone know what I should do from here? I mean I can’t imagine that this is the first time anybody has crossed this bridge installing a perl mod.
I think there is a simple answer. I just don’t know it.
Maybe it is as simple as telling perl where to install the new module? I was not given any option of where to install the module. I have searched around and found something to do with ./configure and I have tried some things but I get bash errors...not found...
Thanks for any help or insight.