- ベストアンサー
C言語のバージョン違いのコンパイルについて
C言語で Solaris9のmakefile、ソースをそのまま利用し Solaris10上でコンパイル可能でしょうか? コンパイルした所、 -------------------------- aaa.mk:構文エラー 行 10: '(' unexpected -------------------------- というエラーが出ましたが、 Solaris10向けにmakefileを見直さないと行けないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> ところで、ちょっと間違えてコマンドしていました。makeコマンドを使わず。シェルのような形で呼んでました。今、 > make -f proc32.mk > gmake -f proc32.mk > とすると両方とも以下のエラーがでました。 > 「・・・/libclntsh.so is up to date」というエラーです。 別にエラーでも何でもないと思いますけど。 ターゲットである ・・・/libclntsh.so が既に存在し、かつ、ファイルのタイムスタンプから処理する必要がないので "up to date" と知らせてくれているだけです。 make コマンド実行後のリターンコードを確認すると、0 で正常終了していると思いますよ。 例) % make -f proc32.mk % echo $? ← リターンコードの表示 0 ← リターンコード
その他の回答 (2)
> aaa.mk:構文エラー 行 10: '(' unexpected 上記エラーメッセージだけでは判断できません。 該当箇所を公開しないと有効な回答を得るのは難しいでしょう。 それから、使用している make コマンドは GNU make(/usr/sfw/bin/gmake) ではない make(/usr/ccs/bin/make or /usr/xpg4/bin/make) ですか? それとも GNU make ですか?
補足
上記エラーは私の単純な間違えで出ていました。 今、gmake、makeの両方試してみましたが 「・・・/libclntsh.so is up to date」 というエラーが出ています。
- wildcat-yp
- ベストアンサー率37% (303/813)
makeは同じものですか? gnumakeとか使っていませんか? 環境ごとにMakefileを見直すことはほとんどありませんが、Makeコマンド自体が違えば動かないことは多々あります。 後は、ライブラリ等が違っていれば、当然ですがMakeエラーとなる可能性はありますが、これはそれ以前の問題のような気がします。 Sol9ではGnumakeを使用し、sol10ではcss/bin/makeを使用していませんか?
補足
Solaris9ではどのようなmakeを使っていたのか定かではありません。 (担当者が違うもので)。 後、makeファイル自体はあるのですが、どのようなコマンドでmakeしていたのかだ定かではありません。 ところで、ちょっと間違えてコマンドしていました。makeコマンドを使わず。シェルのような形で呼んでました。今、 make -f proc32.mk gmake -f proc32.mk とすると両方とも以下のエラーがでました。 「・・・/libclntsh.so is up to date」というエラーです。 一応、当初質問に書いてたエラーはクリアされました。
お礼
ご回答ありがとうございます。 リターンコードに関して、今はちょっと確認できません(実機が手元に無いもので) また、しばらく後に実行する機会がありますので、その時にまた試してみます。