Điểm:0

BioX 4.6 sẽ không khởi chạy: "Đã xảy ra hoạt động truy cập phản chiếu bất hợp pháp."

lá cờ vu

BioX sẽ không khởi chạy khi sử dụng JRE 11 trên hai PC chạy Ubuntu 20.04.2 và Pop!_OS 21.04.

Tuy nhiên, chương trình BioX hoạt động tốt mà không gặp sự cố trong openSUSE (Leap 15.2 và 15.3) mà tôi đã thay thế bằng Ubuntu 20.04 và Pop!_OS 21.04, tương ứng.

Thông báo lỗi bắt đầu bằng "Đã xảy ra hoạt động truy cập phản ánh bất hợp pháp."

(cơ sở) bcramer@curie:~/Biographics_Lab-3R/BioX$ java -jar BioX4.6.13.jar 

llb: Một hoạt động truy cập phản ánh bất hợp pháp đã xảy ra
CẢNH BÁO: Truy cập phản chiếu bất hợp pháp của com.jogamp.common.os.NativeLibrary$3 (tệp:/home/bcramer/Biographics_Lab-3R/BioX/lib/gluegen-rt.jar) vào phương thức java.lang.ClassLoader.findLibrary(java. lang.String)
CẢNH BÁO: Vui lòng xem xét việc báo cáo điều này với những người bảo trì com.jogamp.common.os.NativeLibrary$3
CẢNH BÁO: Sử dụng --illegal-access=warn để bật cảnh báo về các hoạt động truy cập phản ánh bất hợp pháp khác
CẢNH BÁO: Tất cả các hoạt động truy cập bất hợp pháp sẽ bị từ chối trong một bản phát hành trong tương lai
Sự không nhất quán được phát hiện bởi ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (phiên bản->tên tệp, bản đồ)' không thành công!
galexite avatar
lá cờ pk
Bạn có thể thử [câu trả lời này](https://stackoverflow.com/a/55849728) không? Có vẻ như bạn đang sử dụng các phiên bản Java khác nhau trên Ubuntu và openSUSE. Bạn cũng có thể xem phiên bản Java nào bạn đang sử dụng bằng cách chạy `java -version`, mặc dù lưu ý rằng Java 8 sẽ thực sự xuất hiện dưới dạng `phiên bản java "1.8.0_xx"`.
galexite avatar
lá cờ pk
Bạn có thể bỏ qua các bước `eclipse.ini` trong câu trả lời đó, vì các bước đó dành riêng cho chương trình được đề cập trong câu hỏi khác đó (Eclipse IDE).
lá cờ vu
Xin chào, Cảm ơn bạn đã nhận xét của bạn. Có lạ không khi hai PC được cài đặt hệ điều hành mới, lần lượt là Ubuntu và POP (dựa trên Ubuntu) đưa ra cùng một thông báo lỗi? Tôi đã kiểm tra phiên bản java trên cả hai PC và cả hai đều có java v. 11.1. trong OpenSUSE tôi có phiên bản Java cũ hơn, tôi không nhớ chính xác các phiên bản, có thể là java 1.8. Tôi cũng đã hạ cấp Java xuống 1.8 trên một trong các PC nhưng mọi thứ trở nên tồi tệ hơn. Tôi sẽ cài đặt Ubuntu với phiên bản cũ hơn, có thể là 18.04 trên PC thứ ba, (hiện có cửa sổ) mặc dù tôi nghi ngờ rằng điều này sẽ giải quyết được vấn đề. Tôi cho bạn biết.
galexite avatar
lá cờ pk
Pop!_OS sẽ sử dụng kho lưu trữ gói Ubuntu cho các gói như Java, do đó, không có gì bất ngờ khi thấy cùng một thông báo lỗi—bạn đang chạy cùng một tệp nhị phân giống hệt nhau trên cả hai! Tuy nhiên, tôi không nghĩ rằng cần phải hạ cấp phiên bản Ubuntu của bạn...
galexite avatar
lá cờ pk
Làm thế nào để hạ cấp tồi tệ hơn, có thông báo lỗi khác hay phần mềm không sử dụng được theo cách khác?
lá cờ vu
Xin chào, Bạn nói đúng, hạ cấp Java hoặc Ubuntu không phải là một giải pháp. Trong một PC rất cũ, tôi đã cài đặt OpenSUSE Leap15.2 và Java 1.11, BioX sẽ mở, nhưng tôi nhận được chính xác thông báo lỗi tương tự.Rất tiếc là mình không dùng được PC này, chỉ dùng để chuẩn bị cấu trúc phân tử trong BioX chứ không tính toán được gì, như đã nói nó là PC chuẩn cũ. BioX là một mã nguồn mở. Việc cài đặt chỉ yêu cầu giải nén các tập tin. Nếu bạn có thể kiểm tra nó trên PC của mình (bạn không cần chạy nó), có thể chúng tôi sẽ đưa ra giải pháp. www.biograf.ch -> Phần mềm -> Tải xuống bất kỳ phần mềm nào trong phiên bản Linux. Cảm ơn bạn
lá cờ vu
Vui lòng xem https://github.com/processing/processing4/issues/22 Xem-->Nhận xét:"Điều này đến từ chính JOGL..." . BioX được cung cấp cùng với jogl . Không có ý tưởng những gì có thể được thực hiện.
galexite avatar
lá cờ pk
Tôi tin rằng tôi đã giải quyết được vấn đề, BioX chạy tốt với gói OpenJDK JRE 8 vẫn được hỗ trợ. Cũng có một cách để buộc nó phải làm như vậy. Xin vui lòng xem câu trả lời của tôi.
Điểm:1
lá cờ pk

BioX không tương thích với Java 11

Bạn phải sử dụng JRE 8 cũ hơn (vẫn được hỗ trợ). Bạn vẫn có thể cài đặt phiên bản JRE này từ kho Ubuntu.

Để cài đặt JRE hoặc Môi trường thời gian chạy Java, bạn có thể tìm nạp nó từ thiết bị đầu cuối bằng cách sử dụng đúng cách quản lý gói:

$ cập nhật apt sudo
$ sudo apt cài đặt openjdk-8-jre

Nếu bạn đã cài đặt một JRE khác, trong một số trường hợp, JRE mới hơn này sẽ vẫn được sử dụng làm java. Thay vào đó, bạn có thể chọn chạy phần mềm Java của mình bằng một JRE cụ thể bằng cách sử dụng java nhị phân trong /usr/lib/jvm thay thế. Trong trường hợp này, để sử dụng JRE 8 trên amd64 để khởi chạy BioX, hãy chạy phần sau trong thư mục lưu trữ BioX:

$ /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar BioX4.6.13.jar

Bạn có thể lưu nó dưới dạng tập lệnh shell để tiết kiệm thời gian hoặc bạn có thể tạo một .desktop phím tắt, cho phép bạn nhấp đúp từ trình quản lý tệp.

Sau đây là ảnh chụp màn hình BioX chạy trên Xubfox 21.04:

Ảnh chụp màn hình BioX trên Xubfox 21.04

lá cờ vu
Xin chào, Bạn đã giải quyết vấn đề. CẢM ƠN.
lá cờ vu
Ghi chú: Vẫn còn câu hỏi mở (bạn không cần trả lời, bạn đã đóng góp rồi): Tại sao BioX và phần còn lại của các mô-đun (Yeti, v.v.) hoạt động với OpenSUSE Leap 15.2 với java 1.11 chứ không phải trong Ubuntu?
galexite avatar
lá cờ pk
@Bruno, tôi e rằng tôi không biết. Có thể các bản phân phối openSUSE có một số loại lớp tương thích? Tôi nghĩ rằng các JRE cũ hơn có một lớp như vậy. Tôi rất vui vì nó đã được sửa. Bạn có thể đánh dấu câu trả lời này là giải pháp không? Bạn có thể làm điều này bằng cách nhấp vào dấu kiểm ở góc trên cùng bên trái của câu trả lời.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.