CentOS 4.3でperl 5.6.0をコンパイルする
なんでまた、と俺も思うけどしゃーないので。
make: *** No rule to make target `<built-in>', needed by `miniperlmain.o'. Stop.
こんなエラーが出てとまる。
見ると、Makefileから呼ばれるmakefileってなファイルに
av$(OBJ_EXT): <built-in> av$(OBJ_EXT): <command line>
こんな感じで、依存関係として定義されてる。そりゃmakeも知らんと言うわいな。
このファイルを作る元になるのが makedepend.SH というやつで、ソースをのぞくと
$sed \ -e '1d' \ -e '/^#.*<stdin>/d' \ -e '/^#.*"-"/d' \ -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \ -e 's/^[ ]*#[ ]*line/#/' \ -e '/^# *[0-9][0-9]* *[".\/]/!d' \ -e 's/^.*"\(.*\)".*$/'$filebase'\$(OBJ_EXT): \1/' \ -e 's/^# *[0-9][0-9]* \(.*\)$/'$filebase'\$(OBJ_EXT): \1/' \ -e 's|: \./|: |' \ -e 's|\.c\.c|.c|' $uwinfix | \ $uniq | $sort | $uniq >> .deptmp
こういう感じでリスト作ってた。(雰囲気だけわかりゃ良いんです)
よく見ると、
--- makedepend.SH.original 2000-03-03 03:12:26.000000000 +0900 +++ makedepend.SH 2006-10-11 12:43:10.000000000 +0900 @@ -137,6 +137,8 @@ $sed \ -e '1d' \ -e '/^#.*<stdin>/d' \ + -e '/^#.*<built-in>/d' \ + -e '/^#.*<command line>/d' \ -e '/^#.*"-"/d' \ -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \ -e 's/^[ ]*#[ ]*line/#/' \
こういう変更を加えて、最初からやり直し。makefileにおかしな依存関係として出てこなくなったし、無事コンパイルできましたとさ。
おしまい。