Symbol not found: _NSDefaultRunLoopMode

  • Hello,

    As a tangent of my previous email re: cross-version build docs, here
    is a problem that appeared while running a Leopard application on
    Tiger. I'm sure it's my fault, but I'm confused about diagnosing and
    solving problem. The application was originally written on Tiger. The
    project was moved to Leopard and is currently compiled there for both
    OS versions.

    When launching the app on Tiger, the following appears...

    ===========

    Nov  1 03:04:06 ovid crashdump[3564]: MyApp crashed
    Nov  1 03:04:06 ovid crashdump[3564]: crash report written to: /Users/
    jaime/Library/Logs/CrashReporter/MyApp.crash.log
    dyld: Symbol not found: _NSDefaultRunLoopMode
      Referenced from: /Users/jaime/Desktop/MyApp copy.app/Contents/MacOS/
    MyApp
      Expected in: /System/Library/Frameworks/CoreFoundation.framework/
    Versions/A/CoreFoundation

    ==========

    The constant is defined in NSRunLoop.h. If I search for NSRunLoop.h on
    the systems, they all exist in

    /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/
    NSRunLoop.h

    I understand a little about frameworks and versioning. What I don't
    understand is how the app ends up looking in A instead of
    "Current" (the symlink if the framework properly points to C of course).

    What have I done wrong to facilitate this problem? Thanks for any help,

    Jaime
  • You are probably explicitly linking against individual frameworks
    rather than the Cocoa framework, or you are not linking against the
    10.4 SDK (which should be your first choice when you want something to
    run back on 10.4).

    Chris Kane
    Cocoa Frameworks, Apple

    On Nov 1, 2007, at 7:09 AM, Jaime Magiera wrote:

    > Hello,
    >
    > As a tangent of my previous email re: cross-version build docs, here
    > is a problem that appeared while running a Leopard application on
    > Tiger. I'm sure it's my fault, but I'm confused about diagnosing and
    > solving problem. The application was originally written on Tiger.
    > The project was moved to Leopard and is currently compiled there for
    > both OS versions.
    >
    > When launching the app on Tiger, the following appears...
    >
    > ===========
    >
    > Nov  1 03:04:06 ovid crashdump[3564]: MyApp crashed
    > Nov  1 03:04:06 ovid crashdump[3564]: crash report written to: /
    > Users/jaime/Library/Logs/CrashReporter/MyApp.crash.log
    > dyld: Symbol not found: _NSDefaultRunLoopMode
    > Referenced from: /Users/jaime/Desktop/MyApp copy.app/Contents/MacOS/
    > MyApp
    > Expected in: /System/Library/Frameworks/CoreFoundation.framework/
    > Versions/A/CoreFoundation
    >
    > ==========
    >
    >
    > The constant is defined in NSRunLoop.h. If I search for NSRunLoop.h
    > on the systems, they all exist in
    >
    > /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/
    > NSRunLoop.h
    >
    > I understand a little about frameworks and versioning. What I don't
    > understand is how the app ends up looking in A instead of
    > "Current" (the symlink if the framework properly points to C of
    > course).
    >
    > What have I done wrong to facilitate this problem? Thanks for any
    > help,
    >
    > Jaime
previous month november 2007 next month
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Go to today