[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUStep build problems
From: |
Dan Nicolaescu |
Subject: |
Re: GNUStep build problems |
Date: |
Fri, 22 Aug 2008 09:30:17 -0700 |
Christian Faulhammer <address@hidden> writes:
> Hi,
>
> we are trying to add GNUstep support for Emacs in Gentoo Linux.
> Unfortunately Emacs build fails from HEAD during bootstrapping, maybe
> you can have a look at it, a log of the build process is attached.
> Also there has been a linker problem as in Gentoo the GNUstep libraries
> are not in FHS locations but in the ones recommended by GNUstep. A
> patch for that is attached.
>
> CCing Gentoo Emacs and GNUstep teams.
>
> V-Li
>
> --- src/Makefile.in.orig 2008-08-14 10:49:19.000000000 +0200
> +++ src/Makefile.in 2008-08-14 10:49:22.000000000 +0200
> @@ -938,7 +938,7 @@
> temacs${EXEEXT}: $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj}
${otherobj} OBJECTS_MACHINE prefix-args${EXEEXT}
> echo "${obj} ${otherobj} " OBJECTS_MACHINE > buildobj.lst
> #ifdef NS_IMPL_GNUSTEP
> - $(CC) -rdynamic YMF_PASS_LDFLAGS (${TEMACS_LDFLAGS} -lgnustep-gui
-lgnustep-base -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs ${obj}
${otherobj} OBJECTS_MACHINE ${LIBES}
> + $(CC) -rdynamic YMF_PASS_LDFLAGS (${TEMACS_LDFLAGS} address@hidden@
[snip]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The recommended way
is not to substitute
directly in a make
rule, but use a
variable.
> #else
> $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
> -o temacs ${STARTFILES} ${obj} ${otherobj} \
The best would be to get rid of the #ifdef NS_IMPL_GNUSTEP, and use the
default rule for temacs${EXEEXT}, passing the correct flags in the
existing variables, or add new ones if needed. Given that not too many
people work/even have access to GNUStep, help getting that right would
be greatly appreciated.
Now looking at the log:
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --program-suffix=-emacs-23
--infodir=/usr/share/info/emacs-23 --without-carbon --with-sound --with-x
--without-toolkit-scroll-bars --with-gif --with-jpeg --with-png --with-rsvg
--with-tiff --with-xpm --disable-font-backend --without-freetype --without-xft
--without-libotf --without-m17n-flt --with-x-toolkit=gtk --without-hesiod
--with-ns --disable-ns-self-contained --without-kerberos --without-kerberos5
--with-gpm --with-dbus --build=i686-pc-linux-gnu
configure: WARNING: Unrecognized options: --without-carbon,
--disable-font-backend
^^^^^^^^^^^^^^^^^^
This warning is obvious...
--with-x --with-x-toolkit=gtk make no sense when using --with-ns
--with-gif --with-jpeg etc, are turned on by default, no need to bother with
them.
You can try to get around the byte compilation problem by first
configure --with-x, do a make to create the .elc files, and then
reconfigure --with-ns and try again. It's a hack, but it might help
until someone finds a proper fix.