Avogadro 2 is out :-)

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.
Rispondi
gian_d
Linux 2.x
Linux 2.x
Messaggi: 327
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 5.10.xx
Desktop: KDE 5.20
Località: Sardinia
Contatta:

Avogadro 2 is out :-)

Messaggio da gian_d »

Ciao e buon anno a tutti.
Ci ho lavorato per alcuni giorni, ma alla fine sono riuscito a partorire il topolino e installare Avogadro2 (basato su qt5) sulla attuale current.

Immagine

L'architettura della piattaforma, ora sviluppata da OpenChemistry, è cambiata completamente e ho dovuto costruire gli slackbuild di alcune dipendenze che non sono presenti sul repository di Ponce. Alcune sono librerie opzionali che implementano l'utilizzo di Avogadro per contesti più complessi, come ad esempio i modelli molecolari delle proteine, altre che potenziano le funzioni computazionali e infine alcune dipendenze che sono parte integrante della piattaforma ma sviluppate come sottoprogetti, dal momento che Avogadro Application non è altro che l'interfaccia grafica.

Per ciascun pacchetto ho allestito i file "di servizio" secondo lo standard seguito da Slackbuilds.org: README, slack-desc, pacchetto.info e pacchetto.SlackBuild. Negli slackbuild ho adottato per le variabili $TAG e $TMP valori diversi da "_SBo" e "/tmp/SBo", trattandosi di pacchetti estranei al repository ufficiale degli slackbuild.

Questi gli step
1) installazione di mmtf-cpp (nuovo slackbuild). Si tratta di una libreria per l'implementazione C++ di un codec per modelli molecolari (MacroMolecular Transmission Format) composta solo da header. In teoria dovrebbe bastare solo un file .h, ma nel dubbio ho incluso nel pacchetto tutto l'albero degli header h. Richiede come dipendenza obbligatoria msgpack-c, il cui slackbuild è sul repository di Ponce.
2) installazione di libmsym (nuovo slackbuild). Non so quanto possa essere essenziale, in ogni caso è una libreria che implementa processi computazionali nella stereochimica.
3) installazione di Spglib (nuovo slackbuild). È quella che mi ha fatto dannare più di tutte perché c'erano dei problemi negli script di verifica e acquisizione delle variabili d'ambiente da parte degli script cmake di avogadrolibs. Non so a cosa serva di preciso questa libreria, comunque implementa processi computazionali relativi alle strutture in cristallochimica, perciò penso possa essere un'integrazione da non sottovalutare. Può anche essere interfacciata con diversi linguaggi, comunque ho incluso il supporto a python 3. Nel file .info ho impostato per il download del sorgente una mia copia ricostruita come tarbal dopo aver clonato il repository con git. Questo perché ci sono incongruenze tra i numeri di versione tra l'ultima versione in download dal repository ufficiale e quella dell'albero su github.
4) installazione di MoleQueue (nuovo slackbuild). È una libreria essenziale perché è uno dei sottoprogetti implementati nella piattaforma. Da quello che ho capito dovrebbe gestire la trasmissione dei dati. Penso sia essenziale per il download o l'invio di modelli standard condivisi (operazione ordinaria per chi si occupa di proteine).
5) installazione di Avogadro libraries o avogadrolibs (nuovo slackbuild). È il core di Avogadro 2, quello che si occupa degli algoritmi, del rendering, ecc. Può essere integrato anche il supporto a VTK (Visualisation Toolkit), di cui è disponibile lo slackbuild sul repository di Ponce. L'ho impostata come dipendenza opzionale perché non è detto che sia installata (non è un osso facile da masticare perché richiede alcune ore di compilazione). Purtroppo non sono riuscito per il momento a inserire nello slackbuild il supporto a Python. Ci sono alcuni problemi che non sono riuscito a risolvere con Cmake. Il primo perché il sorgente utilizza un FindPackage deprecato che individua Python 2 come interprete predefinito (mentre è richiesto Python 3) e non so come fare acquisire alla configurazione le variabili di ambiente restituite dal FindPackage corretto (quello che punta alla configurazione di Python3 su cmake). Il secondo è che la compilazione dei python bindings richiede come necessaria l'installazione di pybind11, il cui slackbuild però non installa alcuno script di configurazione di cmake. Il risultato è che la configurazione dell'installazione di avogadrolibs si blocca perché non trova pybind11 attraverso cmake. È da ieri che mi sto battendo, ma alla fine ci ho rinunciato e ho deciso di prendermi una pausa di riflessione.
6) Installazione di Avogadro Application o avogadroapp (nuovo slackbuild) che per semplicità e chiarezza ho denominato avogadro2 nel pacchetto. È l'interfaccia grafica, sviluppata separatamente dal core.

Tutti gli slackbuild sono scaricabili da questi indirizzi
- https://www.giand.it/tic/download/avoga ... cpp.tar.gz
- https://www.giand.it/tic/download/avoga ... sym.tar.gz
- https://www.giand.it/tic/download/avoga ... lib.tar.gz
- https://www.giand.it/tic/download/avoga ... eue.tar.gz
- https://www.giand.it/tic/download/avoga ... cpp.tar.gz
- https://www.giand.it/tic/download/avoga ... cpp.tar.gz

Gli slackbuild li ho testati su una Slackware64 current aggiornata al 28 dicembre. Sicuramente non è installabile sulla 14.2 neppure disponendo di qt5 perché alcune dipendenze sono troppo datate. Ad esempio ho patchato la verifica della versione di cmake portandola come versione minima alla 3.10.0 per una compatibilità migliore con OpenGL, ma sicuramente ci sono impedimenti con versioni vecchie del compilatore e con l'eventuale mancanza o aggiornamento di alcune dipendenze (ad esempio è necessario Eigen3, che non so se sia disponibile sulla 14.2).

Questo è quanto

PS: per Matteo: vedi tu se vale la pena di aggiungere questa roba al repository

Rispondi