2

ここからLinux3.7カーネル用のmaliドライバーをビルドしようとしています。

次のような別のビルドスクリプトがあります。

#!/bin/bash
export KDIR=/path/to/kernel/dir/
..
..
gcc -v//Just for testing purpose printing gcc version
make
gcc -v
... 

実際のホストマシンには2.6カーネルがありますが、Linux3.7makeカーネルを使用するように指示しています。上記のmakeは、maliドライバーのmakefileのMakefileを呼び出します。

make上記のスクリプトの場合、gccバージョンはコマンドの前後で正しく出力されますmakeが、カーネルディレクトリに入力すると、gccは認識されません。

gcc :ディレクトリ:そのようなファイルやディレクトリはありません

arm-gccにも同じことが起こります。何か推測?

編集:(出力する)

make ARCH=arm -C /home/work/linux3.7/ M=/home/work/mali/driver/src/devicedrv/mali modules

make[1] : Entering directory `/home/work/linux3.7/`
gcc : directory : No such file or directory
gcc : directory" : No such file or directory 
<command-line>: warning: missing terminating " character
gcc : directory : No such file or directory
gcc : directory" : No such file or directory 
<command-line>: warning: missing terminating " character
gcc : directory : No such file or directory
gcc : directory" : No such file or directory 
<command-line>: warning: missing terminating " character
gcc : directory : No such file or directory
gcc : directory" : No such file or directory 
<command-line>: warning: missing terminating " character
CC [M]  /home/work/mali/driver/src/devicedrv/mali/common/mali_kernel_core.o
.arm-none-linux-gnueabi-gcc: directory:No such file or directory 
.arm-none-linux-gnueabi-gcc: directory":No such file or directory

make[2] : Leaving directory `/home/work/linux3.7/`
4

3 に答える 3

4

問題はdrivers/gpu / vithar / ump / src / devicedrv/Makefile.commonにあります。vithar SDKがSVNからプルされており、有効なSVNリビジョンがあることを前提としています(そうではありません)。

2つのオプションがあります:1)svnversionの呼び出しをスキップするには、上記のファイルを編集します。

- SVN_REV:=$(shell ((svnversion | grep -qv exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev$
+ SVN_REV=0

2)コマンドラインを作成するために追加します。

SVN_REV=0
于 2014-02-07T22:20:54.117 に答える
3

gcc 認識され、検出され、実行されますエラー「gcc:ディレクトリ:そのようなファイルまたはディレクトリはありません」はgccそれ自体で発生します。

何らかの理由で、存在しないgcc「ディレクトリ」(つまり、「ディレクトリ」と呼ばれるオブジェクト)にアクセスしようとしています。

おそらく、間違った拡張または予期しない環境変数です。

適切なコマンドを確認してみてMakefileくださいmake

たとえば、次のようなコマンドを発行した場合

KDIR="/usr/Linux Kernel directory" CONFIG=pb-virtex5 BUILD=release make

KDIRシステムが誤って解釈し、存在しない2つのオブジェクト「カーネル」と「ディレクトリ」、および余分な引用符が導入されるリスクがあります。そのような可能性はあなたが観察する症状を説明するかもしれません。したがって、パスの余分なスペースは間違いなくチェックする価値があります。

于 2013-01-11T12:00:08.897 に答える
0

タイプミスをしました。あなたが欲しい

  echo $(gcc -v)

しかし実際には、そのコーディングのために

  gcc -v

十分です。

gccに正しくインストールされていることを確認する必要があります$PATH。確認するwhich gcc

補遺

Makefile自分が間違っていると思われる場合は、 remakeを使用してデバッグしてください。多くの場合、remake -xターミナルで実行するだけで、何が起こっているのかを理解できます。

おそらくあなたはいくつかの奇妙な議論をgcc?またはいくつか間違ってい#includeますか?

于 2013-01-11T11:53:55.460 に答える