When trying to emerge vcdimager-0.7.20 it does not compile with the error of: image.c:80: error: conflicting types for `vcd_image_sink_write' image_sink.h:67: error: previous declaration of `vcd_image_sink_write'. Can be corrected by patching the image.c file: == START == --- image.c~ 2003-11-10 09:57:49.000000000 -0200 +++ image.c 2004-07-05 18:14:37.781168616 -0300 @@ -76,7 +76,7 @@ } int -vcd_image_sink_write (VcdImageSink *obj, void *buf, uint32_t lsn) +vcd_image_sink_write (VcdImageSink *obj, void *buf, lsn_t lsn) { vcd_assert (obj != NULL); == EOF == Reproducible: Always Steps to Reproduce: 1. emerge vcdimager Actual Results: Doesn't build and install. Expected Results: To be installed successfully. Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r6) ================================================================= System uname: 2.6.7-gentoo-r6 i686 AMD Athlon(tm) XP 1800+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://mirror.tucdemonic.org/gentoo/ ftp://gentoo.ccccom.com http://mirror.datapipe.net/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X acpi alsa arts avi berkdb bonobo cdr crypt cups dvd emacs encode encoder esd firebird flash foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile icq imlib jabber jack java jpeg kde ldap leim libg++ libsamplerate libwww mad mikmod mmx motif mozilla mpeg mule mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba scanner sdl slang sndfile spell sse ssl svga tcltk tcpd truetype x86 xml2 xmms xosd xv zlib"
ALso got this. This is needed to install k3b.
Patch listed in forums fixed this problem for me: diff -Naur vcdimager-0.7.20/lib/image.c vcdimager-0.7.20.fix/lib/image.c --- vcdimager-0.7.20/lib/image.c 2003-11-10 06:57:49.000000000 -0500 +++ vcdimager-0.7.20.fix/lib/image.c 2004-07-01 20:52:27.171914064 -0400 @@ -76,7 +76,7 @@ } int -vcd_image_sink_write (VcdImageSink *obj, void *buf, uint32_t lsn) +vcd_image_sink_write (VcdImageSink *obj, void *buf, lsn_t lsn) { vcd_assert (obj != NULL);
Created attachment 35073 [details] patched ebuild I attached the patch posted in comment #2 This worked on my machines
The patched ebuild worked great for me. Thank You!
Please add "inherit eutils" to make the patching work
Thanks, after adding "inherit eutils" the compilation worked for me with gcc 3.4.1-r1. Please add this new ebuild to the portage.
I am still having trouble applying this patch ebuild after three days. I am using gcc-3.3.4-r1. When I start emerge the package I get a message like : "Unpacking vcdimager-0.7.20.tar.gz to /var/tmp/portage/vcdimager-0.7.20-r1/work /usr/sbin/ebuild.sh: line 21: epatch: command not found" From what package can I get this epatch command? By looking at the image.c file, it looks like the ebuild is compiled without taking into account the diff file. Can someone tell me how to correctly apply the patch?.
add this line inherit eutils
Hi, Thanks for your quick reply. I have added the "inherit eutils" line into the diff file that came with the patched ebuild and it still doesn't work. Maybe I added the line at the wrong place. Can you tell me exactly where it should go? Paul
added with -r1 thx
This didn't fix it for me. At the beginning of the compile: >>> Unpacking vcdimager-0.7.20.tar.gz to /var/tmp/portage/vcdimager-0.7.20-r1/work /usr/sbin/ebuild.sh: line 21: epatch: command not found >>> Source unpacked. Then it goes on to end with the same error. .lo -MD -MP -MF .deps/image.Tpo -c image.c -fPIC -DPIC -o .libs/image.o image.c:80: error: conflicting types for 'vcd_image_sink_write' image_sink.h:67: error: previous declaration of 'vcd_image_sink_write'was here image.c:80: error: conflicting types for 'vcd_image_sink_write' image_sink.h:67: error: previous declaration of 'vcd_image_sink_write'was here make[2]: *** [image.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/vcdimager-0.7.20-r1/work/vcdimager-0.7.20/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vcdimager-0.7.20-r1/work/vcdimager-0.7.20' make: *** [all] Error 2 Emerge info: Portage 2.0.50-r9 (default-x86-1.4, gcc-3.4.1, glibc-2.3.4.20040619-r0, 2.6.7-rc3-love2) ================================================================= System uname: 2.6.7-rc3-love2 i686 Pentium III (Coppermine) Gentoo Base System version 1.5.1 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe -fno-unit-at-a-time" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/kde/cvs/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe -fno-unit-at-a-time" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.clarkson.edu/pub/distributions/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main /usr/local/bmg-gnome-current" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb cdr crypt cups doc encode esd foomaticdb gdbm gif gimp gimp-print gphoto2 gtk gtk2 imlib java jpeg kde libg++libwww mad mikmod motif mozilla mpeg ncurses nls nptl oggvorbis opengloss pam pdflib perl png python qt quicktime readline samba sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib" !!! ERROR: media-video/vcdimager-0.7.20-r1 failed. !!! Function src_compile, Line 33, Exitcode 2 !!! (no error message)
please unset PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main /usr/local/bmg-gnome-current" reemerge portage then try again
First explain to me what these directories that contain ebuilds used by my system have to do with getting vcdimager to compile.
do you want official support ? then use official ebuilds
These directories turned out to have absolutely nothing to do with the problem. The purpose of using Gentoo is for choice. The problem was I was missing the inherit eutils in the ebuild. A simple emerge sync and then emerge solved the problem. I had missed the information on adding inherit eutils to the ebuild.