sys-cluster/pvm-3.4.5-r2 fails to compile using GCC 4.1 with the specific message: ../../src/global.h:321: error: array type has incomplete element type ../../src/global.h:323: error: array type has incomplete element type (along with tons of warnings.) This build works great when compiling with GCC 3.4.6. To fix this issue pvmtev.h needs to be included from global.h in the src directory. For my specific fix I added the line "sed -i -e '1 i\#include <pvmtev.h>' ${S}/src/global.h" to the top of src_compile(). After doing this PVM compiled (with warnings about strlen/strcpy being redefined). Portage 2.1_rc1 (default-linux/x86/2005.1, gcc-3.4.6, glibc-2.4-r3, 2.6.15-gentoo-r2 i686) ================================================================= System uname: 2.6.15-gentoo-r2 i686 AMD Athlon(tm) Processor Gentoo Base System version 1.12.0_pre19 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -Os -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-tbird -Os -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow acpi apache2 bash-completion bcmath blas cgi cscope ctype curl curlwrappers cxx emboss empress empress-bcs ethereal f77 f90 fastcgi fortran gcj java kerberos lapack ldap lm_sensors logrotate mmx mono mpi ncurses netboot nptl nptlonly objc objc++ odbc pam perl pvm python readline ruby x86 xinetd elibc_glibc kernel_linux userland_GNU" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
This fix does seem sufficient to make pvm compile with gcc-4.1
Although I don't like all those warnings, this works for me. I'll try to inform the author of PVM.
Patch for gcc-4.1 is already in portage. Closing