The latest kvim doesn't compile on my machine. I'm guessing this might be a gcc 2.95 vs. 3.x issue. Does Gentoo still support the old 2.95 compiler? Reproducible: Always Steps to Reproduce: 1. emerge kvim Actual Results: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_KDE -I/usr/qt/3/include -I/usr/kde/3.1/include -march=i686 -O3 -pipe -I/usr/X11R6/include -DPERL5 -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl5/5.8.0/i686-linux/CORE -I/usr/include/python2.2 -pthread -o objects/gui_kde.o gui_kde.cc In file included from proto.h:118, from vim.h:1540, from gui_kde_widget.h:64, from gui_kde.cc:36: proto/misc2.pro:20: `char_u * alloc(unsigned int)' redeclared as different kind of symbol /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include/g++/stl_alloc.h:451: previous declaration of `typedef class __default_alloc_template<true,0> alloc' /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include/g++/stl_alloc.h:451: previous non-function declaration `typedef class __default_alloc_template<true,0> alloc' proto/misc2.pro:20: conflicts with function declaration `char_u * alloc(unsigned int)' make[1]: *** [objects/gui_kde.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/kvim-6.2.14/work/kvim-6.2.14/src' make: *** [first] Error 2 !!! ERROR: app-editors/kvim-6.2.14 failed. !!! Function src_compile, Line 44, Exitcode 2 !!! (no error message) # emerge info Portage 2.0.48-r5 (default-1.0, gcc-2.95.3, glibc-2.2.5-r2,2.2.5-r8) ================================================================= System uname: 2.4.20-gentoo-r5 i686 Pentium III (Coppermine) GENTOO_MIRRORS="ftp://gentoo.noved.org/ http://gentoo.noved.org/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode jpeg libg++ mikmod mmx mpeg ncurses pdflib quicktime spell truetype xml2 xmms xv alsa arts berkdb cdr esd gdbm gif gnome-libs gpm gtk guile imlib java kde libwww motif mozilla mysql nls oggvorbis opengl pam perl png postgres python qt readline scanner sdl slang ssl svga tcltk tcpd tetex tiff X" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-march=i686 -O3 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork"
Reassigning to the KDE folks because I'm sure they have more experience with C++ behavior with gcc-2.95. Vim proper has no C++ code; this is introduced by the KDE version.
Man, I don't have a good answer to you for this. It's not that Gentoo doesn't support the older gcc, but this particular package looks a little iffy. You've got a conflict with the alloc function in the standard template library. I can only assume that an upgrade to 3.1 or 3.2 will help, but I can't make promises. You may want to see if kvim has dependencies on any particular version of gcc.
I talked with the devs in #freehackers, and they posted a patch to kvim-dev. Thanks Mickael! http://lists.freenux.org/wws/arc/kvim-dev/2003-08/msg00020.html Edit kvim-6.2.14/src/proto/misc2.pro and change char_u *alloc __ARGS((unsigned size)); to #ifndef __cplusplus char_u *alloc __ARGS((unsigned size)); #endif Here's how I tested: # cd /usr/portage/distfiles # tar xfj kvim-6.2.14.tar.bz2 # vim kvim-6.2.14/src/proto/misc2.pro # made change described above # tar cfj kvim-6.2.14.tar.bz2 kvim-6.2.14 # ebuild /usr/portage/app-editors/kvim/kvim-6.2.14.ebuild digest >>> Generating digest file... <<< kvim-6.2.14.tar.bz2 >>> Generating manifest file... <<< kvim-6.1.141.ebuild <<< ChangeLog <<< metadata.xml <<< kvim-6.1.141_rc1.ebuild <<< kvim-6.1.141_rc2.ebuild <<< kvim-6.2.14.ebuild <<< files/kvim-6.1.141_rc1-gcc2fix.patch <<< files/digest-kvim-6.1.141_rc1 <<< files/digest-kvim-6.1.141_rc2 <<< files/digest-kvim-6.1.141 <<< files/kvim-6.1.141.patch <<< files/digest-kvim-6.2.14 >>> Computed message digests. # emerge kvim Calculating dependencies ...done! >>> emerge (1 of 1) app-editors/kvim-6.2.14 to / >>> md5 src_uri ;-) kvim-6.2.14.tar.bz2 >>> Unpacking source... >>> Unpacking kvim-6.2.14.tar.bz2 to /var/tmp/portage/kvim-6.2.14/work >>> Source unpacked. creating cache ./config.cache ... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. #
Aron, Can you apply the patch that's affixed a few comments up? I don't have kvim on any machines so I have no way to test it.
Yep, I'll apply the patch (soon)
Applied the patch, thanks!