清野です.
皆さんのお知恵を拝借させて下さい…
PAE 有効のカスタムカーネルを作成する為,コンパイルの通らないモジュールを
外して buildkernel を実行しています.
ただ,WITHOUT_MODULES を指定しても上手く行ってくれません.
# 回避方法はあるので,それで逃げている状態です.
kernel config に,以下の通り makeoptions で設定しています.
makeoptions WITHOUT_MODULES="aha ahb amd dpt hptmv ida malo mwl nve
sound/driver/emu10k1 sound/driver/emu10kx sym trm"
sys/conf/kern.pre.mk にも次の行を追加しています.
.if defined(WITHOUT_MODULES)
MKMODULESENV+= WITHOUT_MODULES="${WITHOUT_MODULES}"
.endif
これで殆どのモジュールは指定どおり外れてくれていますが,
sound/driver/emu10k1, emu10kx は WITHOUT_MODULES の指定を越えて
コンパイルを行おうとして以下の様に失敗してしまいます.
===> sound/driver/emu10k1 (all)
cc -O2 -fno-strict-aliasing -pipe -march=pentium4 -Werror -D_KERNEL
-DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/src/sys/KATSURAGI/opt_global.h -I. -I@ -I@/contrib/altq
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000 -fno-common -g -I/usr/obj/usr/src/sys/KATSURAGI
-mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow
-mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -std=iso9899:1999
-fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef
-Wno-pointer-sign -fformat-extensions -c
/usr/src/sys/modules/sound/driver/emu10k1/../../../../dev/sound/pci/emu10k1.c
cc1: warnings being treated as errors
/usr/src/sys/modules/sound/driver/emu10k1/../../../../dev/sound/pci/emu10k1.c:
In function 'emu_memalloc':
/usr/src/sys/modules/sound/driver/emu10k1/../../../../dev/sound/pci/emu10k1.c:1299:
warning: cast to pointer from integer of different size
*** Error code 1
1 error
*** Error code 2
1 error
sys/modules/sound/driver/Makefile を編集し emu10k1 と emu10kx を
削除する事で回避は出来るのですが,ソースツリーを他と使いまわしている為,
この対応はなるべくやりたくありません.
皆さんこの様な場合にどういった対応を行っているのでしょうか?
--
<!-------------- Start Signature ---------------
Name : Hiroyuki Seino <[email protected]>
Web : http://www.seichan.org/
---------------- End Signature ---------------!>