Pagina 1 di 1
libmpeg3 (shared e pkg-config)
Inviato: gio 28 feb 2008, 21:02
da targzeta
Ciao,
mi sono accorto che lo slackbuild del pacchetto libmpeg3 non crea né la librearia condivisa (libmpeg3.so) né il file libmpeg3.pc usato in seguito da pkg-config.
Scova scova ho capito che il problema non è dello slackbuild ma nei sorgenti. Quindi ho fatto questa
patch che dovrebbe risolvere tutto.
Ad esempio transcode usa questa libreria e con quella fornita qui su slacky non c'è verso di far usare a transcode la libreria libmpeg3.
Patchando il Makefile con la mia patch invece, l'opzione --enable-libmpeg3 di transcode ha successo.
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: gio 28 feb 2008, 21:12
da Loris
Ottimo, domani o sabato rifaccio il pacchetto

Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 9:59
da targzeta
Loris ha scritto:Ottimo, domani o sabato rifaccio il pacchetto

allora aspetta perchè sto patchando anche il configure in modo da accettare anche:
--enable-shared-a52 (per usare la libreria a52 già presente sul sistema .... se esiste)
--prefix
--libdir
ed inoltre modifico ancora il Makefile per far si che possa accettare:
DESTDIR
ti avviso quando ho finito.
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 10:35
da michelino
Secondo me dovresti anche segnalare il bug a chi di dovere
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 10:51
da targzeta
michelino ha scritto:Secondo me dovresti anche segnalare il bug a chi di dovere
ma non c'è nessun bug

.
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 12:25
da michelino
Pardo, non avevo inteso quando hai detto che il problema era nei sorgenti
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 12:41
da targzeta
michelino ha scritto:Pardo, non avevo inteso quando hai detto che il problema era nei sorgenti
i sorgenti vanno, compilano e tutto. Solo che credo per scelta non producono la libreria condivisa.
Mi sono accorto che non andava solo quando ho provato a compilare transcode con l'opzione --enable-libmpeg3. L'output del configure mi diceva che mancava la libreria libmpeg3 nonostante l'avessi compilata e installata con lo slackbuild di slacky.
Ho controllato allora cosa andava a scovare il configure di transcode ed ho capito che mancava la .so di libmpeg3. A quel punto ho modificato il makefile di libmpeg3 per produrre il .so. Neanche così però la cosa funzionava perchè transcode usa pkg-config per determinare i parametri da passare al cc in fase di compilazione, la libreria .so dava errore dicendo di non trovare la funzioni pthread... allora ho creato il file .pc per permettere a pkg-config di ritornare l'opzione -lpthread durante la compilazione dei file e quindi è andato tutto bene.
Il passo che ho fatto stanotte è stato di far usare a libmpeg3 non la libreria a52dec che ha nei sorgenti, bensì quella installata sul sistema...se ne esiste una.
Per ora metto online
qui una prima patch che permette di installare tutto in una directory DESTDIR stile 'make install DESTDIR=', oltre a linkare la libreria condivisa liba52 se viene trovata nel sistema.
Tutto ciò mi ha dato spunto per leggermi le info su come creare un configure in maniera automatica per fare tutto quello che ho descritto nel secondo post. Sono circa 500 pagine di manuale e penso che ci metterò un pò. Per ora possiamo usare la patch usando il make e il configure per come ho scritto nelle prime righe. Quando poi avrò imparato meglio a costruire un configure vedrò di migliorare il tutto.
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 12:45
da Loris
Quindi posso procedere con l'ultima proposta ?
Re: libmpeg3 (shared e pkg-config)
Inviato: ven 29 feb 2008, 13:27
da targzeta
Loris ha scritto:Quindi posso procedere con l'ultima proposta ?
Aspé, di default con la mia patch la libreria usa l'a52 condivisa. L'originale invece usa quella sua interna, per non creare problemi è meglio se tutto rimane com'è. Fammi inserire la possibilità di usare l'esterna non come opzione di default.
Ti faccio avere presto notizie,
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: sab 1 mar 2008, 10:26
da targzeta
Ok, sempre al solito indirizzo:
http://www.cli.di.unipi.it/~tomasi/libm ... 7.diff.txt
ora la compilazione con liba52 condivisa è opzionale. Il configure accetta le seguenti standard opzioni:
--prefix=
--bindir=
--libdir=
--includedir=
-h
--help
--enable-shared-liba52 (per usare la libreria condivisa invece di quella sua interna)
inoltre il Makefile accetta l'opzione:
install DESTDIR=/mia_dir
Così si può usare il classico slackbuild. Ecco un pezzo del mio:
Codice: Seleziona tutto
...
zcat "$CWD"/libmpeg3-1.7.diff.gz | patch
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--enable-shared-liba52 || exit 1
# Build and install:
make || exit 1
make install DESTDIR=$PKG || exit 1
...
come vedi ho un architettura a 64bit (uso --libdir) e abilito l'uso della libreria condivisa liba52
Spina
Re: libmpeg3 (shared e pkg-config)
Inviato: sab 1 mar 2008, 11:09
da Loris
Ottimo, questa sera procedo
