When trying to update windowmaker, i put the gnustep use flag on. It tried to emerge gnustep-base/gnustep-base-1.10.2_pre20041203 but failed. Here is the error : checking ffi.h presence... yes checking for ffi.h... yes checking callback.h usability... no checking callback.h presence... no checking for callback.h... no checking "for forwarding callback in runtime"... yes checking "FFI library usage"... none You do not have either ffcall or libffi installed, or configure needs --with-ffi-include and/or --with-ffi-library flags so GNUstep can find them GNUstep requires ffcall or libffi and proper libobjc hooks to do invocations and DO. (This does not apply on apple-apple-apple systems where DO is not compatible with other GNUstep systems.) You most likely do not want to build base without DO support. Many things, including all applications, won't work at all without DO. If you really want to build -base without DO support, add --disable-do to the configure arguments. For more information, read the GNUstep build guide, ffcall section: http://documents.made-it.com/GNUstep/buildguide.html#FOREIGN.FUNCTION.INTERFACES configure: error: Incomplete support for ffi functionality. gcc-config -l : [1] i686-pc-linux-gnu-3.3.4 [2] i686-pc-linux-gnu-3.4.1 * gcc -v : Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/specs Configured with: /var/tmp/portage/gcc-3.4.1-r3/work/gcc-3.4.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,objc --enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-exceptions --enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3 --with-local-prefix=/usr/local --disable-werror --enable-shared --enable-nls --without-included-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=gnu Thread model: posix gcc version 3.4.1 20040803 (Gentoo Linux 3.4.1-r3, ssp-3.4-2, pie-8.7.6.5) emerge -s libffi : dev-libs/libffi Latest version available: 3.4.1-r1 Latest version installed: 3.4.1-r1 If you need more infos please ask. Reproducible: Always Steps to Reproduce: 1. emerge -uD windowmaker 2. emerge gnustep-base 3. Actual Results: You do not have either ffcall or libffi installed, or configure needs --with-ffi-include and/or --with-ffi-library flags so GNUstep can find them GNUstep requires ffcall or libffi and proper libobjc hooks to do invocations and DO. Expected Results: GNUstep emerged Portage 2.0.51-r3 (default-linux/x86/2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 Unknown CPU Type Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -Os -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /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/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -Os -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms userpriv" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowex X acl alsa apache2 apm arts avi cdr chroot crypt cups dedicated dga divx4linux dvd encode faad fbcon gcc-libffi gd gif gnustep gphoto2 gpm graphviz gtk gtk2 icq imap imlib innodb ipv6 ithreads java jpeg kde kerberos ldap libwww live mad maildir mmx mmx2 motif mozilla moznocompose moznoirc moznomail mpeg msn mysql ncurses net network nls no_wxgtk1 nptl nvidia objc oggvorbis opengl oss pam pdflib perl pg-intdatetime pg-vacuumdelay png postgres python qt quicktime readline rtc samba sdl spell sse ssl tcltk threads tiff truetype usb v4l v4l2 vdesktop wmf x86 xinerama xml xml2 xmms xprint xv xvid zlib"
What is the ouput of `emerge -pv gnustep-base`?
Actually, disregard that: You have "gcc-libffi" in your USE flags. Remove it -- this is not a bug. You're "libffi" is from the seperate package "dev-libs/libffi". If you want to use gcc-libffi, you need to emerge gcc with the gcj USE flag or >=gcc-3.4.3-r1 with the objc USE flag (or gcj), but this ebuild is still in testing, so I wouldn't. You can just continue to not use the gcc-libffi use flag and everything should work fine.
Sorry, but I tried with this use flag after a first error. I tried it thinking that i should solve my problem. I retried without it and still have the error. the emerge gnustep-base -pv gives : endymion root # emerge gnustep-base -pv These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] gnustep-base/gnustep-base-1.10.2_pre20041203 -debug +doc -gcc-libffi -profile 0 kB of course all the dep are built (and libffi was a dep). should i reopen the bug ?
If dev-libs/libffi was installed, at worst, you may have to 'env-update', 'source /etc/profile' and try to emerge again. Please let me know if that works.
... and an `ldconfig` couldn't hurt, but shouldn't necessarily be needed.
already did it but retried with same result.
Hrm. Well, there are a couple more things we can try. First, clean out temp files: 'rm -Rf /var/tmp/portage/*', then try again (Making sure the gcc-libffi is off). Second, if dev-libs/libffi is installed, what is the output of: `ls /usr/include/libffi` and `ls /usr/lib/libffi` Third, what does /etc/ld.so.conf looks like? Fourth, when you did the 'env-update' and 'source /etc/profile', did you try to do the emerge in the same terminal as the one you executed those commands, or no?
1st I checked in the configure.log and found configure:13864: checking "FFI library usage" configure:13891: gcc -o conftest -mcpu=athlon-xp -Os -pipe -fgnu-runtime -I/usr/GNUstep/System/Library/Headers -Wl,-O1 -L/usr/GNUstep/System/Library/Libraries/gnu-gnu -gnu -L/usr/GNUstep/System/Library/Libraries conftest.c -lffi -ldl -lz >&5 `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++ but not for C /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lffi collect2: ld returned 1 exit status (after a `ldconfig, env-update, source /etc/profile`,I tried `gcc -lffi` and same error) then I rm /var/tmp/portage/* and tried again a `gcc -lffi` and same result. 2nd ls /usr/lib/libffi /usr/lib/libffi /usr/lib/libffi/libffi.a /usr/lib/libffi/libffi.la /usr/lib/libffi/libffi.so.3.0.0 /usr/lib/libffi/libffi.so /usr/lib/libffi/libffi.so.3 ls /usr/include/libffi ffi.h ffitarget.h 3rd /etc/ld.so.conf : /usr/local/lib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.4.1 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 /usr/lib/opengl/nvidia/lib /usr/lib/MozillaFirefox /usr/X11R6/lib64 /usr/X11R6/lib /opt/blackdown-jdk-1.4.2.01/jre/lib/i386/ /opt/blackdown-jdk-1.4.2.01/jre/lib/i386/native_threads/ /opt/blackdown-jdk-1.4.2.01/jre/lib/i386/classic/ /usr/qt/3/lib /usr/kde/3.3/lib /usr/games/lib /usr/lib/libffi /usr/lib/libstdc++-v3/ 4th : Once yes, twice not ;-) Once in a screen terminal, once in a normal one.
OK I tried smthing and it worked : i just ln -s the /usr/lib/libffi/libffi.so* in /usr/lib/ So I think the bug is related to gcc (ld) and not gnustep or libffi that need to create those symlinks.
fixed