mpeg4ip isn't 64bit friendly Reproducible: Always Steps to Reproduce: 1. buy amd64 box 2. install gentoo 3. dance 4. emerge mpeg4ip 5. stop dancing Actual Results: g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -O3 -fomit-frame-pointer -ftracer -pipe -DMPEG4IP -c isma.cpp -MT isma.lo -MD -MP -MF .deps/isma.TPlo -fPIC -DPIC -o .libs/isma.lo isma.cpp: In member function `void MP4File::CreateIsmaIodFromParams(unsigned char, unsigned int, u_int8_t*, unsigned int, unsigned char, unsigned int, u_int8_t*, unsigned int, u_int8_t**, u_int64_t*)': isma.cpp:487: warning: long long unsigned int format, u_int64_t arg (arg 2) isma.cpp: In member function `void MP4File::CreateIsmaODUpdateCommandFromFileForStream(unsigned int, unsigned int, u_int8_t**, u_int64_t*)': isma.cpp:750: warning: long long unsigned int format, long unsigned int arg (arg 2) make[4]: *** [isma.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -O3 -fomit-frame-pointer -ftracer -pipe -DMPEG4IP -c descriptors.cpp -MT descriptors.lo -MD -MP -MF .deps/descriptors.TPlo -o descriptors.o >/dev/null 2>&1 mv -f .libs/descriptors.lo descriptors.lo make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.0/work/mpeg4ip-1.0/lib/mp4v2' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.0/work/mpeg4ip-1.0/lib/mp4v2' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.0/work/mpeg4ip-1.0/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.0/work/mpeg4ip-1.0' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.0 failed. !!! Function src_compile, Line 78, Exitcode 2 !!! make failedk Expected Results: the software should have let me play m4a files, damnit. *shakes fist mightily* Portage 2.0.50-r1 (default-amd64-2004.0, gcc-3.3.2, glibc-2.3.3_pre20040207-r0, 2.6.3-rc2-gentoo) ================================================================= System uname: 2.6.3-rc2-gentoo x86_64 Gentoo Base System version 1.4.3.13 Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O3 -fomit-frame-pointer -ftracer -pipe" CHOST="x86_64-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -fomit-frame-pointer -ftracer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://mirror.iawnet.sandia.gov/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="S3TC X acpi alsa amd amd64 apm arts autofs avi berkdb bidi bonobo canna cdr cjk crypt cscope cups curl dga dnd dv dvd dvdr encode esd ethereal etwin evo expat faad fam fbcon fbdev ffmpeg fluidsynth foomaticdb freetype freewnn fs gdbm geoip ggi gif glut gnome gpm gstreamer gtk gtk2 gtkhtml guile idea imlib imlib2 jabber javascript jikes joystick jpeg kde ladcca libg++ libgda libwww lufsusermount maildir matroska mikmod mldonkeypango mng motif mozilla moznocompose moznoirc moznomail mozp3p mozsvg mozxmlterm mpeg mpeg4 mpi msn multilib music ncurses net nls nvidia objc ocaml offensive oggvorbis openal opengl oss pam pcap pdflib perl pic png pnp ppds psyco python qt quicktime readline ruby samba sdk sdl serial slang slp snmp sox speedo spell ssl svg tcltk tcpd tiff transcode truetype type1 unicode usb v4l videos wmf wxwin wxwindows xchattext xfs xine xinerama xml2 xmms xosd xv xvid yahoo zlib zvbi"
faad2 uses an internal version of mp4v2 as well, however faad2 compiles perfectly. it uses the same isma.cpp even. ayanami tmp # diff ./portage/mpeg4ip-1.0/work/mpeg4ip-1.0/lib/mp4v2/isma.cpp ./portage/faad2-2.0_rc3-r1/work/faad2/common/mp4v2/isma.cpp ayanami tmp # yup... i look at this more after class :/
The version of mp4v2 in faad2 is from an old mpeg4ip... The main programmer of mpeg4ip doesnt have acces to an amd64 box... But I think he's interested in having it ported to amd64... You can contact him at the forum on sourceforge... http://sourceforge.net/forum/forum.php?forum_id=59136. Btw I did mark this ebuild as -amd64... But it would be nice if you could work with the upstream guy to have it the next version work properly...
Created attachment 25564 [details] patch against mpeg4ip 1.0 to bring it to 1.0.7 I gave bill may ssh access to my box, and as a result of his work there is now a version of mpeg4ip that compiles and works perfectly on amd64. Since there is no official release of this version and the updates are likely only available in cvs (which refuses to bootstrap on amd64 gentoo), it would probably be best to archmask this to only install on ~amd64 (if this ends up in portage at all, and I really hope it does). I would also like to note that this patch is pretty large.
This patch is indeed huge... It contains much more than just the amd64 fixes... Since they make releases pretty often, I'll keep it off portage for now... But I encourage all amd64 users to try it...