Aggiornare un programma

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.
Avatar utente
Linpassion
Linux 2.x
Linux 2.x
Messaggi: 336
Iscritto il: mar 30 ott 2012, 11:17
Slackware: 14.2
Desktop: xfce, fluxbox

Aggiornare un programma

Messaggio da Linpassion »

Ciao dopo avere installato Blender 3.0.1 con slackbuild, per alcune funzioni mancante del Gemoetry Nodes, ho necessità di installare l'ultima versione.
Ho pensato di fare così

1 scaricare il file blender linux nuovo
2 scaricare lo slacbuild della vesione precedente
3 modificare la prima parte dello slackbuild circa la varsione

Può andare bene? Oppure voi come fate, se serve ad aggiornare un programma all'ultima versione?

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

Re: Aggiuornare un programma

Messaggio da joe »

Sì va bene fare così.
Però senza nessuna garanzia che funzioni e con l'avvertenza di dare un'occhiata all'eventuale applicazione di patches nello slackbuild. Quelle patch sono per la versione vecchia ed è probabile che non si applichino alla nuova dando banalmente errore.

Devi usare lo slackbuild come base di partenza, ma poi adattarlo al nuovo programma. Iniziare dalla modifica della variabile VERSION è un indispensabile punto di partenza ma potrebbe servire molto di più.
Devi provare e controllare, poi eventualmente apportare correzioni allo script e riprovare.
Alla fine dannni non dovresti farne visto che il prodotto è solo un pacchetto... non credo che incasini il sistema intero.
Al limite quando lo installi poi non funziona come ti aspetti, pazienza, eventualmente lo toglierai e riprovi.

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1213
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: Aggiuornare un programma

Messaggio da lablinux »

da profano, usare flatpack? E' così brutto da dire in un forum di Slackware?

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

Re: Aggiuornare un programma

Messaggio da joe »

Sì, dai... siamo su slacky.eu... facciamo finta di non aver "sentito"! :D

In realtà per quel che mi riguarda ho usato flatpak per Gimp e Scribus, in modo da utilizzare l'ultima versione di quei programmi sulla vecchia Slackware 14.2. Ma in quel caso era l'ultima spiaggia, infatti quel sistema operativo era nato nel 2016 e non permetteva di compilare scribus o gimp del 2020/21: troppe librerie necessarie in versione troppo recente rispetto a quelle di sistema, avevo provato con Scribus ad installare le librerie più recenti in /opt e appoggiarmici nella compilazione, ma oltre una certa versione non ero riuscito.
In quel caso ha un senso anche flatpak o appimage o cose del genere.

Altrimenti direi di no. Se possibile è meglio compilarsi il software da sorgenti. Una prova si può fare anche se non c'è lo slackbuild per la versione che si vuole. Potrebbe funzionare senza intoppi.
Per Blender poi c'è anche un'alternativa. Su slackbuld ci sono 2 "blender":
- "Blender" con la B maiuscola che compila da sorgenti (io proverei prima con questo)
- "blender" con la "b" minuscola, che impacchetta il binario rilasciato dal sito del progetto.

Se non funziona la prima via, si può tentare la seconda, sicuramente più semplice: di fatto è un tarball che viene estratto e il cui contenuto riorganizzato nelle solite /usr/bin /usr/ecc...

Bisogna sempre leggersi un attimo gli script per adattarli al nuovo materiale di partenza realtivo alla nuova versione. Ma direi che non dovrebbero esserci problemi.
Se tutto fallisce miseramente allora va bene anche andare di flatpak, ma è un'alternativa pachidermica. Forse è colpa anche del mio PC ormai obsoleto ma l'avvio di Gimp o Scribus installati da Slackbuild è molto più fluido rispetto all'installazione via flatpak.

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Aggiuornare un programma

Messaggio da gian_d »

Linpassion ha scritto:
gio 22 dic 2022, 19:10
Ciao dopo avere installato Blender 3.0.1 con slackbuild, per alcune funzioni mancante del Gemoetry Nodes, ho necessità di installare l'ultima versione.
Ho pensato di fare così

1 scaricare il file blender linux nuovo
2 scaricare lo slacbuild della vesione precedente
3 modificare la prima parte dello slackbuild circa la varsione

Può andare bene? Oppure voi come fate, se serve ad aggiornare un programma all'ultima versione?
Mi spiace darti la brutta notizia, ma le versioni più recenti successive alla 3.0.1 necessitano di Python 3.10. Al momento sulla Slackware siamo ancora alla 3.9 anche sulla current. Per la current ho dovuto estrapolare una patch lunghissima (circa un migliaio di righe di codice) dalla versione 3.1.0 di Blender per estendere il supporto a ffmpeg 5 (attualmente rilasciato per la current) proprio perché era impossibile aggiornare Blender.

In passato mi è capitato di riadattare il codice dello slackbuild per installare versioni più recenti di Blender e di qualche altra piattaforma, ma allo stato attuale sono stati introdotti cambiamenti piuttosto drastici con lo sviluppo di Blender e trattandosi di una piattaforma non semplice, che necessita anche di aggiornamenti puntuali di parecchie dipendenze è veramente difficile attualmente portarsi avanti con gli aggiornamenti. A maggior ragione sulla 15.0 che inizia a diventare un pochino datata rispetto alla current.

Escludendo l'ipotesi di disabilitare del tutto (ammesso che ciò sia possibile, si perderebbe la possibilità di fruire di un enorme numero di plugin) il supporto di Python in un pacchetto Blender per Slackware, l'unica strada percorribile sarebbe quella di installare sulla Slackware un pacchetto Python aggiornato alla 3.10. Roba che presumo ancora più ardua, a meno che non ci abbia già pensato AlienBob o qualche altro guru :-D

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Aggiuornare un programma

Messaggio da gian_d »

A margine, ho appena visto che ci fu un temporaneo aggiornamento a Python 3.10 sulla current di poco più di un anno fa e che su LQ c'è stato un dibattito in proposito. In sostanza si potrebbe anche aggiornare Python 3.10 anche sulla 15.0 o sull'attuale current, ma ci sarebbero parecchi pacchetti (soprattutto di terze parti) incompatibili perché usano moduli python compatibili con 3.9. Probabilmente è questo il motivo per cui Pat ha deciso di ritornare alla 3.9.

Se l'obiettivo è quello di usare una versione aggiornata di Blender allora, forse, una strada percorribile potrebbe essere quella di creare un ambiente dedicato ad hoc che utilizzi una piattaforma python aggiornata. Non so se sia possibile con Flatpack

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Aggiuornare un programma

Messaggio da erio »

se usi lo slackbuild di blender sei "costretto" a usare le librerie python3.9 ma blender e' un po che linka python3.10 nel suo pacchetto senza interferire con la versione installata da slackware questo e' un link alle build scarica una versione scompatta il tutto e provalo in una directory se ti va...
https://builder.blender.org/download/daily/

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

Re: Aggiuornare un programma

Messaggio da joe »

Su SBo si trova lo slackbuild che reimpacchetta semplicemente il precompilato rilasciato direttamente dal sito di blender.
Se quel pacchetto, come mi pare di capire dalla risposta di erio, comprende già la versione di python nuova cui blender risulterà linkato, allora dovrebbe essere sufficiente adattare lo slackbuild alla nuova versione di blender. E dovrebbe saltare fuori un pacchetto col binario di blender che si appoggierà NON a python di slackware, ma al python compreso nel blender precompilato di partenza.

Sbaglio?

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Aggiuornare un programma

Messaggio da erio »

penso che si puo' fare perche blender core che ha pyhton3.10 va a finire in /opt e in /usr solo lo starter mi pare, lo slackbuild ha ancora la versione 2.90 prova a cambiare versione sullo slackbuild e vediamo che succede,non avendo patch da applicare forse va a buon fine.

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

Re: Aggiornare un programma

Messaggio da joe »

Io posso provare l'installazione ma poi non sono pratico di blender, non saprei bene come testare le funzionalità che dipendono da python 3.10.

Provato da questo precompilato:

https://ftp.nluug.nl/pub/graphics/blend ... x64.tar.xz

Qui lo slackbuild originale:

https://slackbuilds.org/repository/15.0 ... s/blender/

O meglio, l'intera dir di lavoro:

https://slackbuilds.org/slackbuilds/15. ... der.tar.gz

Al solito, si spacchetta, vi si copia dentro il tar.xz del software lì sopra... e poi si deve modificare un attimo lo slackbuild.

La versione ovviamente...

Codice: Seleziona tutto

#VERSION=${VERSION:-2.90.1}
VERSION=${VERSION:-3.4.1}
E il nome del tar.xz che nella vecchia versione era "linux64" invece ora è "linux-x64" (vedere nome file sopra blender-3.4.1-linux-x64.tar.xz):

Codice: Seleziona tutto

SRCVERSION=${VERSION}-linux-x64
Ok, macina un po' spacchetta reimpacchetta e salta fuori solo qualche warning relativo a files vuoti creati...

Codice: Seleziona tutto

WARNING:  zero length file opt/blender/3.4/scripts/modules/bl_rna_utils/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/modules/bl_ui_utils/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/metarigs/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/metarigs/Animals/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/limbs/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/experimental/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/spines/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/basic/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/rigify/rigs/faces/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/animation/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/modeling/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/scene/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/misc/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/render/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/amaranth/node_editor/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/io_export_dxf/model/__init__.py
WARNING:  zero length file opt/blender/3.4/scripts/addons/io_import_dxf/dxfimport/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/numpy/testing/_private/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/numpy/py.typed
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/urllib3/packages/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/urllib3/packages/backports/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/urllib3/contrib/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/urllib3/contrib/_securetransport/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/charset_normalizer/cli/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/charset_normalizer/py.typed
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/idna/py.typed
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/site-packages/zstandard/py.typed
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/email/mime/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/ensurepip/_bundled/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/pydoc_data/__init__.py
WARNING:  zero length file opt/blender/3.4/python/lib/python3.10/urllib/__init__.py

Slackware package /tmp/blender-3.4.1-x86_64-2_SBo.tgz created.
Bisognerebbe vedere un po' meglio perché succede dallo slackbuild, ma va be' si potrebbe anche provare già a fare un test.

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

Re: Aggiornare un programma

Messaggio da joe »

Provato l'avviamento dell'applicazione.
Partire parte, ma l'eseguibile non è linkato in /usr/bin/, si deve lanciare da "/opt/blender/blender".
Va be' basta aggiungere un link simbolico nello slackbuild... però poi poi bisogna fare attenzione se si ha una versione di blender affiancata, tipo quella compilata che sicuramente andrà a piazzare l'eseguibile proprio in quella posizione "classica". Comunque è una banalità.

Ora, se volete darmi indicazioni di come testare la roba di cui parlavate... posso fare una prova, ma tenete conto che per me è arabo.
In ogni caso molto meglio l'installazione così fatta che non mettere in piedi tutto l'ambiente pachidermico di flatpak secondo me.

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Aggiornare un programma

Messaggio da erio »

joe. forse ci sono troppi file di configurazione vuoti,molte funzioni le hai quando lavori con effetti e script,lo dovrebbe provare linpassion e dire cosa funziona e cosa no..

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Aggiornare un programma

Messaggio da gian_d »

Io faccio un uso elementare di Blender e non sono in grado di entrare nel merito, però l'uso avanzato si fonda sulla molteplicità delle funzioni interne di Blender (che chiamo, forse impropriamente, plugin) e penso che molte di queste possano basarsi su Python, un linguaggio sempre più integrato nelle piattaforme complesse per estenderne le funzionalità. Una versione aggiornata che sfrutti un ambiente python dedicato offre sicuramente degli strumenti in più (o comunque più funzionali) rispetto ad una versione più datata. D'altra parte credo che ci sia il rovescio della medaglia nel non avere una piattaforma con un'integrazione completa con il sistema perché si perde la possibilità di sfruttare le librerie dinamiche. Le potenzialità di Blender aumentano quanto più sono supportate le dipendenze opzionali, cosa che viene garantita con l'installazione dai sorgenti. È probabile che il pacchetto binario contenga un supporto nativo per le dipendenze opzionali più "essenziali" perché integrate come componenti interni (vedi python), ma è presumibile che non contenga "tutti" i componenti di terze parti che possono invece essere integrati in fase di compilazione con le librerie dinamiche e gli header.

Sicuramente per un uso elementare non ci sono sostanziali differenze e a quel punto l'installazione del pacchetto binario risolve tanti problemi a chi non ha interesse a rompersi con i problemi legati alle compilazioni dei sorgenti. Per un uso avanzato bisogna invece valutare i pro e i contro delle due opzioni.

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

Re: Aggiornare un programma

Messaggio da joe »

Il fatto è che compilarlo da sorgenti su Slackware che è basata sulla versione di python più vecchia di quella richiesta comporta problematiche piuttosto profonde, se non l'impossibilità dell'operazione in toto.
Non so dire se i plugin cui ti riferisci siano "agganciabili" anche in runtime o sia necessario includerli al momento della compilazione.
Probabile che per vedere quali componenti siano stati inclusi alla compilazione ci sia uno switch da passare all'eseguibile per avere informazioni, tipo come si fa con ffmpeg per capirci. Così al volo non saprei quale sia l'opzione...

Avatar utente
Linpassion
Linux 2.x
Linux 2.x
Messaggi: 336
Iscritto il: mar 30 ott 2012, 11:17
Slackware: 14.2
Desktop: xfce, fluxbox

Re: Aggiornare un programma

Messaggio da Linpassion »

Mi è venuto di pensare di fare così allo stato attual delle cose, e cioè scaricare l'ultima versione per linux, scompattarla e creare un.desktop ad hoc, poichéla versione 3 in SlackBuild, facendo delle prove di rendering in fffmpeg mi dava problemi, nel senso errore dei codec.

Rispondi