'g-octave -v video' fails with: ... mkoctfile -v -c -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVCODEC_AVCODEC_H AVHandler.cc -o AVHandler.o x86_64-pc-linux-gnu-g++ -c -fPIC -I/usr/include/octave-3.2.4 -I/usr/include/octave-3.2.4/octave -I/usr/include/freetype2 -march=nocona -O2 -pipe -fomit-frame-pointer -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVCODEC_AVCODEC_H AVHandler.cc -o AVHandler.o AVHandler.cc: In member function 'int AVHandler::setup_write()': AVHandler.cc:109: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:1069) AVHandler.cc:109: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:1069) AVHandler.cc: In member function 'int AVHandler::write_frame()': AVHandler.cc:240: warning: 'SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, const double*)' is deprecated (declared at /usr/include/libswscale/swscale.h:191) AVHandler.cc:242: warning: 'SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, const double*)' is deprecated (declared at /usr/include/libswscale/swscale.h:191) AVHandler.cc: In member function 'int AVHandler::read_frame(unsigned int)': AVHandler.cc:334: warning: 'int avcodec_decode_video(AVCodecContext*, AVFrame*, int*, const uint8_t*, int)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3562) AVHandler.cc:334: warning: 'int avcodec_decode_video(AVCodecContext*, AVFrame*, int*, const uint8_t*, int)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3562) AVHandler.cc:347: warning: 'SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, const double*)' is deprecated (declared at /usr/include/libswscale/swscale.h:191) AVHandler.cc:349: warning: 'SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, const double*)' is deprecated (declared at /usr/include/libswscale/swscale.h:191) mkoctfile -v -c -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVCODEC_AVCODEC_H oct-avifile.cc -o oct-avifile.o x86_64-pc-linux-gnu-g++ -c -fPIC -I/usr/include/octave-3.2.4 -I/usr/include/octave-3.2.4/octave -I/usr/include/freetype2 -march=nocona -O2 -pipe -fomit-frame-pointer -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVCODEC_AVCODEC_H oct-avifile.cc -o oct-avifile.o In file included from /usr/include/libavutil/avutil.h:88, from /usr/include/libavcodec/avcodec.h:30, from /usr/include/libavformat/avformat.h:76, from AVHandler.h:37, from oct-avifile.h:28, from oct-avifile.cc:26: /usr/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)': /usr/include/libavutil/common.h:168: error: 'UINT64_C' was not declared in this scope make[1]: *** [oct-avifile.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/g-octave/video-1.0.2/work/video-1.0.2/src' make: *** [build] Error 2 emake failed * ERROR: g-octave/video-1.0.2 failed: Reproducible: Always root@condor:/root(15)# emerge --info =g-octave/video-1.0.2 Portage 2.1.9.24 (default/linux/amd64/10.0/desktop, gcc-4.4.4, glibc-2.12.1-r3, 2.6.36-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.36-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-2.0.1 Timestamp of tree: Sat, 06 Nov 2010 21:00:02 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r1 dev-lang/python: 2.6.6-r1, 3.1.2-r4 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.6.3 sys-apps/sandbox: 2.3-r1 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.4_p6-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.4-r2, 4.5.1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.82 virtual/os-headers: 2.6.35 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth AdobeFlash-10.1 cadsoft" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LC_ALL="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de fr" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages/" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/java-overlay /var/lib/layman/lordvan /var/lib/layman/science /var/lib/layman/x11 /var/lib/layman/sunrise /var/lib/layman/arcon /usr/local/portage /var/lib/cpan" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="64bit R X Xaw3d a52 aac abiword acl acpi admin afs alsa amd64 ao apache2 applet archive arpack asf aspell assistant audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds elf emacs emboss emf empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fpx fts3 fuse galago garmin gd gdal gdbm gedit geoip geolocation geos gif gimp ginac git glade glib gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea kqemu kvm ladspa lame lapack latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo mad mail maildir mailwrapper mapnik math matroska mikmod mkl mmx mmxext mng modules mono moonlight motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime readline reiserfs reports rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sms sndfile snmp soup sox speex spell sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 video virtualbox vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="tda10045 tda10046lifeview" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" PHP_TARGETS="php5-2" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS root@condor:/root(16)# emerge -pqv =g-octave/video-1.0.2 emerge: there are no ebuilds to satisfy "=g-octave/video-1.0.2".
Looks like this is a common problem encountered when using recent versions of libavutil with C++ apps http://www.mail-archive.com/packman@links2linux.de/msg03982.html This should be fixable from the calling code by adding a #define at the right place (before including headers) http://linux.die.net/man/3/uint64_c "C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before <stdint.h> is included" Or, it could be fixed by patching ffmpeg headers instead of each app independently; I'll assign this to ffmpeg maintainers first to see if they are up for that approach.
back to bug-wranglers: wrong assignee, wrong summary (missing category)
for the maintainer: inherit flag-o-matic [ .. ] append-cppflags -D__STDC_CONSTANT_MACROS or if CPPFLAGS is ignored, just use append-flags or fix g-octave's headers: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2010-May/088074.html
Ok sounds like ffmpeg team doesn't want to do a patch, which goes along with the ffmpeg upstream policy of making C++ apps deal with it themselves... Getting the patch applied to this app seems a bit tricky, as there is only an auto-generated ebuild in this case, not maintained by developers. Ideal would be to get it in the upstream octave-forge package, worst case you (and other users) can always hack the generated ebuild in your overlay. Assigning to g-octave maintainers, who might be able to help get the fix upstream...
Hello Samuli, after the removal of octave-forge from the science overlay the packages belonging to octave-forge should now be installed with app-portage/g-octave and they are then installed as g-octave/package. The corresponding ebuuld are generated under /var/lib/g-ocave/g-octave. If there are bugs, how should I address them, to the category app-portage or to the category g-octave? Is it the overlay g-octave or something else? Regards Juergen
@Jurgen, you should report bugs here, or at http://www.g-octave.org/ . Usually g-octave.org is used by my automated scripts. @wormo g-octave can apply patches at the src_prepare phase of the generated ebuilds. This is done automatically, I just need to put the patch on the package database, with a required name format: https://github.com/rafaelmartins/g-octave-db/tree/master/patches/ Send patches to upstream is always the best approach, but would also be good if we can supply the the patch locally as the releases are not so often. If someone have a patch for the latest version of video available at the package database, please attach here or send me a pull request on github. If not, I'll create one when I have the time. Thanks.
Closing all the bugs related to build failures. Please report the bug to octave-forge upstream