From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yavor Doganov Newsgroups: gmane.emacs.devel Subject: Re: [Emacs.app dev]: Emacs.app now in GNU Emacs CVS Date: Wed, 16 Jul 2008 20:54:23 +0300 Organization: The GNU Emacs Church (Bulgarian eparchy) Message-ID: <87tzepiuk0.GNU's_Not_Unix!%yavor@gnu.org> References: <476AEFF3-F98D-4D19-A8B0-219C790536F7@gmail.com> <19e566510807151217q7276dd61wa93aaa13b842e296@mail.gmail.com> <170476C2-EF90-40DC-BB6F-0C54AFA10884@gmail.com> <64B63861-E635-420F-BC96-8DA189246E72@gmail.com> <20BFBDD3-1423-41EB-847D-B2FE2F5AA2DE@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Trace: ger.gmane.org 1216230892 9345 80.91.229.12 (16 Jul 2008 17:54:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Jul 2008 17:54:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 16 19:55:40 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KJBE1-0002J2-2x for ged-emacs-devel@m.gmane.org; Wed, 16 Jul 2008 19:55:37 +0200 Original-Received: from localhost ([127.0.0.1]:54614 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KJBD8-0006Jz-OB for ged-emacs-devel@m.gmane.org; Wed, 16 Jul 2008 13:54:42 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KJBD2-0006FE-WF for emacs-devel@gnu.org; Wed, 16 Jul 2008 13:54:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KJBD2-0006D2-6M for emacs-devel@gnu.org; Wed, 16 Jul 2008 13:54:36 -0400 Original-Received: from [199.232.76.173] (port=48686 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KJBD1-0006Cq-U4 for emacs-devel@gnu.org; Wed, 16 Jul 2008 13:54:35 -0400 Original-Received: from main.gmane.org ([80.91.229.2]:52867 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KJBD1-0003Zi-Fv for emacs-devel@gnu.org; Wed, 16 Jul 2008 13:54:35 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1KJBCx-0004EH-Kr for emacs-devel@gnu.org; Wed, 16 Jul 2008 17:54:31 +0000 Original-Received: from 213.91.245.92 ([213.91.245.92]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Jul 2008 17:54:31 +0000 Original-Received: from yavor by 213.91.245.92 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Jul 2008 17:54:31 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 58 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 213.91.245.92 In-Reply-To: User-Agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.2 (i486-pc-linux-gnu) MULE/5.0 (SAKAKI) X-Jabber-ID: doganov@jabber.minus273.org X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:100828 Archived-At: Miles Bader wrote: > > FWIW, here's a little gdb session with stack backtrace... not very > useful looking but... > > [It dies even if I just run src/bootstrap-emacs without any arguments] It fails also on gNewSense 2.0 as well with older versions of the GNUstep (-base 1.14.1, -gui 0.12.0) libraries. Further debugging (with GNUstep Base built with libffi, as libffcall munges the backtrace more aggressively) shows that the fault is in nsterm.m: void * ns_alloc_autorelease_pool () /* -------------------------------------------------------------------------- Allocate a pool for temporary objects (callable from C) -------------------------------------------------------------------------- */ { return [[NSAutoreleasePool alloc] init]; } This function is called in emacs.c and it appears that this is the first ObjC function called at initialization. Maybe there are necessary compiler/linker flags and options that are omitted for some reason (deliberate or not); perhaps it is related to -nostdlib and -lgcc used in Emacs' build system (for reasons I can't fully understand) or some other oddity. If it would be of any help, here is how GNUstep Make compiles a random GNUstep application on GNU/Linux: gcc Section.m -c \ -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -fPIC -g -Wall -DDEBUG -fno-omit-frame-pointer -DGSWARN -DGSDIAGNOSE -Wno-import -g -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fgnu-runtime -fconstant-string-class=NSConstantString -I. -I/home/yavor/GNUstep/Library/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep \ -o obj/Section.o Link stage: gcc -rdynamic -shared-libgcc -fexceptions -fgnu-runtime -o HelpViewer.app/./HelpViewer \ ./obj/main.o ./obj/mainWindowController.o ./obj/Label.o ./obj/Controller.o ./obj/FigureCell.o ./obj/Legend.o ./obj/HandlerStructureXLP.o ./obj/TextFormatterXLP.o ./obj/BrowserCell.o ./obj/NoteCell.o ./obj/ModNSString.o ./obj/BRCell.o ./obj/Page.o ./obj/Section.o -L/home/yavor/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/lib -lgnustep-gui -lgnustep-base -lpthread -lobjc -lm I tried a dirty workaround by modifying src/Makefile to include the missing flags, to no avail. This is, IMVHO, a grave problem caused by miscompilation/linking on GNU/Linux; but it looks rather obscure to me right now so I am sorry I can't really help. It is unfortunate that the Emacs.app developers run primarily Muck OS and the code was not tested on GNUstep under GNU/Linux. Anyway, such failures right after the merge are more or less expected. I'll dive into this tomorrow, unless someone fixes the problem. Nevertheless, it is a great day for all the GNUsteppers who are also monks in the GNU Emacs Church -- we've been waiting for the Holy Merge for years. Thanks to all the people who made it happen, and of course Adrian for keeping up with Emacs changes through the years.