2016-06-21 23 views
0

Ich versuche, LLVM aus der Quelle in FreeBSD 8.4 zu erstellen. Hier sind die Schritte iFehler beim Kompilieren von llvm in FreeBSD 8.4

  1. die Quelle von http://llvm.org/releases/3.8.0/llvm-3.8.0.src.tar.xz
  2. heruntergeladen durchgeführt
  3. die Quelle in einen Ordner extrahiert.
  4. Erstellt ein Build-Verzeichnis und darin lief $ cmake ../llvm-3.8.0.src
  5. Begann den Build mit $ cmake --build.

Es führt den folgenden Fehler

/home/spangeni/llvm/llvm-3.8.0.src/lib/TableGen/TGLexer.cpp: In member function 'llvm::tgtok::TokKind llvm::TGLexer::LexNumber()': 
/home/spangeni/llvm/llvm-3.8.0.src/lib/TableGen/TGLexer.cpp:393:48: error: 'strtoll' was not declared in this scope 
     CurIntVal = strtoll(NumStart, nullptr, 16); 
               ^
/home/spangeni/llvm/llvm-3.8.0.src/lib/TableGen/TGLexer.cpp:398:60: error: 'strtoull' was not declared in this scope 
     CurIntVal = (int64_t)strtoull(NumStart, nullptr, 16); 
                  ^
/home/spangeni/llvm/llvm-3.8.0.src/lib/TableGen/TGLexer.cpp:414:47: error: 'strtoll' was not declared in this scope 
     CurIntVal = strtoll(NumStart, nullptr, 2); 
              ^
/home/spangeni/llvm/llvm-3.8.0.src/lib/TableGen/TGLexer.cpp:429:44: error: 'strtoll' was not declared in this scope 
    CurIntVal = strtoll(TokStart, nullptr, 10); 

GCC Version = 4.9.2 CMAKE version = 3.2.3

Ich habe auch versucht stdlib.h in der Datei llvm-3.8 enthalten. 0.src/lib/TableGen/TGLexer.cpp. Das hilft nicht.

Gibt es irgendeine Konfiguration, die ich vermisse?

Antwort

1

Das Ports-System existiert aus einem guten Grund - viele (ziemlich alle nichttriviale) Software benötigt Patches und Build-Tweaks, um richtig zu bauen und zu funktionieren. Mein Rat wäre also nur: Benutze Ports.

Nicht sicher, ob Ports tatsächlich FreeBSD 8.4 unterstützt. Haben Sie einen besonderen Grund, solch eine alte Version zu verwenden?