過去に usr.bin/ktrace/ktrace/ というディレクトリが
存在したので cvs はいったんそのディレクトリを作ろうとするが、
usr.bin/ktrace/ktrace というバイナリが残っていると
それと同じ名前のディレクトリを作ることができないので失敗する。
MKOBJDIRS=yes していればバイナリは make obj で作られる
各ディレクトリの obj 以下に作られるので cvs はそれらの
バイナリの影響は受けず、うまくいく。
build.sh のデフォルトは MKOBJDIRS=yes だから
素直にbuild.sh 使った方がいいと思うよ。
蛇足だが OBJMACHINE=yes も指定するとバイナリの入るディレクトリが
obj.${MACHINE} になるのでいろんな port を同じソースツリーで
build できる。

……って、どこかに説明なかったっけ?