Splash Grafico su Slackware

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
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
gigiobagiano
Linux 3.x
Linux 3.x
Messaggi: 530
Iscritto il: dom 11 mar 2007, 12:58
Nome Cognome: Filippo
Slackware: 14.2
Kernel: vanilla-4.4.38
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Splash Grafico su Slackware

Messaggio da gigiobagiano »

scusami di nuovo, sono riuscito a compilare le klibc (leggendo nella precedente pagina ho fatto il link /usr/src/linux/include/asm -> ../linux/arch/x86/include/asm/ ), poi sono ritornato a splashutils. Questo è quello che passo al configure:

Codice: Seleziona tutto

./configure --enable-klibc-shared --disable-helper
Tutto procede bene neanche un warning o qualcosa del genere, quindi passo al make che mi restituisce:

Codice: Seleziona tutto

make --silent all-recursive
Making all in libs
Making all in src
  CREATE  fbsplash.h
Making all in .
gcc: /usr/lib64/libfreetype.a: No such file or directory
make[4]: *** [fbsplashctl] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
E' corretto, infatti, non ho quel file (perchè? freetype è installato correttamente dal dvd di slackware), e anche linkandolo al file libfreetype.la o libfreetype.so mi dice che non sa cosa farsene (più o meno tirando in ballo "ld" )
Mi dispiace veramente di rompere così tanto le balle, mi rendo conto che sono incapace, ma ormai credo che ste ca**o di splashutils mi prendano per i fondelli... :roll:

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Splash Grafico su Slackware

Messaggio da nuitari »

no problema ^^

il motivo per cui non l'hai è che nello slackbuild di default è inibita la compilazione della libreria a linking statico (l'.so è quella a linking dinamico). devi scaricarti freetype dal repository di slack con tutti gli ammennicoli accessori, modificare lo slackbuild e quindi ricompilarti il tutto. (già che ci sei ti puoi pure attivare gli algoritmi propietari, come quelli per il subpixel hinting)

Avatar utente
gigiobagiano
Linux 3.x
Linux 3.x
Messaggi: 530
Iscritto il: dom 11 mar 2007, 12:58
Nome Cognome: Filippo
Slackware: 14.2
Kernel: vanilla-4.4.38
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Splash Grafico su Slackware

Messaggio da gigiobagiano »

Grazie mille, in effetti ho risolto, adesso compila!!!! Ora vedo di creare lo slackbuild (non dovrebbe essere un grosso problema), e vedo se tutto funziona. Posso chiederti perchè viene rimosso il file .a? C'è qualche controindicazione?

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Splash Grafico su Slackware

Messaggio da nuitari »

puoi ^^
No non ci sono controindicazioni, averli tutti e due non da nessun tipo di problema. Normalmente freetype viene sempre linkato dinamicamente, per cui Pat & soci l'hanno disabilitato ritenendolo inutile (perfezionisti ^^).
Splashutils però gira in una fase di avvio del kernel in cui non c'è accesso al filesystem e quindi alle librerie (detta semplice), pertanto bisogna compilarcelo dentro staticamente

Buon lavoro ^^

Avatar utente
gigiobagiano
Linux 3.x
Linux 3.x
Messaggi: 530
Iscritto il: dom 11 mar 2007, 12:58
Nome Cognome: Filippo
Slackware: 14.2
Kernel: vanilla-4.4.38
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Splash Grafico su Slackware

Messaggio da gigiobagiano »

Finalmente grazie al tuo aiuto sono riuscito a risolvere i problemi e a creare i pacchetti. Per le miscsplashutils ho dovuto creare dei diff per "correggere" "LIB=/usr/lib" in "LIB=/usr/lib64". Francamente non mi è sembrata una grande idea, ma non mi è venuto in mente altro (e funziona) :roll:

Riporto qui i due slackbuilds:
splashutils.SlackBuild

Codice: Seleziona tutto

#!/bin/sh
# 
# <filippo.graziola@gmail.com>
#

CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package/splashutils
NAME=splashutils
VERSION=1.5.4.3
ARCH=${ARCH:-x86_64}
BUILD=5fg
SOURCE=http://dev.gentoo.org/~spock/projects/gensplash/archive/splashutils-1.5.4.3.tar.bz2


#wget $SOURCE



rm -rf $PKG
mkdir -p $PKG
rm -rf $TMP/$NAME-$VERSION

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
fi

cd $TMP
tar xvf $CWD/$NAME-$VERSION.tar.bz2
cd $NAME-$VERSION
chown -R root:root .
LDFLAGS="$SLKLDFLAGS" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \

./configure --libdir=/usr/lib64 --without-ttf-kernel

make || exit 1
make install DESTDIR=$PKG || exit 1
mkdir -p $PKG/usr/doc/$NAME-$VERSION
#cp -a docs/* $PKG/usr/doc/$NAME-$VERSION
#find $PKG/usr/man -type f -exec gzip -9 {} \;


mkdir -p $PKG/etc/rc.d
cp -a $CWD/etc/rc.d/* $PKG/etc/rc.d/

#fix some link
cp $PKG/usr/sbin/fbcondecor_ctl $PKG/sbin/fbcondecor_ctl
cp $PKG/usr/sbin/fbsplashd /sbin/fbsplashd

#fix cache directory
mkdir -p $PKG/lib64/splash/cache

cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild

makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz

if [ "$1" = "--cleanup" ]; then
  rm -rf $TMP
fi
miscsplashutils.SlackBuild

Codice: Seleziona tutto

#!/bin/sh
# 
# <filippo.graziola@gmail.com>
#

CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package/miscsplashutils
NAME=miscsplashutils
VERSION=0.1.8
ARCH=${ARCH:-x86_64}
BUILD=1fg
SOURCE=http://dev.gentoo.org/~spock/projects/gensplash/current/$NAME-$VERSION.tar.bz2

if [ ! -e $NAME-$VERSION.tar.bz2 ]; then
wget -c $SOURCE
fi


rm -rf $PKG
mkdir -p $PKG

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
fi

cd $TMP
tar xvf $CWD/$NAME-$VERSION.tar.bz2
cd $NAME-$VERSION
chown -R root:root .
LDFLAGS="$SLKLDFLAGS" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \

# Patching makefiles
if [ "$ARCH" = "x86_64" ]; then
  patch -p1 < $CWD/miscsplash.patch; patch -p1 < $CWD/kbd.patch; patch -p1 < $CWD/truetype.patch;
fi

make -j4 || exit 1
make install DESTDIR=$PKG || exit 1

cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null

mkdir -p $PKG/install
mkdir -p $PKG/usr/doc/$NAME-$VERSION

cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild

makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz

if [ "$1" = "--cleanup" ]; then
  rm -rf $TMP
fi
Ecco le patch che vengono applicate nel caso di x86_64:

Codice: Seleziona tutto

--- miscsplashutils-0.1.8/Makefile	2009-09-07 14:46:52.095451008 +0200
+++ Makefile	2009-09-07 14:47:46.418405734 +0200
@@ -1,5 +1,5 @@
 SUBDIRS = fbtruetype kbd
-LIB		?= lib
+LIB		?= lib64
 STRIP	= strip
 
 all:	fbres usleep

--- miscsplashutils-0.1.8/kbd/Makefile	2007-04-17 12:03:31.000000000 +0200
+++ Makefile.kbd	2009-09-07 12:37:44.000000000 +0200
@@ -1,4 +1,4 @@
-LIB ?= lib
+LIB ?= lib64
 
 all: fgconsole

--- miscsplashutils-0.1.8/fbtruetype/Makefile	2007-06-09 16:43:16.000000000 +0200
+++ Makefile.truetype	2009-09-07 12:36:27.000000000 +0200
@@ -15,7 +15,7 @@
 
 # Triggering lib64 path from spec file.
 PREFIX   ?= /usr
-LIB      ?= lib
+LIB      ?= lib64
 
 LIBDIR   = $(PREFIX)/$(LIB)
 
Spero che possano essere utili... ;)

p.s.: mancano i file rc.*, gli ho copiati direttamente dai tuoi pacchetti. Scusami se non ho corretto gli slackbuild inserendoli, ma sti pacchetti mi hanno un po' distrutto... ;)

Avatar utente
gigiobagiano
Linux 3.x
Linux 3.x
Messaggi: 530
Iscritto il: dom 11 mar 2007, 12:58
Nome Cognome: Filippo
Slackware: 14.2
Kernel: vanilla-4.4.38
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Splash Grafico su Slackware

Messaggio da gigiobagiano »

Ho modificato lo sb di splashutils perchè dava problemi, ho inoltre aggiunto alcune opzioni per renderlo effettivamente più completo. Il problema maggiore era la compilazione in parallelo. Ho messo alcuni comandi di copia per renderlo coerente con i tuoi file rc, secondo me non è proprio geniale anzi tutt'altro, ma sembra che sia l'unica maniera per ottenere i risultati, in quanto anche gli eseguibili stessi cercano in /lib e non in /lib64. Non sono abbastanza bravo per poter dare un'occhio al programma quindi per il momento questa è la soluzione su slackware64.

Potete trovare i miei pacchetti qui:
http://zaraki.interfree.it/miscsplashut ... 64-2fg.txz
http://zaraki.interfree.it/splashutils- ... 64-5fg.txz
(contiene già i file rc di nuitari)

Avatar utente
gigiobagiano
Linux 3.x
Linux 3.x
Messaggi: 530
Iscritto il: dom 11 mar 2007, 12:58
Nome Cognome: Filippo
Slackware: 14.2
Kernel: vanilla-4.4.38
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: Splash Grafico su Slackware

Messaggio da gigiobagiano »

Vi segnalo, sperando di non infrangere qualche regola antispam, un mio tema fbsplash http://www.kde-look.org/content/show.ph ... n=21718594

Tornando a noi, lo splash funziona perfettamente, ma non l'immagine di initrd. Durante il boot vedo passare questo messaggio:

Codice: Seleziona tutto

couldn't find valid ramdisk image starting at 0
Questo mi accade sia seguendo il metodo slackware, come indicato nella guida, sia con il metodo dato dal pacchetto. Ho provato anche con la versione 1.5.3.2 (come per i tuoi pacchetti che mi ricordo perfettamente funzionanti.
Domani provo a mettere le librerie in lib e non in lib64. Anche se francamente, un messaggio del genere, mi sembra segnalare un errore un po' più grave...

Rispondi