JGCRI / gcam-core

GCAM -- The Global Change Analysis Model
http://jgcri.github.io/gcam-doc/
Other
263 stars 159 forks source link

GCAM v7 Build Error #341

Open eunhangu opened 9 months ago

eunhangu commented 9 months ago

When building GCAM with Makefile, I got an error related to the boost library.. Here is the error:

g++ -o gcam.exe -O3 -pthread -ggdb -DNDEBUG -DFUSION_MAX_VECTOR_SIZE=30 -MMD -std=c++17 -Wno-deprecated -Wl,-rpath,/data2/eunhan/jdk-20.0.2/lib/server -Wl,-rpath,/data2/eunhan/gcam-core-gcam-v7.0/libs/tbb/lib/intel64/gcc4.8 main.o -lgcam -L/usr/lib64 -L/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux -L/data2/eunhan/jdk-20.0.2/lib/server -L/data2/eunhan/gcam-core-gcam-v7.0/libs/tbb/lib/intel64/gcc4.8 -ljvm -lhector -ltbb -ltbbmalloc -ltbbmalloc_proxy -lm -lstdc++fs

/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux/libgcam.a(interpolationrule.o): In function `auto ExpandDataVector<boost::mpl::vector<IInterpolationFunction, LinearInterpolationFunction, FixedInterpolationFunction, SCurveInterpolationFunction, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl_::na> >::getFullDataVector(ParseChildData&) const::{lambda(auto:1&)#1}::operator()<boost::fusion::pair<IInterpolationFunction, IInterpolationFunction*> const>(ParseChildData&) const': /data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/util/base/source/../../../util/base/include/expand_data_vector.h:189: undefined reference to `void ParseChildData::processDataVector<boost::fusion::vector<> >(boost::fusion::vector<>)'

/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux/libgcam.a(interpolationrule.o): In function `auto ExpandDataVector<boost::mpl::vector<IInterpolationFunction, LinearInterpolationFunction, FixedInterpolationFunction, SCurveInterpolationFunction, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl_::na> >::getFullDataVector(ParseChildData&) const::{lambda(auto:1&)#1}::operator()<boost::fusion::pair<LinearInterpolationFunction, LinearInterpolationFunction*> const>(ParseChildData&) const': /data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/util/base/source/../../../util/base/include/expand_datavector.h:189: undefined reference to `void ParseChildData::processDataVector<boost::fusion::nil>(boost::fusion::nil_)'

/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux/libgcam.a(interpolationrule.o): In function `auto ExpandDataVector<boost::mpl::vector<IInterpolationFunction, LinearInterpolationFunction, FixedInterpolationFunction, SCurveInterpolationFunction, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl_::na> >::getFullDataVector(ParseChildData&) const::{lambda(auto:1&)#1}::operator()<boost::fusion::pair<FixedInterpolationFunction, FixedInterpolationFunction*> const>(ParseChildData&) const': /data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/util/base/source/../../../util/base/include/expand_datavector.h:189: undefined reference to `void ParseChildData::processDataVector<boost::fusion::nil>(boost::fusion::nil_)'

/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux/libgcam.a(technologycontainer.o): In function `auto ExpandDataVector<boost::mpl::vector<ITechnology, Technology, DefaultTechnology, IntermittentTechnology, WindTechnology, SolarTechnology, NukeFuelTechnology, TranTechnology, AgProductionTechnology, PassThroughTechnology, UnmanagedLandTechnology, ResourceReserveTechnology, EmptyTechnology, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na> >::getFullDataVector(ParseChildData&) const::{lambda(auto:1&)#1}::operator()<boost::fusion::pair<ITechnology, ITechnology*> const>(ParseChildData&) const': /data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/technologies/source/../../util/base/include/expand_data_vector.h:189: undefined reference to `void ParseChildData::processDataVector<boost::fusion::vector<> >(boost::fusion::vector<>)'

/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/build/linux/libgcam.a(technologycontainer.o): In function `auto ExpandDataVector<boost::mpl::vector<ITechnology, Technology, DefaultTechnology, IntermittentTechnology, WindTechnology, SolarTechnology, NukeFuelTechnology, TranTechnology, AgProductionTechnology, PassThroughTechnology, UnmanagedLandTechnology, ResourceReserveTechnology, EmptyTechnology, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na> >::getFullDataVector(ParseChildData&) const::{lambda(auto:1&)#1}::operator()<boost::fusion::pair<EmptyTechnology, EmptyTechnology*> const>(ParseChildData&) const': /data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/technologies/source/../../util/base/include/expand_datavector.h:189: undefined reference to `void ParseChildData::processDataVector<boost::fusion::nil>(boost::fusion::nil_)'

collect2: error: ld returned 1 exit status make[1]: [Makefile:20: gcam.exe] Error 1 make[1]: Leaving directory '/data2/eunhan/gcam-core-gcam-v7.0/cvs/objects/main/source' make: [Makefile:47: main_dir] Error 2