如何解决缺少的符号:libSystem.B.dylib(OSX)中的__chkstd_darwin [英] how to resolve missing symbol: __chkstd_darwin in libSystem.B.dylib (OSX)

查看:688
本文介绍了如何解决缺少的符号:libSystem.B.dylib(OSX)中的__chkstd_darwin的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用Qt框架开发的桌面应用程序.在OSX的向后兼容性方面,我有一个问题:该应用程序在10.15上编译,在10.15和10.14上运行良好.该二进制文件也从10.13版本启动,但有时会引发关于libSystem.B.dylib中缺少符号(__chkstk_darwin)的错误:

I have a desktop application which I developed with the Qt framework. In terms of backward compatibility on OSX I have a problem: The app is compiled on 10.15 and works fine on 10.15 and 10.14. This binary also launches with 10.13 but at some point throws an errors about missing symbols (__chkstk_darwin ) in libSystem.B.dylib:

Process:               soundjack [36008]
Path:                  /Applications/SJC200731.app/Contents/MacOS/soundjack
Identifier:            com.yourcompany.soundjack
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           soundjack [36008]
User ID:               501

Date/Time:             2020-08-03 14:27:37.091 -0400
OS Version:            Mac OS X 10.13.6 (17G12034)
Report Version:        12
Anonymous UUID:        B29E683E-6761-8C04-33C0-BC84BEE092BE


Time Awake Since Boot: 610000 seconds

System Integrity Protection: enabled

Crashed Thread:        3

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x4] Symbol missing

Dyld Error Message:
  Symbol not found: ____chkstk_darwin
  Referenced from: /Applications/SJC200731.app/Contents/MacOS/soundjack
  Expected in: /usr/lib/libSystem.B.dylib

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff6d3f11fa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6d3f0714 mach_msg + 60
2   com.apple.CoreFoundation        0x00007fff452c9f65 __CFRunLoopServiceMachPort + 341
3   com.apple.CoreFoundation        0x00007fff452c92b7 __CFRunLoopRun + 1783
4   com.apple.CoreFoundation        0x00007fff452c8927 CFRunLoopRunSpecific + 487
5   com.apple.HIToolbox             0x00007fff445a8d96 RunCurrentEventLoopInMode + 286
6   com.apple.HIToolbox             0x00007fff445a8b06 ReceiveNextEventCommon + 613
7   com.apple.HIToolbox             0x00007fff445a8884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
8   com.apple.AppKit                0x00007fff42855a3b _DPSNextEvent + 2085
9   com.apple.AppKit                0x00007fff42febe34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
10  com.apple.AppKit                0x00007fff4284a84d -[NSApplication run] + 764
11  libqcocoa.dylib                 0x00000001100ab5d3 0x110073000 + 230867
12  org.qt-project.QtCore           0x000000010e2b7a7f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
13  org.qt-project.QtCore           0x000000010e2bc002 QCoreApplication::exec() + 130
14  com.yourcompany.soundjack       0x000000010cf54875 main + 3141
15  libdyld.dylib                   0x00007fff6d2aa015 start + 1

Thread 1:
0   libsystem_kernel.dylib          0x00007fff6d3fbbea kevent + 10
1   com.yourcompany.soundjack       0x000000010cf68ebe 0x10cf4d000 + 114366
2   com.yourcompany.soundjack       0x000000010cf689e5 0x10cf4d000 + 113125
3   com.yourcompany.soundjack       0x000000010cf68591 0x10cf4d000 + 112017
4   com.yourcompany.soundjack       0x000000010cf5b351 boost::asio::io_context::run() + 65
5   com.yourcompany.soundjack       0x000000010cfc8f28 0x10cf4d000 + 507688
6   libsystem_pthread.dylib         0x00007fff6d5c2661 _pthread_body + 340
7   libsystem_pthread.dylib         0x00007fff6d5c250d _pthread_start + 377
8   libsystem_pthread.dylib         0x00007fff6d5c1bf9 thread_start + 13

Thread 2:: com.apple.CFSocket.private
0   libsystem_kernel.dylib          0x00007fff6d3facf2 __select + 10
1   com.apple.CoreFoundation        0x00007fff45303a4b __CFSocketManager + 635
2   libsystem_pthread.dylib         0x00007fff6d5c2661 _pthread_body + 340
3   libsystem_pthread.dylib         0x00007fff6d5c250d _pthread_start + 377
4   libsystem_pthread.dylib         0x00007fff6d5c1bf9 thread_start + 13

Thread 3 Crashed:
0   dyld                            0x000000010d4c2256 __abort_with_payload + 10
1   dyld                            0x000000010d4c1bc8 abort_with_payload_wrapper_internal + 89
2   dyld                            0x000000010d4c1bf5 abort_with_payload + 9
3   dyld                            0x000000010d495482 dyld::halt(char const*) + 354
4   dyld                            0x000000010d4955a9 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 170
5   libdyld.dylib                   0x00007fff6d2aa292 dyld_stub_binder + 282
6   ???                             0x000000010d010000 0 + 4513136640
7   com.yourcompany.soundjack       0x000000010cf74bcb sender::doCompression() + 2347
8   com.yourcompany.soundjack       0x000000010cf738d4 sender::sendItThreadFunction() + 564
9   com.yourcompany.soundjack       0x000000010cfc8f28 0x10cf4d000 + 507688
10  libsystem_pthread.dylib         0x00007fff6d5c2661 _pthread_body + 340
11  libsystem_pthread.dylib         0x00007fff6d5c250d _pthread_start + 377
12  libsystem_pthread.dylib         0x00007fff6d5c1bf9 thread_start + 13

任何人都可以向我解释如何解决此问题吗?

Can anyone explain me how to approach this issue ?

预先感谢,最好

亚历克斯

推荐答案

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13必须是PRO文件的一部分.这已经是事实,这就是为什么我感到困惑.最终,我们可以发现其中涉及一个附加的lib,该lib未针对10.13进行编译,并导致了实际的问题.在为10.13编译并使用此lib之后,问题得以解决.

QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13 has to be part of the PRO-File. This was already the case which is why I was confused. Eventually we could figure that there was an additional lib involved which was not compiled for 10.13 and resulted in the actual issue. After compilation for 10.13 and using this lib the problem was resolved.

这篇关于如何解决缺少的符号:libSystem.B.dylib(OSX)中的__chkstd_darwin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆