# [ebuild]añadir un parche *.diff (Medio solv)

## Sertinell

Hola.Esta tarde he ido a emerger DVDstyler para hacer mis propios DVD's a partir de los mpeg-2 creados por mi  :Smile:  pero al emerger una de sus dependencias, mpgtx me ha soltado este error

```
# emerge dvdstyler

Calculating dependencies ...done!

>>> emerge (1 of 2) media-video/mpgtx-1.3 to /

>>> md5 src_uri ;-) mpgtx-1.3.tgz

>>> Unpacking source...

>>> Unpacking mpgtx-1.3.tgz to /var/tmp/portage/mpgtx-1.3/work

>>> Source unpacked.

./configure: line 139: test: too many arguments

Checking Large File Support ... PASSED

Generating Makefile ...

Here are the options you choosed :

  Target                    : RELEASE

  Large File support        : yes

  Link statically           : no

  Support builtin parachute : yes

  Install prefix            : /usr

Now Type "make" to build mpgtx (and have a nice day by the way)

----------------------------------------------------------------------

I'm building mpgtx with following options :

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpegOut.cxx

    Target                    : RELEASE

    Large File support        : yes

    Link statically           : no

    Support builtin parachute : yes

    Install prefix            : /usr

Type "./configure --help" to see available options.

----------------------------------------------------------------------

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpeg.cxx

mpegOut.cxx: In member function `void mpegOutWithVideo::memWriteTS(long int, double, bool, bool)':

mpegOut.cxx:1115: aviso: converting a `int' desde `double'

mpegOut.cxx:1116: aviso: converting a `int' desde `double'

mpegOut.cxx:1117: aviso: converting a `int' desde `double'

mpegOut.cxx:1118: aviso: converting a `int' desde `double'

mpegOut.cxx:1065: aviso: variable 'ts9' sin uso

mpegOut.cxx:1059: aviso: puede ser que se utilice 'lowInt' sin inicializar en esta función

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c chunkTab.cxx

chunkTab.cxx: In member function `bool chunkTab::ParseRange(char*)':

Error interno del compilador: Error al reportar rutinas reentradas.

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://bugs.gentoo.org/> for instructions.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/cc1tTUiI.out file, please attach this to your bugreport.

make: *** [chunkTab.o] Error 1

make: *** Se espera a que terminen otras tareas....

mpeg.cxx:2794:2: aviso: no newline at end of file

mpeg.cxx: In member function `void mpeg::ParseFramesInGOP(off_t)':

Error interno del compilador: Error al reportar rutinas reentradas.

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://bugs.gentoo.org/> for instructions.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccGDPjyt.out file, please attach this to your bugreport.

make: *** [mpeg.o] Error 1

!!! ERROR: media-video/mpgtx-1.3 failed.

!!! Function src_compile, Line 18, Exitcode 2

!!! emake failed

!!! If you need support, post the topmost build error, NOT this status message.

```

Bueno pues googleando he encontrado esto ahi hay un parche qe corrije el bug, ya qe mpgtx-1.3 no compila con gcc3.4 , la mia  :Wink: , el caso es qe es un *.diff, y no tengo ni idea de como aplicar el parche o de decirle al ebuild qe lo apliqe, otra duda qe tengo es si debo reportar el bug a https://bugs.gentoo.org y en caso afirmativo, como debo reportarlo  :Smile: 

Saludos y gracias por vuestra ayuda  :Wink: 

Edito: He editado el titulo del post hacia algo,a mi entender, mas correctoLast edited by Sertinell on Wed Sep 22, 2004 10:29 am; edited 1 time in total

----------

## lunatc

Bien, no se si te va a funcionar lo que te voy a decir pero ahí va (yo tengo una gcc-3.3.2 y compila bien)

Generalmente cuando tengo que aplicar un apaño/parche de estos hago lo siguiente (respetando el proceso tipo emerge):

1.- Desempaqueto

2.- Parcheo

3.- Merge

O sea que aplicado a tu caso haz lo siguiente

Primero elimina rastros de anteriores intentos de compilación:

```

pushd /var/tmp/portage/

rm -rf mpgtx-1.3/

popd

```

Luego desempaqueta y entra en el directorio "base" "de compilación" (siempre suele ser el inmediato a "work")

```

ebuild /usr/portage/media-video/mpgtx/mpgtx-1.3.ebuild unpack

pushd /var/tmp/portage/mpgtx-1.3/work/mpgtx-1.3/

```

Ahora edita lo que has descargado (mpgtx-gcc34.diff) con tu editor favorito y déjalo tal que así:

```

--- configure   2002-08-31 01:03:12 +0900

+++ configure   2004-08-20 17:09:59 +0900

@@ -133,10 +133,9 @@

 # if so change optimization flags to -O2

 # gcc 3 does not seem to like -O3 with mpgtx very much

-# next line is from Chris Danis

-gcc_major=`gcc --version | cut -b 1`

+gcc_major=`gcc --version 2>&1 | head -n1 | sed 's/^[^0-9]*//' | cut -c1`

-if test $gcc_major = "3"; then

+if test "$gcc_major" = "3"; then

        optimization_cflags="-O2";

 fi

--- mpeg.cxx.old        2002-08-31 01:03:12 +0900

+++ mpeg.cxx    2004-08-20 17:48:25 +0900

@@ -1535,12 +1535,6 @@

 // find next 0x 00 00 01 xx sequence, returns offset or -1 on err

-#ifndef _WIN32

-#ifndef _MACOSX

-inline

-#endif

-#endif

-

 off_t mpeg::FindNextMarker(off_t from){

        BTRACK;

        off_t offset;

@@ -1566,12 +1560,6 @@

 // find next 0x 00 00 01 xx sequence, returns offset or -1 on err and

 // change mark to xx

-#ifndef _WIN32

-#ifndef _MACOSX

-inline

-#endif

-#endif

-

 off_t mpeg::FindNextMarker(off_t from, marker* mark){

        BTRACK;

        off_t offset = FindNextMarker(from);

@@ -1594,13 +1582,6 @@

 // find next 0X00 00 01 mark

-#ifndef _WIN32

-#ifndef _MACOSX

-inline

-#endif

-#endif

-

-

 off_t mpeg::FindNextMarker(off_t from, marker mark){

        BTRACK;

        off_t offset = from;

@@ -1629,12 +1610,6 @@

 // same as above but optimized for backward search

-#ifndef _WIN32

-#ifndef _MACOSX

-inline

-#endif

-#endif

-

 off_t mpeg::bdFindNextMarker(off_t from, marker mark) {

        BTRACK;

        off_t offset;

@@ -1654,12 +1629,6 @@

        return -1;

 }

-#ifndef _WIN32

-#ifndef _MACOSX

-inline

-#endif

-#endif

-

 off_t mpeg::bdFindNextMarker(off_t from, marker* mark) {

        BTRACK;

        off_t offset;

@@ -2619,7 +2588,7 @@

        PMT_PIDs(0),

        n_PMT_PIDs(0),

 read_pmts(0)

-{};

+{}

 transport::~transport() {

        BTRACK;

@@ -2791,4 +2760,4 @@

 }

-}

\ No newline at end of file

+}

```

El resultado lo guardas en el directorio actual (el de compilacion). En este caso se sigue llamando "mpgtx-gcc34.diff".

Fíjate que he "limpiado un poco" el patch eliminando la cabecera hasta donde dice "######## begin GCC 3.4 patch" (incluída esta línea) que es donde comienza el parch real, y eliminado lo que sigue a "######## end GCC 3.4 patch" que es donde termina.

También he modificado al principio donde dice

```

--- configure.old

```

Por

```

--- configure

```

(No se si es relevante pero me dio ese "pálpito")

Luego parcheas y vuelves a donde estabas: 

```

patch -p0 < mpgtx-gcc34.diff

popd

```

y luego terminas el emerge:

```

ebuild /usr/portage/media-video/mpgtx/mpgtx-1.3.ebuild merge

```

En teoría debería funcionar

Salu2

PD: Si quieres evitarte este rompecabezas por si re-emerges el paquete haz:

```

quickpkg mpgtx-1.3

```

para generar un pre-compilado.

Si mas tarde necesitas reemergerlo usa el paquete precompilado:

```

emerge -K =mpgtx-1.3

```

----------

## Sertinell

Ummm, pos no funciona  :Sad:  Pego TODO lo qe he exo, por qe es la primera vez qe me meto en estos berenjenales y a saber si la he cagado   :Embarassed: 

```
localhost ~ # ebuild /usr/portage/media-video/mpgtx/mpgtx-1.3.ebuild unpack

>>> md5 src_uri ;-) mpgtx-1.3.tgz

>>> Unpacking source...

>>> Unpacking mpgtx-1.3.tgz to /var/tmp/portage/mpgtx-1.3/work

>>> Source unpacked.

localhost ~ # pushd /var/tmp/portage/mpgtx-1.3/work/mpgtx-1.3/

/var/tmp/portage/mpgtx-1.3/work/mpgtx-1.3 ~

localhost mpgtx-1.3 # nano -w /mnt/almacen/soft/*diff

localhost mpgtx-1.3 # patch -p0 < /mnt/almacen/soft/mpgtx-gcc34.diff

patching file configure

Hunk #1 FAILED at 133.

1 out of 1 hunk FAILED -- saving rejects to file configure.rej

patching file mpeg.cxx

Hunk #1 succeeded at 1535 with fuzz 2.

Hunk #2 succeeded at 1560 with fuzz 2.

Hunk #3 succeeded at 1582 with fuzz 2.

Hunk #4 succeeded at 1610 with fuzz 2.

Hunk #5 FAILED at 1629.

Hunk #6 succeeded at 2588 with fuzz 2.

1 out of 7 hunks FAILED -- saving rejects to file mpeg.cxx.rej

localhost mpgtx-1.3 # popd

~

localhost ~ # ebuild /usr/portage/media-video/mpgtx/mpgtx-1.3.ebuild merge

Disabling noauto in features... merge disables it. (qmerge doesn't)

>>> md5 src_uri ;-) mpgtx-1.3.tgz

>>> Checking mpgtx-1.3.tgz's mtime...

>>> WORKDIR is up-to-date, keeping...

./configure: line 139: test: too many arguments

Checking Large File Support ... PASSED

Generating Makefile ...

Here are the options you choosed :

  Target                    : RELEASE

  Large File support        : yes

  Link statically           : no

  Support builtin parachute : yes

  Install prefix            : /usr

Now Type "make" to build mpgtx (and have a nice day by the way)

----------------------------------------------------------------------

I'm building mpgtx with following options :

    Target                    : RELEASE

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpegOut.cxx

    Large File support        : yes

    Link statically           : no

    Support builtin parachute : yes

    Install prefix            : /usr

Type "./configure --help" to see available options.

----------------------------------------------------------------------

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpeg.cxx

mpegOut.cxx: In member function `void mpegOutWithVideo::memWriteTS(long int, double, bool, bool)':

mpegOut.cxx:1115: aviso: converting a `int' desde `double'

mpegOut.cxx:1116: aviso: converting a `int' desde `double'

mpegOut.cxx:1117: aviso: converting a `int' desde `double'

mpegOut.cxx:1118: aviso: converting a `int' desde `double'

mpegOut.cxx:1065: aviso: variable 'ts9' sin uso

mpegOut.cxx:1059: aviso: puede ser que se utilice 'lowInt' sin inicializar en esta función

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c chunkTab.cxx

chunkTab.cxx: In member function `bool chunkTab::ParseRange(char*)':

Error interno del compilador: Error al reportar rutinas reentradas.

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://bugs.gentoo.org/> for instructions.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccH81EJj.out file, please attach this to your bugreport.

make: *** [chunkTab.o] Error 1

make: *** Se espera a que terminen otras tareas....

mpeg.cxx: In member function `void mpeg::ParseFramesInGOP(off_t)':

Error interno del compilador: Error al reportar rutinas reentradas.

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://bugs.gentoo.org/> for instructions.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccaERBN4.out file, please attach this to your bugreport.

make: *** [mpeg.o] Error 1

!!! ERROR: media-video/mpgtx-1.3 failed.

!!! Function src_compile, Line 18, Exitcode 2

!!! emake failed

!!! If you need support, post the topmost build error, NOT this status message.

```

Veo qe da errores al aplicar el parche, pero yo no soy capaz de interpretarlos  :Embarassed: 

No se si me he equivocado en algo o es alguna razon por lo qe no funciona, siguiendo este post tampoco me va.

Gracias por tu ayuda y tu interes

----------

## trompa

Puedes crear un nuevo ebuild con el parche añadido.

Para ello tienes que usar la función epatch, que conste que nunca lo hice, solo recuerdo que me lo habian comentado.

Mira http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2

Y tambien algún ebuild de algo que sabes que lleva parches pa guiarte como el de un gcc o un baselayout.

Luego envía el ebuild que hayas creado a bugs.gentoo.org así como el parche, si crees que está bien hecho  :Smile: .

Para probar tu ebuild, añádelo a /usr/local/portage

le haces un ebuild ruta_a_tu_ebuild digest y luego lo emerges.

----------

## Sertinell

 *trompa wrote:*   

> Puedes crear un nuevo ebuild con el parche añadido.
> 
> Para ello tienes que usar la función epatch, que conste que nunca lo hice, solo recuerdo que me lo habian comentado.
> 
> Mira http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2
> ...

 

Umm tengo qe probar eso. Ahora estoy emergiendo deltup, no voy muy sibrado de ncho de banda  :Smile: . Respesto a enviar el ebuild, bueno mi ebuild solo serviria para gcc3.4 ...

Mñn me pondre qe ya no son horas  :Wink: 

Saludos y gracias

----------

## trompa

https://forums.gentoo.org/viewtopic.php?t=141371

Recordaba que me sonaba, solo había que buscar  :Smile: .

----------

## Sertinell

Pues al hacer esto del epatch  me suelta lo siguiente  :Sad:  *Quote:*   

> # emerge --oneshot mpgtx
> 
> Calculating dependencies ...done!
> 
> >>> emerge (1 of 1) media-video/mpgtx-1.3 to /
> ...

 

El ebuild alterado:

```
# Copyright 1999-2004 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/media-video/mpgtx/mpgtx-1.3.ebuild,v 1.5 2004/08/20 00:03:22 pvdabeel Exp $

DESCRIPTION="mpgtx a command line MPEG audio/video/system file toolbox"

SRC_URI="mirror://sourceforge/mpgtx/${P}.tgz"

HOMEPAGE="http://mpgtx.sourceforge.net/"

KEYWORDS="~x86 ~ppc"

IUSE=""

SLOT="0"

LICENSE="GPL-2"

DEPEND="sys-libs/glibc"

src_compile() {

         epatch {FILESDIR}/mpgtx-gcc34.diff

        ./configure --parachute --prefix=/usr

        emake || die "emake failed"

}

src_install() {

        exeinto /usr/bin

        doexe mpgtx

        dosym /usr/bin/mpgtx /usr/bin/mpgjoin

        dosym /usr/bin/mpgtx /usr/bin/mpgsplit

        dosym /usr/bin/mpgtx /usr/bin/mpgcat

        dosym /usr/bin/mpgtx /usr/bin/mpginfo

        dosym /usr/bin/mpgtx /usr/bin/mpgdemux

        dosym /usr/bin/mpgtx /usr/bin/tagmp3

        doman man/mpgtx.1 man/tagmp3.1

        dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgcat.1

        dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgjoin.1

        dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpginfo.1

        dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgsplit.1

        dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgdemux.1

        dodoc AUTHORS COPYING ChangeLog README TODO

}

```

----------

## Sertinell

Otra cosa qe tambien creo haber leido es qe se pueden tener varias versiones de Gcc en gentoo a la vez, lo qe no se es como, voy a ir buscando, por qe, creo, es la solucion mas sencilla.

----------

## Sertinell

Pues con gcc3.3.4 tampoco tira  :Sad: 

He bajado de gcc a la 3.3.4 y no es capaz de compilar, lo he hecho con gcc-config

```
# gcc -v

Leyendo especificaciones de /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/specs

Configurado con: /var/tmp/portage/gcc-3.3.4-r1/work/gcc-3.3.4/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-exceptions--enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=generic

Modelo de hilos: posix

gcc versión 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
```

El error creo qe es el mismo  :Sad: 

```
>>> Source unpacked.

./configure: line 139: test: too many arguments

Checking Large File Support ... PASSED

Generating Makefile ...

Here are the options you choosed :

  Target                    : RELEASE

  Large File support        : yes

  Link statically           : no

  Support builtin parachute : yes

  Install prefix            : /usr

Now Type "make" to build mpgtx (and have a nice day by the way)

----------------------------------------------------------------------

I'm building mpgtx with following options :

    Target                    : RELEASE

    Large File support        : yes

    Link statically           : no

    Support builtin parachute : yes

    Install prefix            : /usr

Type "./configure --help" to see available options.

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpegOut.cxx

----------------------------------------------------------------------

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpeg.cxx

mpeg.cxx:2794:2: aviso: no hay caractér de fin de línea al final del fichero

mpeg.cxx: En member function `void mpeg::ParseFramesInGOP(long long int)':

Error interno del compilador: Error al reportar rutinas reentradas.

Por favor envíe un reporte completo de `bugs',

con el código preprocesado si es apropiado.

Vea <URL:http://bugs.gentoo.org/> para más instrucciones.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccQcXPTJ.out file, please attach this to your bugreport.

make: *** [mpeg.o] Error 1

make: *** Se espera a que terminen otras tareas....

mpegOut.cxx: En member function `void mpegOutWithVideo::memWriteTS(long int,

   double, bool, bool)':

mpegOut.cxx:1115: aviso: converting to `int' from `double'

mpegOut.cxx:1116: aviso: converting to `int' from `double'

mpegOut.cxx:1117: aviso: converting to `int' from `double'

mpegOut.cxx:1118: aviso: converting to `int' from `double'

mpegOut.cxx:1065: aviso: unused variable `double ts9'

mpegOut.cxx:1059: aviso: `long int lowInt' might be used uninitialized in this

   function

!!! ERROR: media-video/mpgtx-1.3 failed.

!!! Function src_compile, Line 18, Exitcode 2

!!! emake failed

!!! If you need support, post the topmost build error, NOT this status message.

```

Vopy a emerger gcc-3.3.2 a ver si ocn esa ... 

Edito, qe raro, la 3.3.2 me sale masked by keywords ... ummm, cosa ams rar, a ver con la 3.3.3 ...

Gracias

----------

## lunatc

 *Sertinell wrote:*   

> 
> 
> Vopy a emerger gcc-3.3.2 a ver si ocn esa ... 
> 
> Edito, qe raro, la 3.3.2 me sale masked by keywords ... ummm, cosa ams rar, a ver con la 3.3.3 ...
> ...

 

A mi si que me compila con la 3.3.2 ( y sin  parche ni nada )

pero tienes que poner 

```

ACCEPT_KEYWORDS="~x86" emerge =mpgtx-1.3

```

Salu2

----------

## Sertinell

 *lunatc wrote:*   

>  *Sertinell wrote:*   
> 
> Vopy a emerger gcc-3.3.2 a ver si ocn esa ... 
> 
> Edito, qe raro, la 3.3.2 me sale masked by keywords ... ummm, cosa ams rar, a ver con la 3.3.3 ...
> ...

 

Pues con la 3.3.2, a mi no me compila, me da el mismo error  :Confused: , mira esto 

```
# emerge info

Portage 2.0.51_rc1 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.4.20040808-r0, 2.6.7-gentoo-r11 i686)

=================================================================

System uname: 2.6.7-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 1400MHz

Gentoo Base System version 1.5.3

ccache version 2.3 [enabled]

Autoconf: sys-devel/autoconf-2.59-r4

Automake: sys-devel/automake-1.8.5-r1

Binutils: sys-devel/binutils-2.15.90.0.1.1-r3

Headers:  sys-kernel/linux-headers-2.4.22

Libtools: sys-devel/libtool-1.5.2-r5

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

COMPILER=""

CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs ccache sandbox"

GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.mirror.sdv.fr http://mirror.pudas.net/gentoo"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/ebuilds"

SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"

USE="X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups dvd dvdr dvdread encode esd fbcon fbdev foomaticdb gdbm gif gphoto2 gpm gtk gtk2 imlib java joystick jpeg kde libg++ libwww mad matroska mikmod mmx mmx2 motif mpeg ncurses networknls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang sse sse2 ssl svga tcltk tcpd truetype x86 xml2 xmms xprint xv zlib linguas_es"

```

```
# emerge --oneshot =mpgtx-1.3

Calculating dependencies ...done!

>>> emerge (1 of 1) media-video/mpgtx-1.3 to /

>>> md5 src_uri ;-) mpgtx-1.3.tgz

>>> Unpacking source...

>>> Unpacking mpgtx-1.3.tgz to /var/tmp/portage/mpgtx-1.3/work

>>> Source unpacked.

./configure: line 139: test: too many arguments

Checking Large File Support ... PASSED

Generating Makefile ...

Here are the options you choosed :

  Target                    : RELEASE

  Large File support        : yes

  Link statically           : no

  Support builtin parachute : yes

  Install prefix            : /usr

Now Type "make" to build mpgtx (and have a nice day by the way)

----------------------------------------------------------------------

I'm building mpgtx with following options :

    Target                    : RELEASE

    Large File support        : yes

    Link statically           : no

    Support builtin parachute : yes

    Install prefix            : /usr

Type "./configure --help" to see available options.

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpegOut.cxx

----------------------------------------------------------------------

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c mpeg.cxx

mpegOut.cxx: En member function `void mpegOutWithVideo::memWriteTS(long int,

   double, bool, bool)':

mpegOut.cxx:1115: aviso: assignment to `int' from `double'

mpegOut.cxx:1115: aviso: argument to `int' from `double'

mpegOut.cxx:1116: aviso: assignment to `int' from `double'

mpegOut.cxx:1116: aviso: argument to `int' from `double'

mpegOut.cxx:1117: aviso: assignment to `int' from `double'

mpegOut.cxx:1117: aviso: argument to `int' from `double'

mpegOut.cxx:1118: aviso: assignment to `int' from `double'

mpegOut.cxx:1118: aviso: argument to `int' from `double'

mpegOut.cxx:1065: aviso: unused variable `double ts9'

mpegOut.cxx:1059: aviso: `long int lowInt' might be used uninitialized in this

   function

g++ -pedantic -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -ansi -c chunkTab.cxx

chunkTab.cxx: En member function `bool chunkTab::ParseRange(char*)':

Error interno del compilador: Error al reportar rutinas reentradas.

Por favor envíe un reporte completo de `bugs',

con el código preprocesado si es apropiado.

Vea <URL:http://bugs.gentoo.org/> para más instrucciones.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccD4v8uz.out file, please attach this to your bugreport

make: *** [chunkTab.o] Error 1

make: *** Se espera a que terminen otras tareas....

mpeg.cxx:2794:2: aviso: no hay caractér de fin de línea al final del fichero

mpeg.cxx: En member function `void mpeg::ParseFramesInGOP(long long int)':

Error interno del compilador: Error al reportar rutinas reentradas.

Por favor envíe un reporte completo de `bugs',

con el código preprocesado si es apropiado.

Vea <URL:http://bugs.gentoo.org/> para más instrucciones.

Preprocessed source stored into /var/tmp/portage/mpgtx-1.3/temp/ccy8FIOw.out file, please attach this to your bugreport

make: *** [mpeg.o] Error 1

!!! ERROR: media-video/mpgtx-1.3 failed.

!!! Function src_compile, Line 18, Exitcode 2

!!! emake failed

!!! If you need support, post the topmost build error, NOT this status message.
```

No entiendo por qe a ti i te compila con la gcc-3.3.2  :Sad: 

P.D. Yo uso ~x86

----------

## lunatc

Fijándome ahora...

 *Quote:*   

> 
> 
> Error interno del compilador: ...
> 
> 

 

Eso me suena rrraro, rraaaro, rrraaaro.

IMHO, no debería poner eso

Buscando por ahí me encontré con esto:

 *Quote:*   

> 
> 
> If the problem is not repeatable, you may be experiencing memory
> 
> corruption
> ...

 

No es por ser pájaro de mal agüero, pero creo recordar que me encontré con esta situación hace tiempo (una gentoo 1.2) al compilar xfree y tenía un módulo de memoria cascado.

Prueba con un live-cd con la opcion memtest o memtest86 a ver si chequeando la memoria canta algo raro

Por descartar cosas, no mas

Salu2

----------

## Sertinell

Caxis en la mar :'( !!

Pues debe ser el unico paqete con el qe se me corrompe la memoria  :Sad: . Mñn pasare el memtest, pero si es cierto qe ultimamente he tenido problemas al iniciar el PC ,pitidos y demas, pero al la siguiente vez qe iniciaba se iban... Espero qe la culpable de todo no sea la memoria, no esta el bolsillo pa muxo sacrificio ( la SDRAM esta MUY cara pa la mierda qe es )

De todas formas, el error es perfectamente repetible, por lo menos en mi sistema, las corrupciones de memoria siempre he tenido entendido qe producen errores aleatorios en el sistema, y el resto de mi gentoo va perfecto  :Smile: 

Saludos

----------

## Sertinell

Pues no no era la memoria, no se si alegrarme o enfadarme mas aun por qe mpgtx no compile   :Evil or Very Mad: 

Bueno como ultimo recurso, me qeda buscar binarios de mpgtx  :Sad: , me hace falta DVDstyler. Asi qe si alguien lo tiene ya compilado para P4, podria pasarmelos ?  :Smile: 

Ya tengo los binarios para x386  :Smile: , he hecho un inject y ya tira como debe, ahora a facer mis deuvedeses  :Very Happy: 

Gracias

----------

