Open sanshuiii opened 3 years ago
update: after fixing the <GCAMWorkspace>/output/modelinterface/ModelInterface.jar
problem, it seems work.
Where is BaseX-8.6.7.jar? Make sure it's in home/root/gcam-core/libs/jars.
Also add "." to the CLASSPATH so java can find XMLDBDriver.jar, which lives in the exe directory. This is where you need to be to run GCAM.
export CLASSPATH=.:/home/root/gcam-core/libs/jars/*:/home/root/gcam-core/output/modelInterface/Modelinterface.jar
@sanshuiii: Did @rjplevin's suggestion fix the issue?
I am having a similar problem with GCAMv5.4. At runtime, I get SEVERE ERROR:Failed to find Java class XMLDBDriver to write to the XML database. An error file hs_err_pid###.log is generated. Inside that file, it says:
java_class_path (initial): XMLDBDriver.jar:/work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/BaseX-9.5.2.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/commons-discovery-0.5.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/commons-logging-1.2.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/jcommon-1.0.0-rc1.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/jfreechart-1.0.0-pre2.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/joost-0.9.1.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/jopt-simple-4.9.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/poi-3.0-alpha1.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/poi-contrib-3.0-alpha1.jar /work/MAQSEA/cnolte/gcam/v5.4/gcam-core/libs/jars/poi-scratchpad-3.0-alpha1.jar:../output/modelinterface/ModelInterface.jar
(Sorry for the long path names.)
As @rjplevin suggested, I tried specifying a CLASSPATH environment variable at runtime prior to execution, prepending it with .
. I also tried hard-coding the full path to XMLDBDriver.jar and the libs/jars/*. No luck. The java_class_path in the generated error file is unchanged.
jar tvf XMLDBDriver.jar
shows the file contents, so I do not think the jar file is corrupted.
To verify that the problem is not attributable to some system change on my end, I verified that I can still run gcamv5.2.
After fixing the CLASSPATH problem, the issue has been fixed. It works on GCAM v5.3, however I am not sure if it works on GCAM v5.4 as well.
Did you set the CLASSPATH at compile time or run time?
Did you set the CLASSPATH at compile time or run time?
Compile time, before makefile.
That did not help me. However, I see now that my error is different, an inability to find XMLDBDriver.jar, where yours pertained to BaseX.
I follow the GCAM Build Instructions and successfully compile the GCAM v5.3 on Ubuntu 16.04. However, I failed to run it with error: did not recongnize any BaseX jars in classpath. This may indicate missing jars or duplicate version mismatch. I will show my installation process below. I wonder if you can help me to solve this problem. Thanks in advance.
To be convient, we provide a short and a complete version of our problem.
Short version
We compile the system on Ubuntu16.04, with environment variables:
We copy the libs folder from a GCAM v5.2 release version to our working directory, and set classpath and jars_lib as follows:
Finally we compile and run and get the error message:
Complete install process
apt-get install git apt-get install wget apt-get install zip
export USRLIB=/usr/lib/x86_64-linux-gnu
export BOOST_LIB=$USRLIB export BOOST_INCLUDE=/usr/include/boost
For Hector, which uses different definitions
export BOOSTLIB=$BOOST_LIB export BOOSTROOT=$BOOST_INCLUDE
export XERCES_LIB=$USRLIB export XERCES_INCLUDE=/usr/include/xercesc
export JAVA_INCLUDE=/usr/lib/jvm/default-java/include export JAVA_LIB=/usr/lib/jvm/default-java/jre/lib/amd64/server
cd home mkdir root cd root git clone https://github.com/JGCRI/gcam-core.git
cd gcam-core make install_hector cd cvs/objects/build/linux make gcam -j 8 cd ../../../../exe
./gcam.exe -C configuration_ref.xml
root@17aa112d1235:/home/root/gcam-core/exe# ./gcam.exe -C configuration_usa.xml This computer software was prepared by Battelle Memorial Institute, hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 with the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. This notice including this sentence must appear on any copies of this computer software.
User agrees that the Software will not be shipped, transferred or exported into any country or used in any manner prohibited by the United States Export Administration Act or any other applicable export laws, restrictions or regulations (collectively the 'Export Laws'). Export of the Software may require some form of license or other authority from the U.S. Government, and failure to obtain such export control license may result in criminal liability under U.S. laws. In addition, if the Software is identified as export controlled items under the Export Laws, User represents and warrants that User is not a citizen, or otherwise located within, an embargoed nation (including without limitation Iran, Syria, Sudan, Cuba, and North Korea) and that User is not otherwise prohibited under the Export Laws from receiving the Software.
Copyright 2011 Battelle Memorial Institute. All Rights Reserved. Distributed as open-source under the terms of the Educational Community License version 2.0 (ECL 2.0). http://www.opensource.org/licenses/ecl2.php
For further details, see: http://www.globalchange.umd.edu/models/gcam/
Running GCAM model code base version 5.3 revision gcam-v5.3
Configuration file: configuration_usa.xml Parsing input files... WARNING: did not recongnize any BaseX jars in classpath. This may indicate missing jars or duplicate version mismatch. SEVERE ERROR:Failed to find Java class XMLDBDriver to write to the XML database. #
A fatal error has been detected by the Java Runtime Environment:
#
SIGSEGV (0xb) at pc=0x00007fbbd0a810e0, pid=86, tid=0x00007fbbd1af4740
#
JRE version: OpenJDK Runtime Environment (8.0_292-b10) (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
Java VM: OpenJDK 64-Bit Server VM (25.292-b10 mixed mode linux-amd64 compressed oops)
Problematic frame:
V [libjvm.so+0x72e0e0]
#
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
An error report file with more information is saved as:
/home/root/gcam-core/exe/hs_err_pid86.log
#
If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
# Aborted
WARNING: did not recongnize any BaseX jars in classpath. This may indicate missing jars or duplicate version mismatch. SEVERE ERROR:Failed to find Java class XMLDBDriver to write to the XML database.
cd gcam-core mkdir libs cd libs apt-get install wget apt-get install zip wget https://github.com/JGCRI/modelinterface/releases/download/v5.1/jars.zip unzip jars.jar export CLASSPATH=/home/root/gcam-core/libs/jars/:/home/root/gcam-core/output/modelinterface/ModelInterface.jar export JARS_LIB=/home/root/gcam-core/libs/jars/:/home/root/gcam-core/output/modelinterface/ModelInterface.jar