Puncte:0

BioX 4.6 nu se va lansa: „A avut loc o operațiune ilegală de acces reflectorizant”.

drapel vu

BioX nu se va lansa când utilizați JRE 11 pe două PC-uri care rulează Ubuntu 20.04.2 și Pop!_OS 21.04.

Totuși, programul BioX funcționează bine, fără probleme în openSUSE (Leap 15.2 și 15.3), pe care l-am înlocuit cu Ubuntu 20.04 și, respectiv, Pop!_OS 21.04.

Mesajul de eroare începe cu „A avut loc o operațiune ilegală de acces reflectorizant”.

(bază) bcramer@curie:~/Biographics_Lab-3R/BioX$ java -jar BioX4.6.13.jar 

llb: A avut loc o operațiune ilegală de acces reflectorizant
AVERTISMENT: acces reflectorizant ilegal de către com.jogamp.common.os.NativeLibrary$3 (fișier:/home/bcramer/Biographics_Lab-3R/BioX/lib/gluegen-rt.jar) la metoda java.lang.ClassLoader.findLibrary(java. lang.String)
AVERTISMENT: Vă rugăm să luați în considerare raportarea acestui lucru întreținătorilor com.jogamp.common.os.NativeLibrary$3
AVERTISMENT: Utilizați --illegal-access=warn pentru a activa avertismentele privind alte operațiuni ilegale de acces reflectorizant
AVERTISMENT: Toate operațiunile de acces ilegal vor fi refuzate într-o versiune viitoare
Inconsecvență detectată de ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (versiune->nume fișier, hartă)' a eșuat!
galexite avatar
drapel pk
Ați putea încerca [acest răspuns](https://stackoverflow.com/a/55849728)? Se pare că utilizați diferite versiuni de Java pe Ubuntu și openSUSE. De asemenea, puteți vedea ce versiune de Java utilizați rulând `java -version`, deși rețineți că Java 8 va apărea de fapt ca `versiunea java "1.8.0_xx"`.
galexite avatar
drapel pk
Puteți ignora pașii `eclipse.ini` din acel răspuns, deoarece aceștia sunt specifici programului menționat în acea altă întrebare (Eclipse IDE).
drapel vu
Bună, Vă mulțumesc pentru observații. Nu este ciudat că două PC-uri cu sistem de operare nou instalat, respectiv Ubuntu și POP (bazat pe Ubuntu) dau același mesaj de eroare? Am verificat versiunea java pe ambele PC-uri și ambele au java v. 11.1. in OpenSUSE aveam o versiune Java mai veche, nu imi amintesc exact versiunile, poate java 1.8. De asemenea, am trecut la Java la 1.8 într-unul dintre PC-uri, dar lucrurile s-au înrăutățit. Voi instala Ubuntu cu o versiune mai veche, poate 18.04 pe un al treilea PC, (acum cu Windows) deși mă îndoiesc că acest lucru va rezolva problema. Am lăsat să știi.
galexite avatar
drapel pk
Pop!_OS va folosi depozitele de pachete Ubuntu pentru pachete precum Java, așa că nu este deloc neașteptat să vedeți același mesaj de eroare – rulați același binar identic pe ambele! Totuși, nu cred că este nevoie să faceți downgrade versiunii Ubuntu...
galexite avatar
drapel pk
Cum este mai rău retrogradarea, există un alt mesaj de eroare sau software-ul este inutilizabil în alt mod?
drapel vu
Bună, ai dreptate, downgrade-ul Java sau Ubuntu nu este o soluție. Pe un PC foarte vechi am instalat OpenSUSE Leap15.2 și Java 1.11, BioX se deschide, dar, primesc exact același mesaj de eroare.Din păcate, nu pot folosi acest PC, doar pentru a pregăti structurile moleculare din BioX, dar nu pot calcula nimic, așa cum am menționat, este un PC standard vechi. BioX este o sursă deschisă. Instalarea necesită doar dezarhivarea fișierelor. Dacă l-ai putea testa pe computer (nu trebuie să-l rulezi), poate ajungem la o soluție. www.biograf.ch --> Software --> Descărcați oricare sub versiunea Linux. Mulțumesc
drapel vu
Vă rugăm să aruncați o privire pe https://github.com/processing/processing4/issues/22 Vedeți-->Comentați: „Acesta vine de la JOGL însuși...” . BioX este furnizat cu jogl . Nici idee ce s-ar putea face.
galexite avatar
drapel pk
Cred că am rezolvat problema, BioX funcționează bine cu pachetul OpenJDK JRE 8, care este încă acceptat. Există o modalitate de a o forța să facă și asta. Vă rog să vedeți răspunsul meu.
Puncte:1
drapel pk

BioX nu este compatibil cu Java 11

Trebuie să utilizați JRE 8 mai vechi (încă acceptat). Puteți instala în continuare această versiune a JRE din depozitele Ubuntu.

Pentru a instala JRE, sau Java Runtime Environment, îl puteți prelua de la terminal folosind apt manager de pachete:

$ sudo apt update
$ sudo apt install openjdk-8-jre

Dacă aveți deja instalat un alt JRE, în unele cazuri, acest JRE mai nou va fi folosit în continuare ca java. În schimb, puteți alege să rulați software-ul Java folosind un anumit JRE utilizând java binar în /usr/lib/jvm in schimb. În acest caz, pentru a utiliza JRE 8 pe amd64 pentru a lansa BioX, rulați următoarele în directorul în care este stocat BioX:

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

Puteți salva acest lucru ca script shell pentru a economisi timp sau puteți crea un .desktop comandă rapidă, care vă permite să faceți dublu clic din managerul de fișiere.

Următoarea este o captură de ecran a BioX care rulează pe Xubuntu 21.04:

Captură de ecran BioX pe Xubuntu 21.04

drapel vu
Salut, ai rezolvat problema. MULȚUMESC.
drapel vu
Observație.: Întrebarea deschisă care rămâne (nu trebuie să răspundeți, v-ați făcut deja contribuția): De ce BioX și restul modulelor (Yeti, etc) funcționează cu OpenSUSE Leap 15.2 cu java 1.11 și nu în Ubuntu?
galexite avatar
drapel pk
@Bruno, mi-e teamă că habar n-am. Este posibil ca distribuțiile openSUSE să aibă un fel de strat de compatibilitate? Cred că JRE-urile mai vechi au un astfel de strat. Mă bucur totuși că s-a rezolvat. Ai putea marca acest răspuns ca soluție? Puteți face acest lucru făcând clic pe bifa din colțul din stânga sus al răspunsului.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.