Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

CESM runtime error - Can't locate loadable object for module XML::LibXML in @INC

After building a case successfully, I am trying to run CESM 1.2.2. I use the '$CASE.submit' to submit the job to pbs. (I am using the that job manager)the job gets submittted with the following message -[nitin@master case_B_f19_g16_userdefined_2]$ ./case_B_f19_g16_userdefined_2.submit check_case OK443.master.ipoc.org   However, the jobs gets completed immediately after submission.  The output file generated has the following content [nitin@master case_B_f19_g16_userdefined_2]$ cat case_B_f19_g16.out ccsm_getenv error    The error file generated has the following content[nitin@master case_B_f19_g16_userdefined_2]$ cat case_B_f19_g16.err Can't locate loadable object for module XML::LibXML in @INC (@INC contains: /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2 /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/perl5lib /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/../Case.template /usr/lib64/perl5/XML /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/DynaLoader.pm line 153BEGIN failed--compilation aborted at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/XML/LibXML.pm line 153.Compilation failed in require at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/ConfigCase.pm line 101.BEGIN failed--compilation aborted at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/ConfigCase.pm line 101.Compilation failed in require at ./xmlchange line 202.Can't locate loadable object for module XML::LibXML in @INC (@INC contains: /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/Tools /usr/lib64/perl5/XML /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/DynaLoader.pm line 153BEGIN failed--compilation aborted at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/XML/LibXML.pm line 153.Compilation failed in require at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/ConfigCase.pm line 101.BEGIN failed--compilation aborted at /storage/home/nitin/CESM/cesm1_2_2/nitin_cases/case_B_f19_g16_userdefined_2/Tools/ConfigCase.pm line 101.Compilation failed in require at ./Tools/xml2env line 122. I tried adding the path to the perl INC (using environment variables). I also copied the 'LibXML' directory and 'LibXML.pm' file to the ./Tools/XML/ directory, as it seems that these files are being searched for in the $CASE/Tools/XML/ directory. In spite of all this, the same error shows up. What exactly can i try to solve this error? Thanks.     
 

jedwards

CSEG and Liaisons
Staff member
Can you run `perl -MXML::LibXML -e 1`If it works nothing will happen, if it fails you will get an error like:Can't locate XML/LibXML.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .). BEGIN failed--compilation aborted.Can you run it on the compute nodes?   I'm not sure of this but the error suggests that your compute nodes need a different binary than the one you are pointing to - is your front end node different than the compute nodes?
 
Thanks for the reply. I ran the perl command. It ran successfully. I did not get any error. Yes. My front end node is different from the compute nodes. My front end node is the master node of the cluster. I use the pbs job management system to submit the job. The nature of the binary should be mostly the same for the front end node and the compute nodes. Previously, I have run the same binaries on the front end node and the compute nodes. In spite of no error showing up while running the perl command, why do the logs show the LibXML error? How can I resolve that error? Thanks.
 
Oh, okay. I had previously run it on the master and it was running fine. When I ran it on the compute node, it showed the following error. (Just as you'd told)[nitin@node1 ~]$ perl -MXML::LibXML -e 1 Can't locate XML/LibXML.pm in @INC (@INC contains: /usr/lib64/perl5/XML /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .). BEGIN failed--compilation aborted.So, why is it that the compute nodes cannot access the LibXML.pm file? And how do we fix this? Thanks 
 

jedwards

CSEG and Liaisons
Staff member
perls XML:LibXML relies on a c library libxml2 - it seems that this is not instaled on (or is installed but not compatable with) your compute nodes.   You should talk to your system support staff. 
 
Yeah. The perl module LibXML.pm was missing in the compute nodes.Installed it using the yum command. yum install 'perl(XML::LibXML)'This command installs the perl LibXML module and the error does not show up on running "perl -MXML::LibXML -e 1". The Perl module XML::LibXML can also be downloaded from cpan. Thanks


  
 

swang54@uh_edu

New Member
Hi, I am running cesm1_2_2_CAMChem on Yellowstone but I got the same errors. Based on your discussions, it seems like there is c library missing on the node. But I have no idea what it could happen on Yellowstone. Is there any module that I need to load and call in the job submit script?

Here is the error message from the job.error file:Can't locate XML/LibXML.pm in @INC (@INC contains: /glade/u/home/swang54/cases_test/2011_f19/Tools /glade/u/home/swang54/cases_test/2011_f19/Tools/Tools /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /glade/u/home/swang54/cases_test/2011_f19/Tools/ConfigCase.pm line 101.BEGIN failed--compilation aborted at /glade/u/home/swang54/cases_test/2011_f19/Tools/ConfigCase.pm line 101. Compilation failed in require at ./Tools/xml2env line 122.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------And this is my job script:#!/bin/bash##BSUB -P UHOU0001   # project code#BSUB -W 04:00               # wall-clock time (hrs:mins)#BSUB -n 64                   # number of tasks in job         #BSUB -R "span[ptile=16]"    # run 16 MPI tasks per node#BSUB -J job1_2011               # job name#BSUB -o job1_2011.%J.out        # output file name in which %J is replaced by the job ID#BSUB -e job1_2011.%J.err        # error file name in which %J is replaced by the job ID#BSUB -q regular              # queue  ./2011_f19.submit
Thank you!!
 

jedwards

CSEG and Liaisons
Staff member
On yellowstone this is provided by the perlmods/5.0 module which setssetenv("PERL5LIB", "/glade/apps/opt/perlmods/lib64/perl5:/glade/apps/opt/perlmods/share/perl5") 
 

swang54@uh_edu

New Member
jedwards, Thank you for your reply. I have solved the problem. I should use ./case.submit instead of creating a new script for submitting a job. All parameters associated with running options can be adjusted in .run file. Still thanks for your response! Sally
 

lvxin

lvxin
New Member
perls XML:LibXML relies on a c library libxml2 - it seems that this is not instaled on (or is installed but not compatable with) your compute nodes. You should talk to your system support staff.
I met the same problem, after I install libxml2, do I need to modify any files such as config_machines.xml or config_compilers.xml ?
 

yangx2

xinyi yang
Member
After I install the perl module "libxml",the problem solved. I think you need to add the perl path in config_machines.xml
Hi,
Thanks for your reply. I have added perl path in config_machines.xml (shown below) before building case:
************************************************
<module_system type="module">
<init_path lang="perl">/opt/ohpc/admin/lmod/8.1.18/init/perl</init_path>
<init_path lang="python">/opt/ohpc/admin/lmod/8.1.18/init/env_modules_python.py</init_path>
<init_path lang="sh">/opt/ohpc/admin/lmod/8.1.18/init/sh</init_path>
<init_path lang="csh">/opt/ohpc/admin/lmod/8.1.18/init/csh</init_path>
<cmd_path lang="perl">/opt/ohpc/admin/lmod/8.1.18/libexec/lmod perl</cmd_path>
<cmd_path lang="python">/opt/ohpc/admin/lmod/8.1.18/libexec/lmod python</cmd_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
************************************************
How did you install XML::LibXML module? I assume you probably run the CESM on the university's HPC, and you may encounter the same situation as me that we need to install libxml without root. Could you please share more details about installing libxml? It would be very helpful.
Thanks,
Skylar
 

lvxin

lvxin
New Member
Hi,
Thanks for your reply. I have added perl path in config_machines.xml (shown below) before building case:
************************************************
<module_system type="module">
<init_path lang="perl">/opt/ohpc/admin/lmod/8.1.18/init/perl</init_path>
<init_path lang="python">/opt/ohpc/admin/lmod/8.1.18/init/env_modules_python.py</init_path>
<init_path lang="sh">/opt/ohpc/admin/lmod/8.1.18/init/sh</init_path>
<init_path lang="csh">/opt/ohpc/admin/lmod/8.1.18/init/csh</init_path>
<cmd_path lang="perl">/opt/ohpc/admin/lmod/8.1.18/libexec/lmod perl</cmd_path>
<cmd_path lang="python">/opt/ohpc/admin/lmod/8.1.18/libexec/lmod python</cmd_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
************************************************
How did you install XML::LibXML module? I assume you probably run the CESM on the university's HPC, and you may encounter the same situation as me that we need to install libxml without root. Could you please share more details about installing libxml? It would be very helpful.
Thanks,
Skylar
You can search "How to Install Perl module without administrator rights" on Google
 

zongy17

zongy17
New Member
perls XML:LibXML relies on a c library libxml2 - it seems that this is not instaled on (or is installed but not compatable with) your compute nodes. You should talk to your system support staff.
hi, after I installed libxml2, I still got the problem as following:
Generating namelists for /home/users/zongyi/my_cesm_sandbox/test_result/b.e20.B1850.f19_g17.test.udf
- Prestaging REFCASE (/share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01) to /home/users/zongyi/my_cesm_sandbox/output/b.e20.B1850.f19_g17.test.udf/run
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.atm
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.drv
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.glc
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ice
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.lnd
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.ovf
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.restart
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.tavg.5
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.rof
Creating component namelists
Calling /home/users/zongyi/my_cesm_sandbox/components/cam//cime_config/buildnml
CAM namelist copy: file1 /home/users/zongyi/my_cesm_sandbox/test_result/b.e20.B1850.f19_g17.test.udf/Buildconf/camconf/atm_in file2 /home/users/zongyi/my_cesm_sandbox/output/b.e20.B1850.f19_g17.test.udf/run/atm_in
Calling /home/users/zongyi/my_cesm_sandbox/components/clm//cime_config/buildnml
ERROR: Command /home/users/zongyi/my_cesm_sandbox/components/clm/bld/build-namelist failed rc=2
out=
err=Can't locate XML/LibXML.pm in @INC
(@INC contains: /home/users/zongyi/my_cesm_sandbox/components/clm/bld /home/users/zongyi/my_cesm_sandbox/components/clm/bld /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib /home/users/zongyi/my_cesm_sandbox/components/clm/bld /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
BEGIN failed--compilation aborted at /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
Compilation failed in require at /home/users/zongyi/my_cesm_sandbox/components/clm/bld/CLMBuildNamelist.pm line 414.


Do you have any advice?
By the way, I ran perl -MXML::libXML -e 1 on front-end node and got nothing wrong to report, but on compute nodes it showed that:
Can't locate XML/libXML.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.
And if I ran xml2-config --version, both front-end and compute nodes printed the version number.
I don' t know what is wrong with them. Is something missed between XML:LibXML and libxml2 that led to this error? Could you help me please?
 

March Xu

xpf199758333
New Member
instaled on (or is installed but not compatable with) your compute nodes. You should talk to your system support staff.
hi, after I installed libxml2, I still got the problem as following:
Generating namelists for /home/users/zongyi/my_cesm_sandbox/test_result/b.e20.B1850.f19_g17.test.udf
- Prestaging REFCASE (/share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01) to /home/users/zongyi/my_cesm_sandbox/output/b.e20.B1850.f19_g17.test.udf/run
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.atm
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.drv
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.glc
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ice
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.lnd
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.ovf
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.restart
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.ocn.tavg.5
Copy rpointer /share2/CESM2/inputdata/inputdata/cesm2_init/b.e20.B1850.f19_g17.release_cesm2_1_0.020/0301-01-01/rpointer.rof
Creating component namelists
Calling /home/users/zongyi/my_cesm_sandbox/components/cam//cime_config/buildnml
CAM namelist copy: file1 /home/users/zongyi/my_cesm_sandbox/test_result/b.e20.B1850.f19_g17.test.udf/Buildconf/camconf/atm_in file2 /home/users/zongyi/my_cesm_sandbox/output/b.e20.B1850.f19_g17.test.udf/run/atm_in
Calling /home/users/zongyi/my_cesm_sandbox/components/clm//cime_config/buildnml
ERROR: Command /home/users/zongyi/my_cesm_sandbox/components/clm/bld/build-namelist failed rc=2
out=
err=Can't locate XML/LibXML.pm in @INC
(@INC contains: /home/users/zongyi/my_cesm_sandbox/components/clm/bld /home/users/zongyi/my_cesm_sandbox/components/clm/bld /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib /home/users/zongyi/my_cesm_sandbox/components/clm/bld /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
BEGIN failed--compilation aborted at /home/users/zongyi/my_cesm_sandbox/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
Compilation failed in require at /home/users/zongyi/my_cesm_sandbox/components/clm/bld/CLMBuildNamelist.pm line 414.


Do you have any advice?
By the way, I ran perl -MXML::libXML -e 1 on front-end node and got nothing wrong to report, but on compute nodes it showed that:
Can't locate XML/libXML.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.
And if I ran xml2-config --version, both front-end and compute nodes printed the version number.
I don' t know what is wrong with them. Is something missed between XML:LibXML and libxml2 that led to this error? Could you help me please?
Hi!
Have you solved this problem? I've also met this error when I do ./preview_namelist under $mycase for CLM5.0
and I also installed libxml2

If you do correct this error, please let me know how!!

thanks
 

majiantao

majiantao
New Member
Building case in directory /data2/MaJT/model/CESM2/cases/test
sharedlib_only is False
model_only is False
Generating component namelists as part of build
Creating component namelists
Calling /share/home/jtma/cesm2.1.3/cime/src/components/data_comps/datm/cime_config/buildnml
File not found: domainfile = "//data2/MaJT/model/CESM2/inputdata/share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc", will attempt to download in check_input_data phase
Calling /share/home/jtma/cesm2.1.3/components/clm//cime_config/buildnml
...calling clm buildcpp to set build time options
ERROR: Command /share/home/jtma/cesm2.1.3/components/clm/bld/build-namelist failed rc=2
out=
err=Can't load '/usr/local/lib64/perl5/auto/XML/LibXML/LibXML.so' for module XML::LibXML: /usr/local/lib64/perl5/auto/XML/LibXML/LibXML.so: undefined symbol: xmlMemMalloc at /usr/share/perl5/XSLoader.pm line 96.
at /usr/local/lib64/perl5/XML/LibXML.pm line 150.
BEGIN failed--compilation aborted at /usr/local/lib64/perl5/XML/LibXML.pm line 156.
Compilation failed in require at /share/home/jtma/cesm2.1.3/cime/utils/perl5lib/Config/SetupTools.pm line 5.
BEGIN failed--compilation aborted at /share/home/jtma/cesm2.1.3/cime/utils/perl5lib/Config/SetupTools.pm line 5.
Compilation failed in require at /share/home/jtma/cesm2.1.3/components/clm/bld/CLMBuildNamelist.pm line 414.
I met the problems with something above when I built the case.I installed the perl5 on my machine. I can not solve it.Here are the attached files.Please help me solve it.Thanks.
 

Attachments

  • config_compilers.txt
    2.1 KB · Views: 1
  • config_machines.txt
    2.4 KB · Views: 1
  • .bashrc.txt
    1.4 KB · Views: 2
Top