Hi,
(I apologize upfront if I miss something obvious)
I'm having a problem to make the CDT debugger find the sources of a particular shared library. This shared library was built using homebrew (kind of package manager on OSX) but I guess this is not very relevant. The debugging informations are there.
$ nm -a /usr/local/lib/libsimgrid.3.6.2.dylib | grep src
....
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/amok/amok_base.c
0000000000000000 - 00 0000 SO /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/cbps.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/datadesc.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_convert.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_create.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_exchange.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_parse.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_exchange.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_listener.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_mod.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_types.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/rpc.c
0000000000000000 - 00 0000 SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/sg_msg.c
...
The problem is that they all point to a temp directory homebrew is using to build the package. I tried to set up path mapping, but that did not work (map /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src -> /Users/krikava/Development/cpp/simgrid-3.6.2/src).
If I build the library manually (using exact same configuration) and install it to /usr/local the debugger works just fine as now the source files exist:
$ nm -a /usr/local/lib/libsimgrid.3.6.2.dylib | grep src
....
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/amok/amok_base.c
0000000000000000 - 00 0000 SO /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/cbps.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/datadesc.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_convert.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_create.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_exchange.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_parse.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_exchange.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_listener.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_mod.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_types.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/rpc.c
0000000000000000 - 00 0000 SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/sg_msg.c
...
What do I need to configure in CDT in order to have it running with the original location that is embedded in the lib?
Thanks a lot