Pagina 6 di 6
Re: Splash Grafico su Slackware
Inviato: lun 7 set 2009, 10:29
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:
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...

Re: Splash Grafico su Slackware
Inviato: lun 7 set 2009, 10:41
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)
Re: Splash Grafico su Slackware
Inviato: lun 7 set 2009, 11:19
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?
Re: Splash Grafico su Slackware
Inviato: lun 7 set 2009, 11:24
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 ^^
Re: Splash Grafico su Slackware
Inviato: lun 7 set 2009, 14:52
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)
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...

Re: Splash Grafico su Slackware
Inviato: mar 8 set 2009, 12:07
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)
Re: Splash Grafico su Slackware
Inviato: mar 8 set 2009, 23:06
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:
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...