linux-source-2.6.31でmandocsがmakeできない

カーネル周りに手を出すことになったので、とりあえずセクション9のmanをインストールしようとしたのですが、make mandocsの段階でエラーが出てしまい、makeすることができませんでした。

使用したのは以下のバージョンです。

  • linux-source-2.6.31

ソースディレクトリでmake mandocsを実行すると、以下のようなメッセージが出てしまい、makeすることができません。

hiro@machine:/usr/src/linux-source-2.6.31# make mandocs
DOCPROC Documentation/DocBook/scsi.xml
Error(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:503): cannot understand prototype: 'atomic_t fc_event_seq; '
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3463): No description found for parameter 'rq'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3463): Excess function parameter 'req' description in 'fc_bsg_softirq_done'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3620): No description found for parameter 'q'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3728): No description found for parameter 'q'
make[1]: *** [Documentation/DocBook/scsi.xml] エラー 1
make: *** [mandocs] エラー 2

上記現象について検索したところ、どうやらdrivers/scsi/scsi_transport_fc.cが原因のようです。
このファイルの499行目の部分を、

/**
* Netlink Infrastructure
*/

下のように変更すると解決するようです。

/*
* Netlink Infrastructure
*/

実際に変更してみたところ、make mandocsでエラーが出なくなりました。

hiro@machine:/usr/src/linux-source-2.6.31# make mandocs
DOCPROC Documentation/DocBook/scsi.xml
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3463): No description found for parameter 'rq'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3463): Excess function parameter 'req' description in 'fc_bsg_softirq_done'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3620): No description found for parameter 'q'
Warning(/usr/src/linux-source-2.6.31//drivers/scsi/scsi_transport_fc.c:3728): No description found for parameter 'q'
MAN     Documentation/DocBook/scsi.9
Warn: AUTHOR sect.: no personblurb|contrib for James Bottomley
Note: AUTHOR sect.: see see http://docbook.sf.net/el/contrib

無事にmake mandocsが成功したので、make installmandocsを実行し、セクション9のmanをインストールすることができました。

hiro@machine:/usr/src/linux-source-2.6.31# make installmandocs
mkdir -p /usr/local/man/man9/
install Documentation/DocBook/man/*.9.gz /usr/local/man/man9/

めでたし、めでたし:)

参考URL:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/517735

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*