chexmix has asked for the wisdom of the Perl Monks concerning the following question:
I am attempting to install the module XML::LibXML in my work environment, and it keeps failing because the version of libxml2.so it (Perl itself?) was compiled against is different from the one in the runtime environment.
Here is the failure text:
# Failed test 'LIBXML__VERSION == LIBXML_RUNTIME_VERSION' # at t/01basic.t line 18. # got: '20706' # expected: '20900' # DO NOT REPORT THIS FAILURE: Your setup of library paths is incorrect +! # # # Compiled against libxml2 version: 20706 # Running libxml2 version: 20900
2.7.6 is what is resident in /usr/lib64 ... 2.9.0 is in /usr/local/lib. I queried our systems folks about this and they asked me whether I could remove /usr/local/lib from my runtime environment.
I tried removing /usr/local/lib from the LD_LIBRARY_PATH environment variable, but that seems to have not done the trick -- I get the same error. Is there another way to do this, e.g. hide /usr/local/lib?
Now that I've typed this I realize it isn't exactly a Perl question! It's more of a systems question.
I thought briefly that I should reinstall Perl in case this 2.9.0 version of libxml2 was installed since I put the Perl in place the first time ... but ... I'm doing this on a 64bit machine: shouldn't Perl default to compiling against the 64bit library (I'm a bit out of my element)?
If there is no way around this I guess I can use --force to get the module installed, but I always hesitate to do so although I have never suffered any deleterious effects.