2016-07-05 6 views
1

Wenn ich ArangoDB 3.0 kompilieren, bekomme ich dieses Problem wie folgt.Überprüfen C++ 11-Unterstützung für "Regex": nicht unterstützt

wget https://www.arangodb.com/repositories/Source/ArangoDB-3.0.0.tar.gz 
tar -xvvf ArangoDB-3.0.0.tar.gz 
ln -s ArangoDB-3.0.0 arangodb 

    OR 

git clone https://github.com/arangodb/arangodb 
cd arangodb 
git checkout 3.0 
git pull 

Ich habe beide über binär für kompilieren wie unten versucht.

cd arangodb/ 
mkdir -p build 
cd build 
cmake .. -DCMAKE_BUILD_TYPE=Release 

Executing cmake .. -DCMAKE_BUILD_TYPE=Release Befehl geben Sie mir folgende Fehlermeldung.

-- Checking C++11 support for "regex" 
CMake Error at cmake/CheckCXX11Features.cmake:129 (message): 
    Checking C++11 support for "regex": not supported 
Call Stack (most recent call first): 
    cmake/CheckCXX11Features.cmake:150 (cxx11_check_feature) 
    CMakeLists.txt:265 (include) 


-- Configuring incomplete, errors occurred! 
See also "/home/ec2-user/arangodb/build/CMakeFiles/CMakeOutput.log". 

OS-Version auf AWS Linux AMI:

Linux 4.4.11-23.53.amzn1.x86_64 # 1 SMP Mi 1. Juni 22.22.50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

GCC Version:

gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9) 
Copyright (C) 2013 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+3

'regex' Unterstützung wurde in gcc 4.9 hinzugefügt. Dein Compiler ist zu alt. –

+0

@BillLynch kann es aktualisiert werden oder muss neu kompilieren? –

Antwort

7

Regex Unterstützung wurde in gcc hinzugefügt 4,9 - @Bill-Lynch

Sie haben zwei Möglichkeiten:

  • einen neuen Compiler installieren.
  • Gehen Sie durch den Code und ersetzen Sie alle Regexe durch gleichwertige Funktionen.
+0

Bitte sagen Sie mir, wie kann ich einen neuen Compiler installieren? Vielen Dank. – akki

+0

@akki Zuerst müssen Sie entscheiden, welchen Compiler Sie wollen. Sie tun, was auch immer auf Ihrer Plattform/Ihrem Betriebssystem getan wird. –