Thank you Adrian. This is my env, generally speaking, it's Gentoo
2005.1 with gcc 3.4.4 and gnustep from `ACCEPT_KEYWORDS="~x86" emerge
gnustep-env'.
===============================================
# uname -a
Linux SUN 2.6.13-gentoo-r5 #3 Sun Oct 30 21:32:52 CST 2005 i686 Intel(R) Pentium(R) M processor 1.86GHz GenuineIntel GNU/Linux
# gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/specs
Configured with: /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.4
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib
--disable-checking --disable-werror --disable-libunwind-exceptions
--disable-multilib --disable-libgcj --enable-languages=c,c++,objc,f77
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu
Thread model: posix
gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
# emerge -s gnustep
* gnustep-base/gnustep-back-art
Latest version installed: 0.9.6-r1
* gnustep-base/gnustep-back-xlib
Latest version installed: [ Not Installed ]
* gnustep-base/gnustep-base
Latest version installed: 1.10.3-r1
* gnustep-base/gnustep-env
Latest version installed: 0.1.6-r1
* gnustep-base/gnustep-gui
Latest version installed: 0.9.5
* gnustep-base/gnustep-make
Latest version installed: 1.10.0-r2
===============================================
I googled for a while after that reply, and found the same suggestion
as you gave. It works for compiling *.m to *.o, but there're
still error messages when gcc links *.o to `temacs', all are "undefined
reference to whatwhatwhat". I added `-lobjc' to the gcc link
command line, some errors gone, but still many like "undefined
reference to NSxxx" and "undefined reference to
__objc_class_name_NSxxx". I searched the GNUStep directory, found
no *.a but only *.so. I'm stuck here.
On Nov 7, 2005, at 3:17 AM, Sun Yijiang wrote:
> I have GNUStep installed on my GNU/Linux, but got this error message:
> # make
> gcc -c -D_BSD_SOURCE -Demacs -DHAVE_CONFIG_H -I. -I/home/sun/
> sandbox/emacs-23.0.0_NS-9.0pre1/src -D_BSD_SOURCE -g -O2 nsterm.m
> nsterm.m: In function `ns_init_paths':
> nsterm.m:292: error: cannot find interface declaration for
> `NXConstantString'
Try editing nextstep/compile and add
-fconstant-string-class=NSConstantString
to the CFLAGS variable setting for the GNUstep case. Then rm ../
config.log and invoke ./compile again. (The other warnings are "OK"..)
At one point I needed that flag when compiling it under GNUstep, but
then I stopped needing it and I'd assumed that it was because of some
other flag settings rendering it unnecessary -- but it looks like I
might have been wrong. What OS and gcc version are you running?
What version of gnustep?
Adrian