カーネル周りに手を出すことになったので、とりあえずセクション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