質問

straceを使用してこれを検出します:

8480  execve("/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld", 
[   "/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld", 
    ...
    "-L/home/bjack/lib", 
    ...
    "-rpath-link", "/root/src/firmware/Bj-bg/ab-BJ-gameprom-modules/src/dispatcher/logic", 
    ...
    "-lgame_std", "-lygor", "-ldl", 
    "--rpath", "/home/bjack/lib", 
    "-lgcc", "--as-needed", "-lgcc_s", "--no-as-needed", "-lc", "-lgcc", "--as-needed", "-lgcc_s", "--no-as-needed", 
    "/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/crtend.o", 
    "/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../crtn.o"
], [/* 26 vars */]) = 0

8480  open("/home/bjack/lib/libgame_std.so", O_RDONLY) = 12
8480  open("/home/bjack/lib/libygor.so", O_RDONLY) = -1 ENOENT (No such file or directory)
8480  open("/home/bjack/lib/libygor.a", O_RDONLY) = -1 ENOENT (No such file or directory)

私は混乱しています。マニュアルによると、最初は -rpath-link パスを見つけようとする必要があります。

役に立ちましたか?

解決

-rpath-link は、他の共有ライブラリに依存する共有ライブラリに影響を与えるために(ld(1)のマニュアルページにのみ)文書化されています。実行可能ファイルをリンクしているため、無視されるか、別の-rpathのように扱われます。または、-rpath-linkパスは再帰的な依存関係にのみ使用されることを意味しますが、実行可能ファイルをリンクするときに設定します。

とにかく、別のライブラリに依存するライブラリがないため、使用されていないと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top