[Risolto]: Multilib pacchetto 32bit + problema Java

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Multilib: pacchetto 32bit non va più

Messaggio da 414N »

In realtà è al suo posto (/usr/lib64/java/lib/amd64/libjava.so e /usr/lib64/java/lib/amd64/jli/libjava.so sono i percorsi corretti), ma non c'è nessuno script sotto /etc/profile.d che ti imposti le giuste variabili d'ambiente affinché java venga poi rilevato dai vari programmi.
È molto strano, poiché quello script viene inserito dallo SlackBuild nel giusto percorso all'atto della creazione del pacchetto. Mi pare d'obbligo porti la seguente domanda, a questo punto: la sub-directory profile/ dentro la directory dello SlackBuild che hai scaricato da extra/ è vuota o contiene dei file? Se è vuota è MALE :)

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Multilib: pacchetto 32bit non va più

Messaggio da ZeroUno »

hai copiato sia i 4 file sia la directory? Tutto lascia pensare che non hai copiato la directory.

/var/log/packages/jre-7u25-x86_64-1 é un file. Vedi il contento e cerca profile.d


libjava non centra assolutamente nulla (nel senso che sta bene nel percorso che ti dice 'locate')
l'errore che ti dice libjava riguarda quelle copie che ti sei fatto a mano.
L'errore che ti dava which java dipende dall'assenza di quei file in profile.d
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

james2221
Linux 2.x
Linux 2.x
Messaggi: 226
Iscritto il: dom 6 feb 2011, 0:28
Slackware: 14 86_64
Desktop: xfce4.10
Località: brescia

Re: Multilib: pacchetto 32bit non va più

Messaggio da james2221 »

eccomi, all'alba di un nuovo giorno, ciao.
Questo è il contenuto della directory locale JAVA e della subdirectory profile.d

Codice: Seleziona tutto

root@darkstar:~# ls -l /home/piero/Downloads/JAVA/                           
total 45884
-rwxr-xr-x 1 piero piero     5687 Aug  2  2012 java.SlackBuild*
-rwxrwxrwx 1 piero piero 46962005 Jun 22 16:32 jre-7u25-linux-x64.tar.gz*
drwxr-xr-x 2 piero piero     4096 Jul 30  2012 profile.d/
-rw-r--r-- 1 piero piero      822 Dec 19  2010 slack-desc.jdk
-rw-r--r-- 1 piero piero      864 Jul 10  2012 slack-desc.jre
root@darkstar:~# ls -l /home/piero/Downloads/JAVA/profile.d
total 16
-rwxr-xr-x 1 piero piero 143 Aug 29  2007 jdk.csh*
-rwxr-xr-x 1 piero piero 146 Aug 29  2007 jdk.sh*
-rwxr-xr-x 1 piero piero 122 Apr 29  2009 jre.csh*
-rwxr-xr-x 1 piero piero 125 Apr 29  2009 jre.sh*
root@darkstar:~# 
suddetti file sono stati copiati con comando "cp" e contengono ciascuno dei dati (manca solo il file "read.me").
Nel file /var/log/packages/jre-7u25-x86_64-1 trovo profile.d nell'ultima riga, che riporto

Codice: Seleziona tutto

etc/profile.d/
però nella directory /etc/profile.d di file denominati jre.sh nemmeno l'ombra, come visto in precedenza.
Invio questo post un po' velocemente perchè dovrei uscire, ma appena posso disinstallo tutto e rifaccio la procedura annotandomi percorsi, comandi ecc e vediamo dove ho cannato, salvo che abbiate scoperto l'inghippo prima della mia reinstallazione.
Per ora vi ringrazio
ciao

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Multilib: pacchetto 32bit non va più

Messaggio da ZeroUno »

crea /etc/profile.d/jre.sh e mettici dentro

Codice: Seleziona tutto

#!/bin/sh
export JAVA_HOME=/usr/lib64/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin"
e rendilo eseguibile
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

james2221
Linux 2.x
Linux 2.x
Messaggi: 226
Iscritto il: dom 6 feb 2011, 0:28
Slackware: 14 86_64
Desktop: xfce4.10
Località: brescia

Re: Multilib: pacchetto 32bit non va più

Messaggio da james2221 »

ciao
lo avevo già fatto ieri, ovvero copiato il file jre.sh da DVD a /etc/profile.d/jre.sh, ma nulla. La differenza con quello che mi hai indicato tu è alla prima riga, lib64 invece di lib, ma comunque o uno o l'altro il risultato è sempre quello. Per la cronaca: reso eseguibile, spento e acceso il pc, dato . /etc/profile.

Grazie
mi darò alla reinstallazione di java, appena posso.

Ciao

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Multilib: pacchetto 32bit non va più

Messaggio da ZeroUno »

hai fatto pulizia di tutte le cose che avevi fatto a mano?
Ora which java cosa ti da?
E echo $PATH ?

cosa é rimasto non funzionante?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

james2221
Linux 2.x
Linux 2.x
Messaggi: 226
Iscritto il: dom 6 feb 2011, 0:28
Slackware: 14 86_64
Desktop: xfce4.10
Località: brescia

Re: Multilib: pacchetto 32bit non va più

Messaggio da james2221 »

ciao
di cose fatte a mano ce ne sono un paio, la prima, dato che which java non trovava niente, è stata questa

Codice: Seleziona tutto

root@darkstar:~# cp /usr/lib64/qt/bin/java/java /usr/bin/
per cui attualmente ho

Codice: Seleziona tutto

root@darkstar:~# which java
/usr/bin/java
root@darkstar:~# 
. Partendo dal fatto che devo eseguire questo comando

Codice: Seleziona tutto

piero@darkstar:~$ /home/piero/wuala/wuala
dopo l'intervento di cui sopra mi dava per mancante la libjli.so che ho sistemato ed ora ho questo

Codice: Seleziona tutto

root@darkstar:~# locate libjli.so
/usr/lib64/qt/bin/libjli.so
/usr/lib64/qt/bin/java/libjli.so
/usr/lib64/java/lib/amd64/jli/libjli.so
root@darkstar:~# 
. Questi sono gli unici due interventi manuali che ho eseguito. In questo momento ho questa situazione

Codice: Seleziona tutto

piero@darkstar:~$ /home/piero/wuala/wuala
Running on display :0.0
/usr/bin/java
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
piero@darkstar:~$ 
.

Codice: Seleziona tutto

piero@darkstar:~$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/java/bin:/usr/lib64/kde4/libexec:/usr/lib64/qt/bin:/usr/share/texmf/bin:.
piero@darkstar:~$ 

Come scrivevo ieri se dovessi trovare una mezzoretta reinstallerei il pcchetto, ma dato che lo avevo già fatto mi ritroverei nella stessa situazione. Pertanto cortesemente ti chiedo: è il caso di riparare questo java o forse non è meglio installare qualcosa di diverso (open o altro ) ???
grazie
riedito : per far partire 'sto maldido wuala posso provare direttamente anche dal sito, Firefox cerca java per settimane, se non lo fermo, Opera mi dice che java non c'è, il sito di Oracle mi conferma tutto ok. Ma che si mettano d'accordo almeno loro !!!

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Multilib: pacchetto 32bit non va più

Messaggio da ZeroUno »

Copiando java a mano su /usr/bin, questo non si è ritrovato le librerie di contorno.

Ho finalmente una slackware sottomano con installato openjdk

In profile.d ho /etc/profile.d/jdk.sh (che è poco diverso da quello della jre)

Codice: Seleziona tutto

#!/bin/sh
export JAVA_HOME=/usr/lib64/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
quindi:

Codice: Seleziona tutto

# which java
/usr/lib64/java/bin/java
# java -version
java version "1.7.0_40"
OpenJDK Runtime Environment (IcedTea 2.4.1) (Slackware)
OpenJDK 64-Bit Server VM (build 24.0-b50, mixed mode)
# ldd /usr/lib64/java/bin/java
...
        libjli.so => /usr/lib64/java/bin/../jre/lib/amd64/jli/libjli.so (0x00007f2aa378f000)
[/url]

In questo modo wuala mi funziona correttamente lanciato command line (non ho provato da browser visto che non ho un account).
[code]$ ./wuala
Running on display :0
/usr/lib64/java/bin/java
Ho provato anche con la oracle jdk (non fatta con lo slackbuild ma scompattata da una parte personalizzata) e dandogli il PATH assoluto funziona:

Codice: Seleziona tutto

$ PATH=/usr/lib64/oraclejdk1.7.0_17/bin/:$PATH ./wuala
Running on display :0
/usr/lib64/oraclejdk1.7.0_17/bin/java
Facendo quello che hai fatto tu:

Codice: Seleziona tutto

# cp /usr/lib64/java/bin/java /usr/bin/
# which java
/usr/bin/java
# java -version
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
# ldd /usr/bin/java
        libjli.so => not found
inoltre lascia stare la jdk sotto /usr/lib64/qt che non si sa nemmeno cosa sia.
Per sapere i java che hai di quale pacchetto fanno parte, dai:

Codice: Seleziona tutto

# grep bin/java$ /var/log/packages/*
Una volta che hai messo a mano il jre.sh in profile.d, con la JAVA_HOME modificata a lib64 invece di lib, e una volta che rimuovi /usr/bin/java e l'altro workaround per libjli.so e risistemi ld.so.conf (che mi pare hai modificato), dovrebbe funzionarti tutto.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

james2221
Linux 2.x
Linux 2.x
Messaggi: 226
Iscritto il: dom 6 feb 2011, 0:28
Slackware: 14 86_64
Desktop: xfce4.10
Località: brescia

Re: Multilib: pacchetto 32bit non va più

Messaggio da james2221 »

OK RISOLTO
Risolutivo è stato il file

Codice: Seleziona tutto

/etc/profile.d/jre.sh
in particolare l'ultima riga è diversa dal file che avevo io da DVD

Codice: Seleziona tutto

#!/bin/sh
export JAVA_HOME=/usr/lib64/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
Grazie tante per il disturbo che ti sei preso, e con te 414N e quantaltri hanno collaborato

ciao

Rispondi