Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 36521 - gnustep-base's configure doesn't complains about no ffcall, while there is
Summary: gnustep-base's configure doesn't complains about no ffcall, while there is
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-26 05:39 UTC by Artem Baguinski
Modified: 2003-12-26 07:21 UTC (History)
0 users

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 Artem Baguinski 2003-12-26 05:39:57 UTC
i have ffcall installed but i get the following when trying to emerge gnustep-base:

checking ffi.h usability... no
checking ffi.h presence... no
checking for ffi.h... no
checking "for forwarding callback in runtime"... no
checking callback.h usability... yes
checking callback.h presence... yes
checking for callback.h... yes
checking "FFI library usage"... none

GNUstep requires the ffcall library to do invocations and DO.
Make sure this library is installed (see installation instructions).
Otherwise DO will not be compatible with other systems, and you will not
be able to use gnustep-gui.

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: No ffcall interface library found.

!!! ERROR: dev-util/gnustep-base-1.7.2 failed.
!!! Function egnustepmake, Line 65, Exitcode 1
!!! configure failed (options: --with-xml-prefix=/usr --with-gmp-include=/usr/include --with-gmp-library=/usr/lib)



Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.20-acpi-r9)
=================================================================
System uname: 2.4.20-acpi-r9 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.4.3.12
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon -O3 -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.1/share/config /usr/kde/3/share/config /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=athlon -O3 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
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="/media/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X Xaw3d aalib acpi apm arts avi berkdb bonobo cdr crypt cups dvd
encode esd foomaticdb gdbm gif gphoto2 gpm gtk gtk2 guile imlib jpeg libg++
libwww mad mbox mikmod motif mozilla mpeg ncurses nls oggvorbis opengl oss pam
pdflib perl png postgres python quicktime readline sdl spell ssl svga tcltk tcpd
tetex threads truetype x86 xml2 xmms xv zlib"
Comment 1 Artem Baguinski 2003-12-26 06:18:54 UTC
oh, the problem is here:

checking "for forwarding callback in runtime"... no

which is caused by the following bit of configure.ac failing:

AC_MSG_CHECKING("for forwarding callback in runtime")
AC_EGREP_HEADER(__objc_msg_forward, objc/objc-api.h, AC_MSG_RESULT(yes),
                AC_MSG_RESULT(no); enable_ffcall=no)

i don't know the reason it fails but my objc/objc-api.h DOES have __objc_msg_forward (gcc 3.3.2)
 
Comment 2 Artem Baguinski 2003-12-26 06:56:53 UTC
some additional investigation shows that c preprocessor, invoked by the AC_EGREP_HEADER, makes all extern declarations disappear. that results in egrep not finding the function in question.
Comment 3 Artem Baguinski 2003-12-26 07:09:52 UTC
oh, no, i was wrong, cpp doesn't make ALL extern declarations disappear, but only some...

this is the cpp output corresponding to the place where "missing" variable is declared... could it be that variable declarations are removed?

----------------------------------------------------------------
void objc_free (void *mem);
# 412 "/usr/local/include/objc/objc-api.h" 3
extern void *(*_objc_malloc) (size_t);
extern void *(*_objc_atomic_malloc) (size_t);
extern void *(*_objc_valloc) (size_t);
extern void *(*_objc_realloc) (void *, size_t);
extern void *(*_objc_calloc) (size_t, size_t);
extern void (*_objc_free) (void *);

Method_t class_get_class_method (MetaClass class, SEL aSel);
----------------------------------------------------------------
Comment 4 Artem Baguinski 2003-12-26 07:21:59 UTC
dear developers, the problem was with my system [some other software i use have installed /usr/local/inlude/objc/* which wasn't quite correct i figured].