2014-10-25 6 views
8

Recentemente ho appena aggiornato a OSX Yosemite sul mio Mac e mentre non sono sicuro che questa sia la causa, sembra sospetto che improvvisamente tutti i miei programmi C++ lanciano un errore di segmentazione.Mac OSX - Ottenere errori di segmentazione su ogni programma C++ (anche Hello World) dopo l'aggiornamento di Yosemite

Ho anche provato la base di tutti i programmi base di "Hello World" e ho ancora un errore di segmentazione. Letteralmente, ogni singolo programma C++ fa lo stesso.

#include <iostream> 

using namespace std; 

int main() 
{ 
    cout << "Hello World" << endl; 
} 

Ho installato gli aggiornamenti Xcode per vedere se questo avrebbe risolto la situazione ma senza fortuna. Sono curioso, qualcun altro là fuori ha lo stesso problema? Indipendentemente da Yosemite, hai riscontrato questo problema in cui il tuo Mac genera errori di segmentazione per tutto?

devo aggiungere, sto compilando con g ++

+0

A quale riga viene generato l'errore? puoi pubblicare l'output di 'strace' – g4ur4v

+0

Prova a reinstallare la tua suite di compilatori C++ (Clang o GCC) –

+0

@ g4ur4v Mi dispiace non avere familiarità con strace. Ho provato a determinare la linea di fault fault tramite gdb, ma non riesco a ottenere nulla oltre "Segmentation Fault: 11". Cercherò di reinstallare il compilatore C++ –

risposta

11

Dopo un paio di tentativi ho trovato una soluzione da qui:

http://lists.gnu.org/archive/html/libtool-patches/2014-09/msg00002.html

Semplicemente

setenv MACOSX_DEPLOYMENT_TARGET 10.9 

o

export MACOSX_DEPLOYMENT_TARGET=10.9 

Funziona felicemente dopo. Tuttavia, correzioni di bug corrette dovrebbero essere disponibili da libtool, quindi guarda i progressi lì.

+0

Benvenuto nel sito! [Si prega di utilizzare Risposte esclusivamente per rispondere alla domanda.] (Http://meta.stackoverflow.com/q/92107) Se si dispone di una domanda diversa, si prega di chiedere facendo clic sul pulsante ["Chiedi domanda" nella parte superiore del pagina] (http://stackoverflow.com/questions/ask). Se hai lo stesso identico problema di questo, quando hai abbastanza reputazione, puoi [aggiornare la domanda] (http://stackoverflow.com/help/privileges/vote-up), o [aggiungere una taglia] (http : //stackoverflow.com/help/bounty) su di esso. Puoi anche "contrassegnare" la domanda come preferita, nel qual caso il sistema ti avviserà di eventuali nuove risposte. –

+1

Grazie per la soluzione! Questo è in realtà abbastanza fastidioso e colpisce così tanto ... – Anas

+1

Questo è solo per commentare nell'agosto 2015 che indica che ho ancora avuto lo stesso problema in OSX 10.10.4 con gfortran che genera errori di segmentazione (anche su gfortran --version). L'utilizzo del secondo comando di esportazione in questo post ha risolto il problema. Penso che parte del problema sia che libtool proviene da una vecchia versione di XCode (si veda [qui] (http://www.jattcode.com/installing-autoconf-automake-libtool-on-mac-osx-mountain-lion/)). Ho provato ad installare libtools da MacPorts, ma sembra installarlo in una posizione diversa sotto glibtools. – TSGM

0
versione

mio g ++ è (MacPorts gcc47 4.7.4_5 + universale) 4.7.4

correvo sudo port selfupdate seguito da sudo port upgrade outdated

Questo ha funzionato per me

anche è possibile eseguire launchctl setenv MACOSX_DEPLOYMENT_TARGET 10.9 per renderlo permanente.