Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0002666Vine Linux2 proposed-updates公開2013-10-12 02:082014-04-12 03:13
daisuke 
daisuke 
毎回 
完了実装済 
6.2 
6.26.2 
gcc, binutils
0002666: binutilsの挙動が変わったために暗黙の依存関係にあるライブラリを自動的にリンクしなくなった
たとえば ncurses -> tinfo といった暗黙の依存関係にあるライブラリを
自動的に ld がリンクしなくなったため、ビルドに失敗するパッケージ
が存在する。
具体的には binutils-2.20 では --add-needed 相だったデフォルトの挙動が、
binutils-2.22 で --no-add-neededに変更になっている。
たとえばncursesを使うプログラムをコンパイルするときに、

$ gcc -lncurses -o test test.c

では libtinfo がリンクできず、

$ gcc -lncurses -ltinfo -o test test.c

とする必要がある。
(binutils-2.20では自動的にtinfoをlinkしてくれる)
設定されていません。
関連 0002597完了 iwamoto binutils の更新 
課題の履歴
2013-10-12 02:08daisuke新規課題
2013-10-12 02:11daisukeコメント追加: 0008162
2013-10-12 02:11daisuke担当者 => daisuke
2013-10-12 02:11daisuke状態新規 => 担当者決定
2013-10-12 02:38daisukeコメント追加: 0008163
2013-10-12 02:38daisuke状態担当者決定 => テスト待ち
2013-10-12 17:55iwamotoコメント追加: 0008164
2013-10-12 17:56iwamotoコメント編集: 0008164bug_revision_view_page.php?bugnote_id=8164#r341
2013-10-17 23:29iwamoto関連追加関連 0002597
2014-04-12 03:13iwamotoコメント追加: 0008674
2014-04-12 03:13iwamoto状態テスト待ち => 完了
2014-04-12 03:13iwamoto解決状況不明 => 実装済
2014-04-12 03:13iwamoto修正済バージョン => 6.2
2014-04-12 03:13iwamoto修正予定バージョン => 6.2

コメント
(0008162)
daisuke   
2013-10-12 02:11   
ld 呼び出し時に --add-needed をつけて、これまでの挙動と同じにするパッチを
gcc に追加することで対応します。これにより暗黙の依存関係にあるライブラリを
明示的に指定する必要はなくなります。

ただし、VineSeed ではすでに挙動は変更になっているため、同様な問題にあたる
共通のパッケージは明示的に指定するように修正しておくほうが望ましい。
(ncurusesはすでにSeedで対応済)
(0008163)
daisuke   
2013-10-12 02:38   
gcc-4.4.5-6.1vl6 一式を proposed-updates に投入しました。
vine-users ML で報告のあった self-build-lame もそのままで問題なく
build&installされることを確認しました。
(0008164)
iwamoto   
2013-10-12 17:55   
(更新日時: 2013-10-12 17:56)
gcc-4.4.5-6.1vl6 @x86_64 を入れて、
build に失敗していた proftpd が
build 出来るようになるのを確認しました。

(0008674)
iwamoto   
2014-04-12 03:13   
gcc-4.4.5-6.1vl6 が Vine 6.2 に入っています。
完了にします。