Quellcode kann auf Mac nicht kompiliert werden

Ich habe bereits xcode auf OSX Yosemite installiert. Ich habe es auch ausgeführt und die Allgemeinen Geschäftsbedingungen akzeptiert.

Ich kann auch tun gcc --versionund ich sehe

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

Nun, wenn ich es tue

wget http://apache.mirrors.pair.com//httpd/httpd-2.4.17.tar.bz2
brew install pcre
tar zxvf httpd-2.4.17.tar.bz2
cd httpd-2.4.17
./configure

Der Fehler, den ich bekomme, ist

Configure:
configure: Configuring Apache Portable Runtime Utility library...
configure:
checking for APR-util... yes
checking for gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/cc
checking whether the C compiler works... no
configure: error: in `/Users/abhi/Downloads/httpd-2.4.17':
configure: error: C compiler cannot create executables
See `config.log' for more details

Warum kann der C-Compiler keine ausführbare Datei erstellen? Ich habe Ihnen gezeigt, dass der C-Compiler korrekt auf meinem Computer installiert ist.

Für das aktuelle OS X ist gcc nicht der C-Compiler - Sie haben nicht gezeigt, dass der C-Compiler korrekt installiert ist - Der C-Compiler ist clang
@Mark ist aber standardmäßig symbolisch gccverlinkt , und im einfachen Fall ist der Aufruf -kompatibel. @KnowsNotMuch hast du ja wie die autoconf vorgeschlagen? clanggccSee `config.log' for more details
@Saran, es ist nicht mit Clang verknüpft - könnten Sie auf eine Dokumentation verweisen, die dies besagt
Hast du die Kommandozeilen-Tools installiert?
@Mike OK, mein Fehler, es ist kein Symlink . Es wird jedoch nur eine Kopie von clang ausgeführt: Hier ist meine Shell-Ausgabe oxygen:~ saran$ gcc clang: error: no input files. Wenn ich mich richtig erinnere, gccwürde der Befehl auch ohne installierte Befehlszeilentools nicht ausgeführt.
Ja, Befehlszeilentools sind installiert
Können Sie die config.log in ein Pastebin einfügen und in Ihrer Frage darauf verlinken? Die Antwort ist irgendwo drin.

Antworten (4)

Sie müssen configure davon überzeugen, dass es mehr c-Compiler als gcc gibt. Versuchen:

export CC=clang

Im Allgemeinen reicht es nicht aus, Xcode installiert zu haben, um einige Open-Source-Projekte zum Kompilieren zu bringen.

Der tatsächliche Fehler, den Sie sehen, ist wahrscheinlich in aufgeführt, config.logda der Test, den er durchführt, unter OS X fehlschlägt. Es ist schwer zu erraten, ob das daran liegt, dass es clang/llvm nicht mag, was Ihre gccBinärdatei " " eigentlich ist.

Einige vorgefertigte Dinge zum Ausprobieren:

xcode-select --install

Das sollte einen Fehler wie „xcode-select: Fehler: Befehlszeilen-Tools sind bereits installiert, verwenden Sie „Software-Update“ zum Installieren von Updates“ ausgeben, wenn Sie alle Tools tatsächlich installiert haben. Wenn Sie die Tools und Include-Dateien nicht installiert haben, sollten Sie aufgefordert werden, die Tools zu installieren, und müssen möglicherweise einen Admin-Benutzer/ein Admin-Passwort eingeben.

Als nächstes könnten Sie sich das eigentliche spezifische Fehlerprotokoll ansehen oder versuchen, einen gcc-Compiler zu bekommen, anstatt Apples llvm zu verwenden.

brew install gcc

Dadurch würde ein GNU gcc-5im /usr/local/binPfad installiert, und wenn das über Apples verwendet wird, /usr/bin/gcctritt der Build-Fehler möglicherweise gar nicht erst auf.

Ich habe Ihre beiden Vorschläge ausprobiert und das ist, was ich bekommen habeLast login: Sat Nov 21 22:58:10 on ttys000 MacBook-Pro:~$ xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates MacBook-Pro:~$ brew install gcc Warning: gcc-5.2.0 already installed MacBook-Pro:~$

Starten Sie Xcode, wählen Sie „Preferences“ und dann „Locations“. Sie werden ein Dropdown-Steuerelement bei „Befehlszeilentools“ bemerken. Wählen Sie die neueste Version aus, schließen Sie das Dialogfenster und rufen Sie brew erneut auf.

Danach

xcode-select --install

laufen

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Das hat bei mir funktioniert.