मैं संकलित करने और स्थापित करने की कोशिश कर रहा हूं Pistache उनके निर्देशों का पालन करते हुए, एक CentOS 7 मशीन पर।
यह एक ऐसा पैकेज है जिसके लिए C ++ 11 की आवश्यकता होती है, इसलिए चूंकि CentOS 7 पर डेवलपमेंट टूल्स पैकेज gcc (4.8.3) का एक पुराना संस्करण स्थापित करता है जो C ++ 11 सुविधाओं का समर्थन नहीं करता है, मैंने डेवलेसेट -7 स्थापित किया है और इसे सक्षम किया scl enable devtoolset-7 bash
। यह ठीक से कार्य करता प्रतीत होता है, जैसा कि gcc --version
प्रदर्शित करता है gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
।
हालांकि, जब मैं कोशिश करता हूं make
पिस्ता के स्रोत, मुझे यह संकलन त्रुटि मिली:
/root/compiler_installation_script/pistache/src/server/router.cc:102:45: error: no matching function for call to ‘regex_replace(const string&, std::regex&, const char [2])’
SegmentTreeNode::multiple_slash, "/");
^
/root/compiler_installation_script/pistache/src/server/router.cc:102:45: note: candidates are:
In file included from /usr/include/c++/4.8.2/regex:62:0,
जब तक मैं गलत नहीं समझ रहा हूँ, यह इंगित करता है कि मेरे संकलक पुराने C ++ का उपयोग कर रहे हैं जिसमें हेडर शामिल हैं जो gcc 4.8.3 के साथ संगत हैं, जिसके परिणामस्वरूप त्रुटि हुई है। मैं इसे कैसे ठीक करूं?
नोट: मुझे यकीन है कि समस्या पिस्ता के स्रोत के साथ नहीं है, क्योंकि मैंने कल एक ताजा CentOS 7 मशीन सहित अन्य मशीनों पर इसे सफलतापूर्वक संकलित किया है।
echo $PATH
और गूंज$LD_LIBRARY_PATH
, क्या आपको निष्पादन योग्य और पुस्तकालयों के लिए रास्ते मिलते हैं:/opt/rh/devtoolset-7/root/usr/bin
,/opt/rh/devtoolset-7/root/usr/lib64
, तथा/opt/rh/devtoolset-7/root/usr/lib
?