Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Répondre

Besoin d'aide pour une version précise de GPAC

#1Messageil y a 10 ans

Bonjour,

Je fais appel à la communauté car j'ai un souci bien particulier.

Je cherche à me faire un paquet manjaro (donc un .xz) en version 64bits d'une version précise de GPAC (la version 0.4.5 rev 3462, qu'on peut trouver sur ubuntu precise par exemple).

Pourquoi ai-je besoin de cette version précisément ? Parce que les versions suivantes ont un problème qui empêche mon disque dur de lire les vidéos muxées (avec la version 0.5 ou celle des dépôts manjaro par exemple).

J'ai récupéré un PKGBUILD qui récupère les bonnes sources et permet la création de ce paquet mais cela échoue.

pkgname=gpac-svn
pkgver=3462
pkgrel=1
pkgdesc="MPEG-4 multimedia framework"
arch=('x86_64')
url="http://gpac.sourceforge.net/"
license=('LGPL')
depends=('alsa-lib' 'zlib')
optdepends=('wxgtk: GUI Osmo4' 'openssl' 'ffmpeg' 'freetype2' 'libmad' 'libxml2: SVG parsing'
            'freeglut: OpenGL' 'faad2: AAC' 'xvidcore: MPEG4-ASP' 'libjpeg: JPEG image'
            'libpng: PNG image' 'libvorbis: OGG vorbis' 'libtheora: OGG theora'
            'a52dec: for A52 support' 'jack: for jack support' 'xulrunner: JavaScript')
makedepends=('subversion')
options=(!makeflags)
provides=('gpac')
conflicts=('gpac')
source=()
md5sums=()

_svntrunk="https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac"
_svnmod="gpac"

build() {
  cd "$srcdir"/
  msg "Connecting to $_svnmod.sourceforge.net SVN server...."
  if [ -d $_svnmod/.svn ]; then
    cd $_svnmod && svn up -r $pkgver
  else
    svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
  fi
  msg "SVN checkout done or server timeout"
  msg "Starting make..."

  if [ -e "$srcdir"/$_svnmod-build ]; then
     rm -rf "$srcdir"/$_svnmod-build
  fi

  cp -r "$srcdir"/$_svnmod "$srcdir"/$_svnmod-build
  cd "$srcdir"/$_svnmod-build

  ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr
  make
  make DESTDIR="$pkgdir" install
}

package() {
  cd "$srcdir"/$_svnmod-build

  make DESTDIR="$pkgdir" install
}


Le problème vient, je pense, d'une version trop récente de xulrunner. La solution serait donc de réinstaller une version précédente de celui-ci (xulrunner 1.9.2 devrait faire l'affaire) mais là encore, lorsque je lance la création du paquet xulrunner 1.9.2 en me servant de ceci : .https://aur.archlinux.org/packages/xu/x ... 192.tar.gz

La compilation échoue...

Bref, c'est une impasse pour moi alors je suis venu voir si quelqu'un réussirait à me faire un .xz 64bits de cette version de GPAC.

Merci à la personne qui voudra bien essayer (si quelqu'un se dévoue).
Dernière modification par Khyinnil y a 10 ans, modifié au total 1 fois.

Besoin d'aide pour une version précise de GPAC

#2Messageil y a 10 ans

deux trois choses à faire selon moi:
-vu la quantité impressionnante de patchs, télécharge l'archive (celle que tu as déjà téléchargée), pour lancer la compilation dans un répertoire de ton home:

cd <le répertoire où tu as déballée l'archive>
makepkg

tu obtiendras un paquet à installer avec "pacman -U"
-avant ça, il faut faire une modif dans le pkgbuild; trouver les deux lignes:

unset CFLAGS
unset CXXFLAGS

et ajouter juste en dessous

unset CPPFLAGS

-et si ça marche pas, merci de fournir le log d'erreur qu'on puisse t'aider...

mais et Gpac, il compile ? parce que Xulrunner est en dépendance optionnelle, et n'est donc pas obligatoire.

Besoin d'aide pour une version précise de GPAC

#3Messageil y a 10 ans

Bonjour et merci de vouloir m'aider :)

Alors, concernant GPAC, non, il ne compile pas, sinon je ne m'ennuierais pas avec une compilation d'une vieille version de Xulrunner, tu penses :) Voici le message d'erreur de compilation :

                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/mozilla/FloatingPoint.h:15:1: erreur: unknown type name ‘namespace’
 namespace mozilla {
 ^
/usr/include/xulrunner-23.0.1/mozilla/FloatingPoint.h:15:19: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace mozilla {
                   ^
In file included from /usr/include/xulrunner-23.0.1/jsapi.h:15:0,
                 from /home/nico/gpac/src/gpac-build/include/gpac/internal/smjs_api.h:37,
                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/mozilla/RangedPtr.h:18:1: erreur: unknown type name ‘namespace’
 namespace mozilla {
 ^
/usr/include/xulrunner-23.0.1/mozilla/RangedPtr.h:18:19: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace mozilla {
                   ^
In file included from /usr/include/xulrunner-23.0.1/jsapi.h:17:0,
                 from /home/nico/gpac/src/gpac-build/include/gpac/internal/smjs_api.h:37,
                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/mozilla/ThreadLocal.h:32:1: erreur: unknown type name ‘namespace’
 namespace mozilla {
 ^
/usr/include/xulrunner-23.0.1/mozilla/ThreadLocal.h:32:19: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace mozilla {
                   ^
In file included from /usr/include/xulrunner-23.0.1/js/Utility.h:13:0,
                 from /usr/include/xulrunner-23.0.1/jsalloc.h:10,
                 from /usr/include/xulrunner-23.0.1/jsapi.h:24,
                 from /home/nico/gpac/src/gpac-build/include/gpac/internal/smjs_api.h:37,
                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/mozilla/Scoped.h:56:1: erreur: unknown type name ‘namespace’
 namespace mozilla {
 ^
/usr/include/xulrunner-23.0.1/mozilla/Scoped.h:56:19: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace mozilla {
                   ^
In file included from /usr/include/xulrunner-23.0.1/js/Utility.h:25:0,
                 from /usr/include/xulrunner-23.0.1/jsalloc.h:10,
                 from /usr/include/xulrunner-23.0.1/jsapi.h:24,
                 from /home/nico/gpac/src/gpac-build/include/gpac/internal/smjs_api.h:37,
                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/js/TemplateLib.h:19:1: erreur: unknown type name ‘namespace’
 namespace js {
 ^
/usr/include/xulrunner-23.0.1/js/TemplateLib.h:19:14: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace js {
              ^
In file included from /usr/include/xulrunner-23.0.1/jsalloc.h:10:0,
                 from /usr/include/xulrunner-23.0.1/jsapi.h:24,
                 from /home/nico/gpac/src/gpac-build/include/gpac/internal/smjs_api.h:37,
                 from scenegraph/vrml_smjs.c:34:
/usr/include/xulrunner-23.0.1/js/Utility.h:28:1: erreur: unknown type name ‘namespace’
 namespace JS {}
 ^
/usr/include/xulrunner-23.0.1/js/Utility.h:28:14: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace JS {}
              ^
/usr/include/xulrunner-23.0.1/js/Utility.h:31:1: erreur: unknown type name ‘namespace’
 namespace mozilla {}
 ^
/usr/include/xulrunner-23.0.1/js/Utility.h:31:19: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace mozilla {}
                   ^
/usr/include/xulrunner-23.0.1/js/Utility.h:34:1: erreur: unknown type name ‘namespace’
 namespace js {}
 ^
/usr/include/xulrunner-23.0.1/js/Utility.h:34:14: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace js {}
              ^
/usr/include/xulrunner-23.0.1/js/Utility.h:391:15: erreur fatale: new : Aucun fichier ou dossier de ce type
 #include <new>
               ^
compilation terminée.
make[1]: *** [scenegraph/vrml_smjs.o] Erreur 1
make[1] : on quitte le répertoire « /home/nico/gpac/src/gpac-build/src »
make: *** [all] Erreur 2
==> ERREUR : Une erreur s’est produite dans build().
    Abandon...


En me documentant, il s'avère bien que ça vienne de Xulrunner, qui est trop récent, c'est pour ça que j'ai cherché à recompiler la bonne vieille version 1.9.2.

J'ai lancé la compilation de Xulrunner 1.9.2 avec ta modif du PKGBUILD. Je te tiens au courant du résultat.

EDIT : bon alors avec ta modif Xulrunner compile ! Me reste à voir pour GPAC maintenant.

EDIT2 : bon, on a avancé du coup. J'ai été un peu plus loin dans la compilation de GPAC mais nouvelle erreur, cette fois concernant FFMPEG :

gcc -O3  -fno-strict-aliasing -Wno-pointer-sign -fPIC -DPIC -DGPAC_HAVE_CONFIG_H -I"/home/nico/gpac/src/gpac-build" -I"/home/nico/gpac/src/gpac-build/include"  -c -o ffmpeg_decode.o ffmpeg_decode.c 
In file included from ffmpeg_decode.c:25:0:
ffmpeg_in.h:117:17: erreur: ‘AVCODEC_MAX_AUDIO_FRAME_SIZE’ undeclared here (not in a function)
  char audio_buf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
                 ^
ffmpeg_in.h:184:2: erreur: unknown type name ‘ByteIOContext’
  ByteIOContext   io;
  ^
ffmpeg_decode.c: In function ‘FFDEC_AttachStream’:
ffmpeg_decode.c:172:9: attention : assignment makes pointer from integer without a cast [enabled by default]
    *ctx = avcodec_alloc_context();
         ^
ffmpeg_decode.c: In function ‘FFDEC_ProcessData’:
ffmpeg_decode.c:610:3: attention : ‘avcodec_decode_audio3’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3682) [-Wdeprecated-declarations]
   len = avcodec_decode_audio3(ctx, (short *)ffd->audio_buf, &gotpic, &pkt);
   ^
ffmpeg_decode.c:837:4: attention : ‘avpicture_deinterlace’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4345) [-Wdeprecated-declarations]
    avpicture_deinterlace((AVPicture *) frame, (AVPicture *) frame, ctx->pix_fmt, ctx->width, ctx->height);
    ^
make[2]: *** [ffmpeg_decode.o] Erreur 1
make[2] : on quitte le répertoire « /home/nico/gpac/src/gpac-build/modules/ffmpeg_in »
make[1]: *** [plugs] Erreur 2
make[1] : on quitte le répertoire « /home/nico/gpac/src/gpac-build/modules »
make: *** [all] Erreur 2
==> ERREUR : Une erreur s’est produite dans build().
    Abandon...


Version de FFMPEG trop récente ? Je sens que je vais devoir me recompiler une vieille version ^^

Besoin d'aide pour une version précise de GPAC

#4Messageil y a 10 ans

oui, ça a l'air d'un problème de version...
le problème c'est que je ne te conseille pas trop d'installer une vieille version de ffmpeg, ça va ruiner les dépendances de ton système...

il n'y a pas un logiciel équivalent à Gpac que tu pourrais utiliser ? qu'est-ce qu'il fait de particulier que tu ne trouves pas ailleurs ?

Besoin d'aide pour une version précise de GPAC

#5Messageil y a 10 ans

Il permet d'ajouter des chapitres aux fichiers MP4 (mp4box).

Je n'ai besoin que d'une vieille version de ffmpeg pour la compilation mais je ne la garderai pas ensuite.

Besoin d'aide pour une version précise de GPAC

#6Messageil y a 10 ans

Bon bon bon...

J'ai réussi à compiler une version de ffmpeg qui va bien donc ça c'est fait.

GPAC semble compiler correctement mais arrivé à la procédure de création du paquet...

make[1] : on quitte le répertoire « /home/nico/gpac/src/gpac-build/modules »
install -d "/home/nico/gpac/pkg/gpac-svn/usr"
install: impossible de créer le répertoire « /home/nico/gpac/pkg »: Permission non accordée
make: *** [install] Erreur 1
==> ERREUR : Une erreur s’est produite dans build().
    Abandon...


Je suis parti d'un dossier clean, c'est makepkg qui a créé le dossier pkg tout seul. Avec d'autre compilations de paquet, je n'ai pas ce problème. Est-ce que le PKGBUILD que j'ai mis dans le premier message serait mal formé ?

EDIT : trouvé, il suffit de retirer la ligne " make DESTDIR="$pkgdir" install" qui est en doublon, on l'enlève de la fonction build() et... ça compile et crée le paquet \o/

Besoin d'aide pour une version précise de GPAC

#7Messageil y a 10 ans

:bien:bien

Image
Répondre