Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 344451 - 'g-octave -v video' fails because 'UINT64_C' is not declared
Summary: 'g-octave -v video' fails because 'UINT64_C' is not declared
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Rafael Martins (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-06 22:43 UTC by Juergen Rose
Modified: 2012-11-27 05:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2010-11-06 22:43:23 UTC
'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".
Comment 1 Wormo (RETIRED) gentoo-dev 2010-11-12 20:05:43 UTC
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.
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2010-11-12 20:15:59 UTC
back to bug-wranglers: wrong assignee, wrong summary (missing category)
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2010-11-12 20:18:16 UTC
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
Comment 4 Wormo (RETIRED) gentoo-dev 2010-11-12 20:52:50 UTC
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...
Comment 5 Juergen Rose 2010-11-13 09:46:45 UTC
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
Comment 6 Rafael Martins (RETIRED) gentoo-dev 2010-11-13 15:22:09 UTC
@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.
Comment 7 Rafael Martins (RETIRED) gentoo-dev 2012-11-27 05:18:56 UTC
Closing all the bugs related to build failures. Please report the bug to octave-forge upstream