Khi tôi đi trên thiết bị đầu cuối (i cài đặt smlnj) và tôi gõ sml
nó mang lại cho tôi lỗi sml: unable to determine architecture/operating system
. Điều đó có nghĩa là gì??? Tôi đã cài đặt sml như thế này at this website, nhưng tôi không chắc chắn - là các hướng dẫn sai?
Không thể xác định OS
Trả lời
Nếu bạn đang sử dụng OSX 10.8 trở lên (uname -r
mang đến cho bạn một cái gì đó bắt đầu với 12 hoặc cao hơn), SML/NJ trước 110,75 không làm việc quá tốt mà không có một số tinh chỉnh thêm. Đó là một known issue có thể được cố định bằng cách thêm lựa chọn 10,8 (xem dòng 12
bên dưới) vào mã phát hiện hệ điều hành trong .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;;
Vấn đề với trình cài đặt nhị phân OS X gần đây vẫn còn tồn tại chỉ tập trung chuyển đến 10,9 Mavericks và 10.10 phiên bản Yosemite của OS X. Mặc dù nguyên nhân gốc rễ được giải quyết trong phiên bản mã nguồn gần đây.
Đó là lý do tại sao một số thời gian giải quyết vấn đề này chỉ là về việc có một gói nhị phân mới được biên dịch. Và cho rằng bạn có thể tốt hơn là cài đặt smlnj qua homebrew
. Bạn có thể làm điều đó với các lệnh sau:
brew update
brew install smlnj
Điều này sẽ biên dịch gói cho bạn để bạn có thể rảnh rỗi khi kiểm tra mã nguồn và tự biên soạn.
Chỉ cần để làm sạch hệ thống của bạn và tránh trùng lặp, bạn có thể loại bỏ các cài đặt trước đó chỉ đơn giản bằng cách làm như sau:
sudo rm -rf /usr/local/smlnj*
Đối với dấu hoa thị: Tôi có một thư mục smlnj trần với 110,76 bên trong nó và một smlnj -110,75 thư mục Tôi đoán tôi đã cố gắng cài đặt hai phiên bản khác nhau trước đó ...
Bạn có thể cần phải xóa mọi liên kết mềm mà bạn đã tạo cho mình trỏ đến thư mục smlnj cũ hơn trực tiếp trong/usr/local/removed trong phần trước bậc thang.
Tôi đã thử cài đặt brew, chỉ để nhận những điều sau đây: '/usr/local/Cellar/smlnj/110.77/SMLNJ_HOME/ bin/.run/run.x86-darwin: Lỗi nghiêm trọng - Ngoại lệ chưa được thực hiện SysErr với
tăng gấp 10 lần tính đặc hiệu. quá xấu quy tắc bỏ phiếu thần tượng không áp dụng. ;-) – vwvan
Tôi gặp sự cố này sau khi vô tình cài đặt phiên bản SML/NJ cũ hơn. Tôi đã xóa cài đặt trước đó của mình bằng cách truy cập /usr/local/smlnj
và cài đặt lại bằng cách sử dụng the pre-built system of OS X for SML/NJ 110.78. Tải xuống gần đây nhất có sẵn theo Tải xuốnghere, đó là những gì người tìm kiếm trong tương lai nên tham khảo, vì các giải pháp của tôi có thể sẽ lỗi thời vào thời điểm họ đến.
Như một cập nhật cho câu trả lời paxdiablo, nếu bạn đang chạy hệ điều hành MacOS Sierra (phiên bản 10.12), bạn cần phải nhập vào dòng sau để có được sml chạy:
16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.12 Sierra
Vì vậy, với bối cảnh nhiều hơn nó sẽ giống như thế này :
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 phiên bản 110.79 có OS X lên El Capitan được định cấu hình nhưng Sierra vẫn bị thiếu.
Lưu thịt xông khói của tôi. Cập nhật hệ điều hành giữa các phiên làm việc. Tất cả mọi thứ đã phá vỡ. Doh. Cảm ơn vì đã bảo lãnh. – brntsllvn
Sierra 10.12.6
Install SML qua Homebrew brew install smlnj
Sửa .bash_profile
và thêm export PATH=/usr/local/Cellar/smlnj/110.81/bin:$PATH
đến cuối của tập tin của bạn.
Sau source ~/.bash_profile
rằng để áp dụng các con đường mới để hệ thống của bạn thêm địa điểm mới và sau đó biết nơi để tìm các tập tin cần thiết khi bạn gõ sml
- 1. Không thể xác định một MetaTable
- 2. không thể xác định lỗi Spring NamespaceHandler
- 3. SmartSVN không thể xác định tệp .a?
- 4. lỗi ném không xác định 'không xác định', không thể tìm ra
- 5. Không thể xác định vị trí LWP/Simple.pm trong @ INC
- 6. Đây có phải là cách hay để xác định Kiến trúc OS không?
- 7. Không thể đọc chiều dài tài sản không xác định
- 8. LoạiError: Không thể đọc thuộc tính '_id' không xác định
- 9. không thể đọc thuộc tính 'left' không xác định
- 10. Lỗi Lỗi xây dựng không xác định 'không thể rỗng'
- 11. không thể đọc thuộc tính 'Xem' không xác định
- 12. Timedelta không được xác định
- 13. date_diff Không xác định()
- 14. Java không xác định?
- 15. Nguồn không xác định
- 16. navigator.app không xác định
- 17. Subclipse trong Mac OS Lion hiển thị lỗi "Không thể tải máy khách SVN mặc định"
- 18. Java - Làm thế nào tôi có thể xác định phiên bản Mac OS X đang chạy với mã?
- 19. iOS, Quy trình không xác định, Tai nạn không xác định
- 20. lcfirst không xác định()
- 21. Bạn có thể xác định toán tử (***) trong F # không?
- 22. Doctrine 2, phương thức thực thể không xác định findOneBy *
- 23. Nhibernate conformist Mapping "Không thể xác định loại ..."
- 24. TSQL - Có thể xác định thứ tự sắp xếp không?
- 25. Python PIL: IOError: không thể xác định tập tin ảnh
- 26. Tự động tải không thể xác định hàm calc-dispatch
- 27. Django PIL: IOError Không thể xác định tệp hình ảnh
- 28. Không thể xác định biến trong JavaScript object literal
- 29. Không thể xác định vị trí FromStream trong lớp Image
- 30. có thể xác định một mảng trong Sass không?
Các vấn đề tương tự là/đã có mặt cho kernel 3.x linux : s –
Cụ thể, bạn cần thêm nó vào '/ usr/local/smlnj/bin/.arch-n-opsys'. (Đề cập đến nó ở đây vì liên kết bị hỏng, và vấn đề vẫn tồn tại với 110,79 và 10,11 El Capitan…) –