Search code examples
smlnj

Unable to determine OS


When I go on terminal (i installed smlnj) and i type sml it gives me the error sml: unable to determine architecture/operating system. What does this mean??? I installed sml like this at this website, but I'm not sure -- are the instructions wrong?
enter image description here


Solution

  • If you're using OSX 10.8 or later (uname -r gives you something starting with 12 or higher), SML/NJ pre 110.75 doesn't work too well without some extra tweaking. It's a known issue that can be fixed by adding the 10.8 choice (see the 12 line below) to the OS detection code 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;;