emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compiling Emacs on Mac OS X 10.6 Snow Leopard


From: YAMAMOTO Mitsuharu
Subject: Re: Compiling Emacs on Mac OS X 10.6 Snow Leopard
Date: Tue, 01 Sep 2009 14:24:13 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Mon, 31 Aug 2009 13:50:06 -0400, David Reitter <address@hidden> said:

> On Aug 31, 2009, at 6:36 AM, YAMAMOTO Mitsuharu wrote:
>> * For Emacs 22.3 and 23.1, you need to apply the patch below.  It
>> has already been applied to the CVS trunk.

> This works, even though I had to include loader.h explicitly with a
> full path, because it otherwise seems to include an older loader.h
> that doesn't define LC_DYLD_INFO.

How did you build it?  The standard procedure should include the right
loader.h.

> The bigger problem now is that it won't run on 10.5 systems:

>   ./emacs dyld: unknown required load command 0x80000022 Trace/BPT
> trap

> (LC_DYLD_INFO = 0x22)

Yes.  It is mentioned in "Dynamic Loader Release Notes"
http://developer.apple.com/mac/library/releasenotes/DeveloperTools/RN-dyld/index.html

> So I set the deployment target...

> export MACOSX_DEPLOYMENT_TARGET=10.4

> In that case it builds fine, even without LC_DYLD_INFO being
> defined.  I think the linker will correctly generate compatible
> mach-o files.

> It still won't execute on 10.5.  Not sure what this is about:

> ./Emacs -nw dyld: lazy symbol binding failed: Symbol not found:
> _fdopen$UNIX2003 Referenced from:
> /Users/dr/Emacs.app/Contents/MacOS/./Emacs Expected in:
> /usr/lib/libSystem.B.dylib

> dyld: Symbol not found: _fdopen$UNIX2003 Referenced from:
> /Users/dr/Emacs.app/Contents/MacOS/./Emacs Expected in:
> /usr/lib/libSystem.B.dylib

I can't reproduce this with the CVS trunk HEAD.  What I did was:

  mkdir emacs-ns-i386-10.4
  cd emacs-ns-i386-10.4
  MACOSX_DEPLOYMENT_TARGET=10.4 CC='gcc -arch i386' ../emacs/configure --with-ns
  MACOSX_DEPLOYMENT_TARGET=10.4 make install

The resulting binary runs on both 10.5 and 10.4.  You can check which
object uses _fdopen$UNIX2003 by running "nm -A src/*.o | grep fdopen".
Or maybe Emacs is unconsciously linked with some external libraries?

                                     YAMAMOTO Mitsuharu
                                address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]