32

I used gdb normally until this week. Now running gdb I see:

(gdb) r
Starting program: /Volumes/MyProg 
dyld: Library not loaded: @rpath/libCore.so
  Referenced from: /Volumes/MyProg
  Reason: image not found
(gdb) 

How to fix it?

I have:

  • OSX 10.9
  • GNU gdb (GDB) 7.6 installed with MacPorts

P.S.

I have reinstalled gdb and Xcode. This does not help.

I see a lot of questions about dyld issues, but obviously I lack experience with libraries on OSX, and they appears to be useless for me.

For example this topic: dyld issues library not loaded But how to download library again?

Or this topic: Dyld: Library not loaded But how to find out install name? What is @rpath?

Community
  • 1
  • 1
klm123
  • 12,105
  • 14
  • 57
  • 95

5 Answers5

29

I solved this issue with "Embedded Binaries" in the General project settings.

Karsten
  • 1,869
  • 22
  • 38
  • yes this worked with Carthage. The Carthage instructions (as of 5/23/2015) state to add to linked libraries - but I deleted that and added it through embedded binaries. It then (on its own) appeared in linked libraries. Now all works. – Jack Amoratis May 23 '15 at 18:21
11

i have solved this issue by changing the following settings

Go to Project Setting Your_Target->General->Embedded Binaries-> Click on + button and add your library here

6

How I fixed it:

  1. libCore.so is a library from ROOT framework, which MyProg uses.
  2. If I understand correctly, the message Library not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not found means that linker found the library, but can't use it.
  3. Root, during installation uses clang by default. Meanwhile as I prefer gcc and MyProg uses gcc.
  4. I have reinstalled root with gcc compiler:

    ./configure --with-cxx=g++ --with-cc=gcc --with-ld=g++

  5. I have recompiled MyProg.

and now I can debug it with gdb.

klm123
  • 12,105
  • 14
  • 57
  • 95
1

You can find more information about rpath here: link

So you need to point the path to your libCore.so, but honestly I have not faced with this library so I don't know where is it located.

You can check also this answer to understand what it is rpath: answer

Community
  • 1
  • 1
Matrosov Oleksandr
  • 25,505
  • 44
  • 151
  • 277
0

For Xcode 11 or above, there is another simpler solution which worked for me if you are using Cocoapods.

In your Podfile, add use_frameworks! after your Target line like this -

target 'YourAppName' do
  use_frameworks!

Basically it adds all your pods as a framework in your framework folder.

mAc
  • 2,434
  • 2
  • 22
  • 39