Applicazioni Java su Slackware 11.0: chiarimenti basilari

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware 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 Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Applicazioni Java su Slackware 11.0: chiarimenti basilari

Messaggio da joe »

Salve a tutti.
Vorrei installare alcune applicazioni scritte in java e allo stesso tempo abilitare Firefox per non aver problemi con siti comprendenti contenuti che richiedono tale plugin.
Il mio sistema è Slackware 11.0.


Tempo addietro mi ero già posto il problema, ma non mi ci sono dedicato molto, perlomeno sotto slackware....diciamo che le applicazioni in java non mi piacciono granchè, è una questione di fame di risorse...
In ogni caso vorrei installare meno MB possibile. ;-)
Come applicazioni di prova vorrei far funzionare Azureus e Limeware.

Ora vorrei sapere quale versione di java mi serve?
Mi dareste qualche dritta?
Nel caso non ci fosse un pacchetto slackware tgz già pronto, vorrei tentarne la creazione, anche a scopo "didattico".
Di tutti i software menzionati sarei interessato ad installarne la versione più recente.


Qualcosa avevo già installato:

Codice: Seleziona tutto

 
bash-3.1$ ls /var/log/packages/ |grep java    
gcc-java-3.4.6-i486-1
bash-3.1$ ls /var/log/packages/ |grep jre
jre-1_5_0_09-i586-1
bash-3.1$ sudo find /usr -name java
Password:
/usr/doc/libidn-0.6.5/contrib/java
/usr/lib/jre1.5.0_09/bin/java
/usr/lib/java
/usr/share/java
/usr/include/gnu/java
/usr/include/java
/usr/include/seamonkey-1.0.5/java
bash-3.1$ sudo find /usr -name jre 
bash-3.1$ 
Cosa è meglio che disinstalli prima di procedre con la nuva installazione?

Vi sarei grato se potreste spiegarmi un po' la questione a livello generale e poi magari se mi postaste qualche link "secco" ai download da eseguire. Sto chiedendo la pappa pronta forse, ma è che ho un attimo qualche dubbio che potrebbe essermi tolto con poche rige di risposta...

Grazie in anticipo e arrisentirci. :-p

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

Da quel che ho capito vuoi:
1) Avere i plugin java in firefox
2) Pacchettizzare applicazioni java (azureus e limewire)
3) Installare meno MB possibili ma avere le versioni piu' recenti dei sw.

Dunque:
Oveview su Java
Java viene distribuito (shipped) come j2SE e J2EE.
La prima e' la versione Standard Edition (SE). La seconda la Enterprise edition (EE).
La seconda ti serve solo se devi realizzare applicazioni complesse in ambito enterprise (Comprende Java Message Service, Collegamento a db tramite jdbc, RMI, API per Application Server ecc.)
Per quel che vuoi fare tu ti basta la SE.
Con Jre si intende il Java runtime environment, cioe' la Java Virtual machine priva di compilatore javac e altri ammenicoli.
Tramite Jre puoi eseguire ma non compilare applicazioni Java.
Con j2sdk (Java 2 Standard Development Kit) puoi compilare sorgenti java e ottenere il bytecode.
Siccome tu vuoi pacchettizzare (partendo da sorgenti java suppongo) ti tocca usare il jdk.
1) Il jdk comprende anche i plugin per firefox. Dovrai fare un link simbolico in /usr/lib/firefox/plugins a qualche file di nome tipo libjavaplugin*.so che trovi nel jdk. Cerca nel forum o su google se non riesci ad avere i plugin java in firefox.
2) Per compilare da sorgenti....beh devi sapere usare javac.
Se puoi vuoi usare l'ultima versione di java siamo alla 1.6.0_02
Dovrai prima pacchettizzare java.
Poi pacchettizzare le applicazioni java compilando i sorgenti col javac appena pacchettizzato.
Ovviamente se pacchettizzi l'ultima versione di java poi non avrai problemi a pacchettizzare nessuna applicazione java.
3) Se pacchettizzi il jdk avrai in pratica il jre + altro (ad eempio nella voce altro rientra javac che come detto non trovi nel jre). Potrai quindi disinstallarti il jre e tenerti solo il jdk.
4) I requisiti di versione java minima per la compilazione di azureus non li so (e tantomeno di limewire). Ma come gia' detto se pacchettizzi l'ultimo jdk non avrai nessun problema in tal senso.
5) Per i link ti consiglio di guardare la pappa pronta degli SlackBuild Slacky :
http://www.slacky.eu/index.php?option=c ... 2&Itemid=2
http://www.slacky.eu/index.php?option=c ... 5&Itemid=2

Piu' pappa pronta di cosi' non saprei... ;)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Che dire un'ottima spiegazione, grazie mille.
Vediamo se ho capito bene:

Se volessi solo installare azureus dal pacchetto tgz precompilato allora mi basterebbe solo installare la JRE e poi il tgz di azureus liscio liscio.
Avendo invece intenzione di prendere il sorgente di azureus e crearne il corrispondente pacchetto tgz allora devo prima installare la jdk.

Bene allora adesso mi conentrerei su questo problema:
creare un pacchetto tgz per jdk.

Per prima cosa dovrò scaricarmi questa jdk e il sito della sun mi è un po' ostico:

partendo da qua: http://java.sun.com/javase/downloads/index.jsp

Quale di questi devo scaricare? Java SE 6 JDK Source Code?

LA confusione che ho in testa, dopo aver navigato sul sito della sun, abbonda.
Spero nella vostra comprensione.
A presto e grazie di nuovo. :-)

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

joe ha scritto: Se volessi solo installare azureus dal pacchetto tgz precompilato allora mi basterebbe solo installare la JRE e poi il tgz di azureus liscio liscio.
Avendo invece intenzione di prendere il sorgente di azureus e crearne il corrispondente pacchetto tgz allora devo prima installare la jdk.
Esatto.
Guarda qua trovi tutto: http://carroll.cac.psu.edu/pub/linux/di ... rce/jdk-6/

Essendo il lavoro di Volkerding io non potrei fare di meglio. :)
Ho letto che hai la 11. Se fai l'upgrade alla 12 il jdk lo trovi già pacchettizzato nella sezione extra.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Ok grazie.
Dopo un po' di navigazione sul sito sun e seguendo le indicazioni di Pat che suggerisce il download del file "jdk-6-linux-i586.bin", sono riuscito a raggiungere l'oggetto del desiderio: come dicevi siamo alla versione 6 update2.

Per scaricare il file giusto si può andare qui:

http://java.sun.com/javase/downloads/index.jsp

e si clicca sul primo download: jdk6 update 2. Questo stabilisce una connessione sicura e ci rimanda ad una pagina in cui si possono scegliere i download corrispondenti alla giusta archittettura.
Nel mio caso ho scelto:

jdk-6u2-linux-i586.bin

Spero che sia quello giusto, ma direi proprio di sì. Se per qualche motivo non dovesse esserlo vi prego di avvertirmi: la mia connessione è lentuccia e non vorrei perdere tempo inutilmente :cry:

Ok, per ora direi che va bene così, adesso guardo un attimo lo slackbuild di Pat e quello di slacky confrontandoli e magari vi chiederò qualche delucidazione per capire un po' meglio. Intanti grazie di nuovo e a presto.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Dunque sto cercando di pacchettizare java seguendo la procedura definita dallo slackbuild di Pat. come detto ho scaricato il file jdk-6u2-linux-i586.bin e l'ho messo in una directory ad hoc:

/tmp/src/jdk-6u2

Poi mi sono creato la directory

/tmp/pkg/jdk-6u2

Andando a vedere lo slackbuild dice:
CWD=`pwd`
PKG=/tmp/package-jdk
Ecco, nel mio caso $CWD corrisponderebbe a /tmp/src/jdk-6u2, mentre /tmp/pkg/jdk-6u2 equivarrebbe a $PKG.
Fin qui spero che non ci piova, nel caso vediate errori vi prego di avvertirmi.

Seguendo pedissequamente lo slackbuild
cd $PKG
mkdir -p usr/lib
cd usr/lib
sh $CWD/jdk-${VERSION}-linux-${ARCH}.bin
mkdir -p $PKG/etc/profile.d
cp -a $CWD/profile.d/* $PKG/etc/profile.d
mi sposto in /tmp/pkg/jdk-6u2
creo la dir "usr/lib"
mi ci sposto dentro
e da lì eseguo il file scaricato che si trova in /tmp/src/ldk-6u2

Mi crea una directory piena di files e sottodir nella dir dove mi trovo che è sempre /tmp/pkg/jdk-6u2/usr/lib/.

Creo la dir /tmp/pkg/jdk-6u2/etc/profile.d

E fin qui tutto Ok, ma dopo lo slackbuild dice di:

copiare il contenuto di /tmp/src/jdk-6u2/profile.d/* nella dir creata appena sopra.....
Il fatto è che la dir /tmp/src/jdk-6u2 non contiene nessuna sottodir, contiene solo il file che ho scaricato dal sito della sun... :shock: :?

Dove sbaglio? occorre scaricare un file in più? Da dove lo pesco quel profile.d?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Niente alla fine ho risolto...
In effetti gli slackbuild presuppongono dil avorare a partire dalla directory "src".
Quella del repositorio intendo. Questo implica che la nostra directory $CWD debba contenere le stesse cose della src sul repo.

In questo senso io ho sbagliato, perche nella $CWD ho messo solo il file .bin scaricato da sun. Poco male, basta copiarvi quello che manca e cioè

1- slack-desc (serve dopo)
2- la dir profile.d presente sempre sul repo...quella che contiene i due script di shell che servono all'impostazione di alcune variabili d'ambiente necessarie al funzionamento del programma (immaggino).

All'atto della creazione del pacchetto ho notato 2 warning (magari ce ne sono altri che però mi sono sfuggiti allo scorrimento del terminale.

Codice: Seleziona tutto

WARNING: zero length file ./usr/lib/jdk1.6.0_02/jre/.systemPrefs/.system.lock
WARNING: zero length file ./usr/lib/jdk1.6.0_02/jre/.systemPrefs/.systemRootModFile
Cosa significano? sono gravi?
Grazie mille in anticipo e scusate per le domande forse banali.
A presto! :-p

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

In linea di massima puoi prescindere dagli WARNING
che in effetti non sono errori. Nella fattispecie,
ti comunicano che hai creato due file vuoti.

M.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Applicazioni Java su Slackware 11.0: chiarimenti basilar

Messaggio da joe »

Ok allora faccio finta di nulla sperando per il meglio, anche se mi piacerebbe capire perchè vengono creati due files vuoti...ma va bè....


Prima di provare l'installazione del pacchetto creato però dovrei disinstallare ciò che già c'è attualmente sul mio sistema di inerente a java.

Nel primo post avevo riportato un po' di roba:
joe ha scritto:
Qualcosa avevo già installato:

Codice: Seleziona tutto

 
bash-3.1$ ls /var/log/packages/ |grep java    
gcc-java-3.4.6-i486-1
bash-3.1$ ls /var/log/packages/ |grep jre
jre-1_5_0_09-i586-1
bash-3.1$ sudo find /usr -name java
Password:
/usr/doc/libidn-0.6.5/contrib/java
/usr/lib/jre1.5.0_09/bin/java
/usr/lib/java
/usr/share/java
/usr/include/gnu/java
/usr/include/java
/usr/include/seamonkey-1.0.5/java
bash-3.1$ sudo find /usr -name jre 
bash-3.1$ 
Cosa è meglio che disinstalli prima di procedre con la nuva installazione?
Allora vado tranquillo nella disinstallazione del jre-1.5.0_09 che non servirà più visto che è compreso nella nuva jdk che andrò ad installare.
Ho un piccolo dubbio sullaltro pacchetto che contiene java:

gcc-java-3.4.6-i486-1

Che cos'è?
Lo disinstallo o serve e ha a che fare con l'operazione che sto cercando d'eseguire?
Lascio a voi la risposta e appena la ricevo vado finalmente con l'installazione.

Grazie per la disponibilità dimostrata. A presto. :-p

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

Rimuovi rimuovi.
Se ti esplode il computer al massimo lo reinstalli :)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Sì, ma che roba è? A cosa o a quale programma serve?

EDIT
gcc-java-3.4.6-i486-1 in slackware/d
gcc -java (java support for gcc )

java support for the GNU Compiler Collection.

This package contains those parts of the compiler collection needed to
compile programs written in the java programming language. The base
gcc package is also required.
A quanto pare serve per compilare programmi scritti in java, quindi avendo messso su il JDK della sun dovrebbe essere compreso anche lui o qualcosa che lo sostituisca...almeno penso.

In ogni caso lo disinstallo, poi semmai lo reinstallerò, non vorrei che collidesse conqualcosa della nuova installazione.

Una conferma un attimo più esplicativa mi farebbe comunque comodo per capire un po' meglio.
Saluti :-)

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

Non so in modo molto approfondito ma gcc-java comprendeva un compilatore (gcj) che permetteva di compilare sorgenti java pur non avendo una vm sun. E' un progetto della fsf per compilare sorgenti java. Considera che java è opensource da meno di un anno (mi pare dall'ottobre del 2006). E quindi prima esistevano dei progetti open che tentavano di implementare in maniera open le api (application programming interface) java. Uno di questi era il progetto blackdown (che a vedere dal sito sembra fermo al 2005).

See also: http://en.wikipedia.org/wiki/GNU_Compiler_for_Java
and
http://en.wikipedia.org/wiki/GNU_Compiler_Collection

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Ho capito, lo disinstallato tranquillamente.
Grazie mile.

Ho installato il novo oacchetto JDK e oraper provarlo ho deciso di scaricare azureus (provvisoriamente quello già impacchettato per la 11.0).
Lo utilizzerò per testare il pacchetto jdk.

In seguito se tutto funge vorrei cercare di pacchettizzare BitTyrant pe r vedere se è così "ggressivo" come ho letto.
La compilazione e pacchettizzazione dovrebbe essere simile a quella per Azureus, visto che sono cugini....
Cosa dite, posso basarmi un po' sullo slackbuild di Azureus presente in questo sito?

A presto! :-p

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Messaggio da joe »

Allora il discorso jdk direi che và bene, visto che azureus sta girando tranquillamente.

Ho provato a costruirmi un pacchetto per BitTyrant.
Ahi me l'operazione non è andata a buon fine. E non so come fare: avevo segiuto le indicazioni dello slackbuild di azureus per la 11.0, ma probabilmente ci sono delle differenze.

Se qualcuno di voi più esperto di me l'avesse già pacchettizzato e usato potrebbe darmi qualche dritta?
Ve ne sarei grato. Non mi va d'installare roba a casaccio che poi non so più bene come disinstallare....

In ogni caso grazie in anticipo e arrisentirci, spero presto.

Rispondi