2012年6月27日

[debian-users:56238] Re: パッケージ「libunicap2」「libunicap2-dev」に含まれる共有ライブラリについて

岩松さん

> 具体的にどのファイルが共有ライブラリなのか指摘して頂けますか。
> もし、坂本さんが *.a や *.la を共有ライブラリとして認識していたのなら
話は違ってきますが。

「libdcam.soは libdcam.so.0.0.0へのシンボリックリンク」というのを見落と
してました。apt-fileしか使ってなかったので、ファイルがパッケージに含まれ

ていることは確認していても、それがシンボリックリンクかどうかは確認してい
ませんでした。dpkg-debを併用したところ、岩松さんのおっしゃるとおりのこと
がわかりました。勘違いの訂正も含め、いろいろとありがとうございました。


坂本 貴史
o-takashi@xxxxx

(2012年06月26日 07:44), Nobuhiro Iwamatsu wrote:
> こんにちは、岩松です。
>
> 2012年6月25日 22:19 Takashi Sakamoto <o-takashi@xxxxx>:
>> 岩松さん
>>
>> 私が懸念していたことが現在のパッケージでは解決していることを確認しました。
>> (/usr/lib/unicap2/cpi/以下のsoがlibunicap2で提供されるようになった)
>>
>>> ちなみに、
>>>> 1. パッケージ「libunicap2-dev」が共有ライブラリを含む
>>> という指摘は坂本さんの誤解でそのようなことはパッケージではしていません。
>>
>> この点も含め、会場で何点かお互いの話に食い違いがあったのが気になったので
>> すが、実はこの週末にsidのパッケージが3回アップデートされていました。私は
>> 水曜日時点のパッケージ(0.9.5-1.3)をベースに、おそらくみなさんはアップ
>> デートされたパッケージ(0.9.5-1.4か0.9.12-1か0.9.12-2)をベースに話をし
>> ていたのかなと推察します。
>
> いいえ、libunicap2-dev 0.9.5-1.3 でも共有ライブラリは提供されていません。
> そして私が確認したのも0.9.5-1.3です。
> libunicap2-dev (0.9.5-1.3)で提供されるライブラリの構成は以下のようになります。
>
> `-- usr
> |-- include
> | `-- unicap
> | |-- unicap.h
> | |-- unicap_status.h
> | `-- unicap_version.h
> |-- lib
> |-- libunicap.a
> |-- libunicap.la
> |-- libunicap.so -> libunicap.so.2.1.8
> |-- pkgconfig
> | `-- libunicap.pc
> `-- unicap2
> `-- cpi
> |-- libdcam.a
> |-- libdcam.la
> |-- libdcam.so -> libdcam.so.0.0.0
> |-- libv4l.a
> |-- libv4l.la
> |-- libv4l.so -> libv4l.so.0.0.0
> |-- libv4l2cpi.a
> |-- libv4l2cpi.la
> |-- libv4l2cpi.so -> libv4l2cpi.so.0.0.0
> |-- libvid21394.a
> |-- libvid21394.la
> `-- libvid21394.so -> libvid21394.so.0.0.0
>
> いくつかのファイルが提供されていますが、例えば libdcam.soは libdcam.so.0.0.0
> へのシンボリックリンクです。ほかのファイルも同様です。
> 具体的にどのファイルが共有ライブラリなのか指摘して頂けますか。
> もし、坂本さんが *.a や *.la を共有ライブラリとして認識していたのなら話は違ってきますが。
>
> 岩松
>
>>
>> 確認したところ、UbuntuのQuantalのパッケージも同様に更新されましたので、
>> この件は解決です。
>> どうもありがとうございます。
>>
>>
>> 坂本 貴史
>> o-takashi@xxxxx
>>
>> (2012年06月25日 09:29), Nobuhiro Iwamatsu wrote:
>>> こんにちは。岩松です。
>>>
>>> この件に関して、先日行われた大統一Debian勉強会で坂本さんと他の方でちょっとだけ会話をしました。
>>> そして、現在はunstable/unicap 0.9.12-2 で修正されています。
>>>
>>> 原因は 会場で坂本さんが言っていたdlopen、アップストリームのプラグイン提供方式、
>>> Debianパッケージのパッケージングになります。
>>>
>>> unicap はライブラリ(unicap のハードウェアプラグイン)を dlopen で読み込んでいるのですが、
>>> -dev パッケージがインストールされていない場合、 libdcam.so.0.0.0 が存在するだけになるので、
>>> プラグインの読み込みに失敗します。
>>> しかし、-dev パッケージがインストールされると、 libdcam.so から libdcam.so.0.0.0
>>> へのシンボリックリンクが作成され、 プラグインの読み込まれるようになります。ようするに、
>>> *.so を見ているので読み込めなかったという事です。
>>> 最新のDebianパッケージでは、*.a のみを提供するように変更されています。
>>>
>>> ちなみに、
>>>> 1. パッケージ「libunicap2-dev」が共有ライブラリを含む
>>> という指摘は坂本さんの誤解でそのようなことはパッケージではしていません。
>>>
>>> 以上、よろしくお願いします。
>>>
>>> 岩松
>>>
>>> 2012年6月21日 0:20 Takashi Sakamoto <o-takashi@xxxxx>:
>>>> みなさま初めまして。坂本と申します。
>>>>
>>>> この場でこう言うのも心苦しいのですが、普段はUbuntuを使っています。挙動が
>>>> ちょっと気になるパッケージがあったので状況を調べてバグ報告を考えていたと
>>>> ころ、Ubuntuのメンバーからdebianのsidにバグ報告したほうがよいとのアドバ
>>>> イスを受けました。わたし自身はdebianへのバグ報告は初めてなので、debian-
>>>> jpのみなさんに教えていただければと思い、投稿しました。
>>>>
>>>> どういうバグ(と思われること)かと言うと、以下の2つです。
>>>> 1. パッケージ「libunicap2-dev」が共有ライブラリを含む
>>>> 2. パッケージ「libunicap2」に含まれる共有ライブラリが、上記共有ライブラ
>>>> リを使う場合がある
>>>> 3. 結果、「libunicap2-dev」がインストールされていなければ機能制限が出る
>>>> バイナリを含むパッケージがある(わたしの確認した限りLiVESがこれにあたり
>>>> ます)
>>>>
>>>> なお、この現象はUbuntu 12.04のi686/amd64両方で再現しています。
>>>>
>>>> 以下にこの問題を再現するためのサンプルプログラムを投稿しました。
>>>> [ubuntu-jp:4165] すでにビルドされているバイナリーの挙動が、ライブラリの
>>>> 開発用パッケージのありなしで変わる問題
>>>> https://lists.ubuntu.com/archives/ubuntu-jp/2012-June/004164.html
>>>>
>>>> もし「libunicap2-dev」に共有ライブラリが含まれるのが当然なのであれば、そ
>>>> の旨がcontrolファイルのDescriptionフィールドに書かれていたほうが良いよう
>>>> に思いますが、現状は「This package contains the development headers and
>>>> static libraries for unicap.」とあり、共有ライブラリに関する言及はありま
>>>> せん。
>>>>
>>>> 目的は、「開発用パッケージに共有ライブラリが含まれていて、かつそれに関す
>>>> る記述がcontrolにない」というタイトルでdebianにバグ報告をすることです
>>>> が、そもそもこれがバグにあたるのかどうか、私自身がパッケージングや開発環
>>>> 境に詳しくないので判断しかねているところです。
>>>>
>>>> みなさんにお力添えいただけると嬉しいです。どうぞよろしくお願いします。
>>>>
>>>>
>>>> 坂本 貴史
>>>> o-takashi@xxxxx


投稿者 xml-rpc : 2012年6月27日 00:17
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/111094
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。