Quando vado sul terminale (ho installato smlnj) e digito sml
mi dà l'errore sml: unable to determine architecture/operating system
. Cosa significa questo??? Ho installato sml come questo at this website, ma non sono sicuro - le istruzioni sono errate?
Impossibile determinare il sistema operativo
risposta
Se stai usando OSX 10.8 o versione successiva (uname -r
ti dà qualcosa a partire da 12 o superiore), SML/NJ pre 110.75 non funziona troppo bene senza alcun adattamento in più. E 'un known issue che può essere risolto con l'aggiunta di scelta 10.8 (vedi la linea 12
sotto) per il codice di rilevamento del sistema operativo in .arch-n-opsys
:
:
10*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.6
11*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.7
12*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.8
13*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
14*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
15*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.12 Sierra
17*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.13 High Sierra
*) exit 1;;
esac;;
Il problema con le recenti installatori binari OS X ancora persistono solo l'attenzione si è spostata al 10,9 Mavericks e 10.10 versioni di Yosemite di OS X. Sebbene la causa principale sia stata risolta nella recente versione del codice sorgente.
Ecco perché da qualche tempo a risolvere questo problema si tratta solo di avere un pacchetto binario appena compilato. E per questo potrebbe essere meglio installare smlnj tramite homebrew
. Si può fare con questi comandi:
brew update
brew install smlnj
Questo compilerà il pacchetto per voi in modo da poter risparmiare la fatica di check-out il codice sorgente e fare la compilazione da soli.
Solo per ripulire il sistema ed evitare la duplicazione è possibile rimuovere l'installazione precedente semplicemente effettuando le seguenti operazioni:
sudo rm -rf /usr/local/smlnj*
Per l'asterisco: ho avuto una cartella smlnj nudo con l'110.76 al suo interno e uno smlnj Cartella -110.75 Immagino di aver provato ad installare due versioni precedenti ...
Potrebbe essere necessario rimuovere tutti i softlink creati dall'utente che puntano alla cartella smlnj precedente direttamente in/usr/local/removed nella precedente passo.
Ho provato a installare bre, solo per ricevere quanto segue: '/usr/local/Cellar/smlnj/110.77/SMLNJ_HOME/ bin/.run/run.x86-darwin: Errore irreversibile - Eccezione non rilevata SysErr con
ha fatto un aumento di 10 volte per specificità. troppo male le regole di voto Idol non si applicano. ;-) – vwvan
Mi sono imbattuto in questo problema dopo aver accidentalmente installato una versione precedente di SML/NJ. Ho rimosso la mia installazione precedente cacciando /usr/local/smlnj
e reinstallato utilizzando the pre-built system of OS X for SML/NJ 110.78. Il download più recente è disponibile sotto Downloadhere, che è quello che i futuri richiedenti dovrebbero consultare, poiché i dettagli della mia soluzione saranno probabilmente superati nel momento in cui verranno visualizzati.
come aggiornamento di risposta di paxdiablo, se si sta eseguendo MacOS Sierra (versione 10.12) è necessario inserire la seguente riga di ottenere SML in esecuzione:
16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.12 Sierra
Quindi, con più contesto, sarà simile a questa :
11*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.7 Lion
12*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.8 Mountain Lion
13*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
14*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
15*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.12 Sierra
17*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.13 High Sierra
*) exit 1;;
esac;;
SML/NJ versione 110.79 ha avuto l'OS X fino a El Capitan configurato, ma Sierra mancava ancora.
Salvato il mio bacon. Sistema operativo aggiornato tra sessioni di lavoro. Tutto è rotto. Doh. Grazie per il salvataggio. – brntsllvn
Sierra 10.12.6
Installare SML tramite Homebrew brew install smlnj
Modificare il .bash_profile
e aggiungere export PATH=/usr/local/Cellar/smlnj/110.81/bin:$PATH
alla fine del file.
Dopo che source ~/.bash_profile
per applicare il nuovo percorso in modo che il sistema aggiunge le nuove posizioni e quindi sa dove trovare il file di cui ha bisogno quando si digita sml
- 1. Come determinare il sistema operativo
- 2. Come determinare il sistema operativo di un utente tramite nodo?
- 3. Node.js per ottenere/determinare la versione del sistema operativo
- 4. Come faccio a determinare l'attuale sistema operativo con Node.js
- 5. jQuery - rilevamento del sistema operativo e del sistema operativo versione
- 6. Sistema operativo in Ada
- 7. Determinare il sistema operativo e il tipo di processore in C#
- 8. Rileva il sistema operativo dall'estensione di Firefox
- 9. Come rilevare il sistema operativo in esecuzione?
- 10. Come rilevare il sistema operativo corrente Gradle
- 11. Identificare il sistema operativo del sistema tramite ID
- 12. database senza sistema operativo richiesto per il sistema integrato
- 13. C# compilato in mono - Rileva sistema operativo
- 14. Haskell: Rileva l'attuale sistema operativo
- 15. Sviluppo di un sistema operativo
- 16. Rilevamento del sistema operativo CodeIgniter
- 17. Ottieni eventi dal sistema operativo
- 18. Esiste un sistema operativo LibC?
- 19. App e sistema operativo WPF
- 20. In che modo esattamente il sistema operativo protegge il kernel
- 21. Chiamate di sistema del sistema operativo da script bash
- 22. malloc in un sistema incorporato senza sistema operativo
- 23. Miglior sistema operativo educativo per studio?
- 24. Come creare un sistema operativo estremamente semplice?
- 25. Sistema operativo consigliato per Visual Studio 2008
- 26. Scrittura di un sistema operativo per il processore Motorola 68K. Posso emularlo? E posso testare lo sviluppo del sistema operativo?
- 27. Chiama al sistema operativo per aprire l'url?
- 28. Libro dell'architettura del sistema operativo Windows
- 29. Un sistema operativo supportato da database
- 30. Sniffer per localhost (sistema operativo Windows)
Gli stessi problemi sono/erano presenti per il kernel di Linux 3.x : s –
In particolare, è necessario aggiungerlo a '/ usr/local/smlnj/bin/.arch-n-opsys'. (Menzionalo qui perché il collegamento è interrotto e il problema persiste ancora con 110.79 e 10.11 El Capitan ...) –