From owner-freebsd-users-jp@freebsd.org Tue Oct 9 14:46:34 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC5E510AC690 for ; Tue, 9 Oct 2018 14:46:34 +0000 (UTC) (envelope-from zen-freebsd-ml@suzuki.que.ne.jp) Received: from mgate.inetd.co.jp (mgate.inetd.co.jp [210.129.88.236]) by mx1.freebsd.org (Postfix) with ESMTP id 6E1718C4B9 for ; Tue, 9 Oct 2018 14:46:33 +0000 (UTC) (envelope-from zen-freebsd-ml@suzuki.que.ne.jp) Received: from mgate.inetd.co.jp (localhost [127.0.0.1]) by kirishima.m.inetd.co.jp (Postfix) with ESMTP id 001981B6BA for ; Tue, 9 Oct 2018 23:46:25 +0900 (JST) Received: from localhost (kaga.x.inetd.co.jp [192.168.10.10]) by kirishima.m.inetd.co.jp (Postfix) with ESMTP id EE3C51B644 for ; Tue, 9 Oct 2018 23:46:25 +0900 (JST) Date: Tue, 09 Oct 2018 23:46:25 +0900 (JST) Message-Id: <20181009.234625.990482796376591703.inetd@x.inetd.co.jp> To: freebsd-users-jp@freebsd.org From: zen-freebsd-ml@suzuki.que.ne.jp In-Reply-To: References: <20181008.151536.2044072185712919370.inetd@x.inetd.co.jp> X-Mailer: Mew version 6.7 on Emacs 24.4 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Subject: [FreeBSD-users-jp 96323] Re: =?iso-2022-jp?b?YW1kNjQbJEIkRxsoQmkzODYbJEIkTkYxTD4laSUkGyhC?= =?iso-2022-jp?b?GyRCJVYlaSVqJCwlbSE8JUkkRyQtJEokJBsoQg==?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Oct 2018 14:46:35 -0000 内藤 様 鈴木@葛飾区です。 ご返信ありがとうございます。 > rtld のロジック的には rpath の指定により /usr/local/lib の下から > libpq.so を検索してファイルが存在しているから見つかったとしてパス検 > 索を終了したけれども、 > 実際には 32bit ライブラリではないので読めなかったんだろうと思います。 ちょうどお返事をいただく直前に同じ話をやっと見つけたところでした。 https://lists.freebsd.org/pipermail/freebsd-stable/2012-May/067832.html > /etc/libmap32.conf でマッピングし直すか、 > ports/packages の chrpath を使って rpath を書き換えれば動くのではな > いでしょうか? > あと蛇足ですが、 32bit ライブラリの読み込みパスを指定するには > LD_32_LIBRARY_PATH を指定するのが正しいです。 > 今回の場合は rpath が優先されますので恐らく無意味でしょうけど・・・。 ずっと32bit版のみでしたのでLD_32_LIBRARY_PATHなんてのがあったのは今回 初めて知りました。 とりあえずいちばん簡単そうな LD_32_LIBRARY_PATH を試してみましたところ どうもうまくいってしまいました。 man ld.soによると LD_LIBRARY_PATH_RPATH にyY1のいずれかがセットされい る場合のみDT_RPATHをオーバライドするとあるので、動きが正しくないような 気はしますが、解釈の誤りでしょうか? ちなみに、 readelfからの抜粋では以下のようになっていました。 # readelf -d /usr/local/lib/perl5/site_perl/5.8.9/mach/auto/DBD/Pg/Pg.so Dynamic section at offset 0x2c824 contains 23 entries: Tag Type Name/Value 0x0000000f RPATH Library rpath: [/usr/local/lib] > なお、rpath 具体的な値は readelf -d <ファイル名> で確認してみてください。 これもありがとうございました。 --- すずき