not - mac os mojave download



Não é possível compilar o programa C em um Mac após a atualização para o Mojave (6)

TL; DR

Certifique-se de ter baixado o pacote mais recente de 'Ferramentas de Linha de Comando' e execute isso a partir de um terminal (linha de comando):

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

Extraindo uma resposta semi-coerente de comentários bastante extensos ...

Preâmbulo

Muitas vezes, xcode-select --install foi a solução correta, mas não parece ajudar desta vez. Você já tentou executar a interface principal do Xcode GUI? Pode instalar algum software extra para você e limpar. Eu fiz isso depois de instalar o Xcode 10.0, mas uma semana ou mais atrás, muito antes de atualizar para o Mojave.

Observo que, se o seu GCC estiver instalado em /usr/local/bin , você provavelmente não está usando o GCC do Xcode; normalmente instalado em /usr/bin .

Eu também tenho atualizado para macOS 10.14 Mojave e Xcode 10.0. No entanto, o sistema /usr/bin/gcc e o sistema /usr/bin/clang estão funcionando para mim ( Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0 para ambos.) Eu tenho um problema com meu GCC 8.2.0 não encontrando cabeçalhos em /usr/include , que é paralelo ao seu problema com /usr/local/bin/gcc não encontrar cabeçalhos também.

Eu fiz um pouco de comparação, e minha máquina Mojave não tem /usr/include , mas /usr/bin/clang é capaz de compilar OK. Um cabeçalho ( _stdio.h , com sublinhado à esquerda) estava em meu antigo /usr/include ; está faltando agora (daí meu problema com o GCC 8.2.0). Eu corri xcode-select --install e ele disse " xcode-select: note: install requested for command line developer tools " e, em seguida, executou um instalador GUI que me mostrou uma licença que eu concordei, e baixei e instalei a linha de comando ferramentas - ou assim alegou.

Eu então executei o Xcode GUI (espaço de comando, Xcode, return) e ele disse que precisava instalar mais alguns softwares, mas ainda não /usr/include . Mas eu posso compilar com /usr/bin/clang e /usr/bin/gcc - e a opção -v sugere que eles estão usando

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Solução de trabalho

Então noted :

Eu encontrei um caminho. Se estivermos usando o Xcode 10, você irá notar que se você navegar para o /usr no Finder, você não verá mais uma pasta chamada 'include', razão pela qual o terminal reclama da ausência dos arquivos de cabeçalho que são contido dentro da pasta 'include'. Nas developer.apple.com/documentation/xcode_release_notes/… do developer.apple.com/documentation/xcode_release_notes/… , diz que há um pacote:

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

e você deve instalar esse pacote para ter a pasta /usr/include instalada. Então você deveria estar bem para ir.

Quando tudo mais falhar, leia o manual ou, neste caso, as notas de lançamento. Eu não estou terrivelmente surpreso ao encontrar a Apple querendo dar as costas à sua herança Unix, mas estou decepcionado. Se tiverem cuidado, podem me afastar. Obrigado pela informação.

Tendo instalado o pacote usando o seguinte comando na linha de comando, eu tenho /usr/include novamente e meu GCC 8.2.0 funciona mais uma vez.

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

Download de ferramentas de linha de comando

Como a Vesal aponta em um comment valioso, você precisa baixar o pacote de Ferramentas da Linha de Comando para o Xcode 10.1 no Mojave 10.14, e você pode fazer isso de:

Você precisa fazer o login com um ID da Apple para conseguir o download. Quando você tiver feito o download, instale o pacote de ferramentas de linha de comando. Em seguida, instale os cabeçalhos conforme descrito na seção 'Solução de trabalho'.

Isso funcionou para mim no Mojave 10.14.1. Devo ter baixado isso antes, mas esqueci quando respondi a essa pergunta.

Atualize para Mojave 10.14.4 e XCode 10.2

Por volta de 2019-05-17, atualizei para o Mojave 10.14.4, e as ferramentas de linha de comando do XCode 10.2 também foram atualizadas (ou as ferramentas de linha de comando do XCode 10.1 foram atualizadas para 10.2). O comando de open mostrado acima corrigiu os cabeçalhos ausentes. Pode ainda haver aventuras para atualizar o XCode principal para 10.2 e reinstalar novamente as ferramentas de linha de comando e o pacote de cabeçalhos.

Atualize para o XCode 10.3 (para o Mojave 10.14.6)

Em 2019-07-22, notei através da App Store que a atualização para o XCode 10.3 está disponível e que inclui SDKs para iOS 12.4, tvOS 12.4, watchOS 5.3 e macOS Mojave 10.14.6. Eu instalei uma das minhas máquinas 10.14.5, executei-a e instalei componentes extras como sugerido, e parece ter deixado o /usr/include intacto.

Mais tarde, no mesmo dia, descobri que o macOS Mojave 10.14.6 também estava disponível (Preferências do Sistema ⟶ Atualização de Software), junto com um pacote de Utilitários de Linha de Comando IIRC (foi baixado e instalado automaticamente). A instalação da atualização o / s, mais uma vez, acabou com /usr/include , mas o comando de open no topo da resposta restabeleceu-a novamente. A data que eu tinha no arquivo para o comando open era 2019-07-15.

https://ffff65535.com

Eu usei o comando gcc no terminal para compilar os programas em C, mas, de repente, depois de uma atualização para o sistema operacional do meu Mac (para o macOS 10.14 Mojave e o XCode 10.0), comecei a receber a mensagem:

test.c:8:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
         ^~~~~~~~~
compilation terminated.

Eu já tenho gcc instalado como eu posso encontrá-lo em /usr/local/bin e realmente existe um gcc lá. Eu tentei executar o mesmo arquivo no meu outro iMac e funcionou sem qualquer problema.

Eu tentei executar xcode-select --install e ele já foi instalado, portanto, não resolveu o problema que estou tendo agora. Eu estou supondo que o caminho está confuso, pois não parece que ele pode encontrar o gcc depois que eu comecei a copiar e colar alguns comandos de outros recursos para resolver esse problema.

Gostaria de alguma ajuda sobre isso.


Certifique-se de verificar as Preferências do Xcode -> Locais.

As ferramentas de linha de comando que eu selecionei foram para a versão anterior do Xcode (8.2.1 em vez de 10.1)


Depois de tentar todas as respostas que encontrei aqui e online, ainda estava recebendo erros por alguns cabeçalhos ausentes. Ao tentar compilar o pyRFR, eu estava recebendo erros sobre o stdexcept não ser encontrado, o que aparentemente não foi instalado em /usr/include com os outros cabeçalhos. No entanto, eu encontrei onde estava escondido no Mojave e adicionei isso ao final do meu arquivo ~/.bash_profile :

export CPATH=/Library/Developer/CommandLineTools/usr/include/c++/v1

Tendo feito isso, agora posso compilar pyRFR e outros programas C / C ++. De acordo com o echo | gcc -E -Wp,-v - echo | gcc -E -Wp,-v - , o gcc estava procurando no antigo local esses cabeçalhos (sem o /c++/v1 ), mas não o novo local, então adicionando isso ao CFLAGS corrigiu-o.


Eu encontrei uma ótima solução e explicação neste comentário do GitHub . O truque:

make SDKROOT=`xcrun --show-sdk-path` MACOSX_DEPLOYMENT_TARGET=

Fiz o trabalho.


O problema é que o Xcode, especialmente o Xcode 10.x, não instalou tudo, portanto assegure-se de que as ferramentas de linha de comando estejam instaladas, digite isso em um shell de terminal:

xcode-select - instalar

também inicie o XCode e assegure-se de que toda a instalação necessária esteja instalada (você deverá ser avisado se não estiver.) e, como o XCode 10 não instala o Mac OS SDK completo, execute o instalador em

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

como este pacote não é instalado pelo XCode 10.


Tiveram problemas semelhantes aos do OP

Questão

gato hello.c

#include <stdlib.h>
int main() { exit(0); }

clangar hello.c

/usr/local/include/stdint.h:2:10: error: #include nested too deeply
etc...

Tentativa de correção

Instalei a versão mais recente do XCode, no entanto, as notas de lançamento indicaram que o arquivo mencionado na correção anterior, de Jonathan aqui, não estava mais disponível.

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

Detalhes aqui: developer.apple.com/documentation/xcode_release_notes/… , na seção Novos recursos .

Solução que funcionou para mim ...

Usando detalhes neste comentário, https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

Descobri que o brew doctor relatou que eu tinha inclusões não utilizadas na minha pasta /usr/local/ .

Então, para consertar, usei o comando fornecido pelo usuário https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724 , para encontrar os includes não utilizados e movê-los para uma pasta temporária.

Repetido aqui ...

mkdir /tmp/includes
brew doctor 2>&1 | grep "/usr/local/include" | awk '{$1=$1;print}' | xargs -I _ mv _ /tmp/includes

Depois de executar os scripts, o problema do arquivo de inclusão desapareceu. Nota: Eu comentei sobre esta questão here também.





terminal