LinuxカーネルとSVNバージョン間の競合の解決策

LinuxカーネルとSVNバージョン間の競合の解決策

現象

システムは Linux システムカーネルを正常にコンパイルできましたが、SVN をインストールした後、カーネルのコンパイルに失敗しました。

include/linux/version.h をチェックする
 CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h'は最新です。
 CALL スクリプト/checksyscalls.sh
 include/generated/compile.h をチェックする
gcc: ディレクトリ: そのようなファイルまたはディレクトリはありません
gcc: ディレクトリ": そのようなファイルまたはディレクトリはありません
<コマンドライン>:0: 警告: 終了文字 " がありません
gcc: ディレクトリ: そのようなファイルまたはディレクトリはありません
gcc: ディレクトリ": そのようなファイルまたはディレクトリはありません
<コマンドライン>:0: 警告: 終了文字 " がありません
gcc: ディレクトリ: そのようなファイルまたはディレクトリはありません
gcc: ディレクトリ": そのようなファイルまたはディレクトリはありません
<コマンドライン>:0: 警告: 終了文字 " がありません
 CC ドライバー/gpu/mali/mali/common/mali_kernel_core.o

arm-eabi-gcc: エラー: ": そのようなファイルまたはディレクトリはありません
make[4]: *** [drivers/gpu/mali/mali/common/mali_kernel_core.o] エラー1
make[3]: *** [drivers/gpu/mali/mali] エラー2
make[2]: *** [drivers/gpu/mali] エラー2
make[1]: *** [ドライバー/GPU] エラー2
make: *** [ドライバー] エラー 2
make: *** 未完了のタスクを待機しています....

原因分析

drivers/gpu/mali/ump/Makefile.common と drivers/gpu/mali/mali/Makefile に SVN_REV:=xxxx に関する記述があることがわかりました。通常、SVN_REV:= は空です。SVN バージョンを確認すると、SVN_REV:= に値があり、スクリプトが間違ったブランチに入る原因になります。

回避策

両方のファイルの SVN_REV 値を空の "" に割り当てるだけです。

ドライバー/gpu/mali/ump/Makefile.common:

 16 # Subversion リビジョン番号を取得します。svn 情報が利用できない場合は 0000 に戻ります。
 17 #SVN_REV:=$(shell ((svnversion | grep -qv exported && echo -n 'リビジョン: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^リビジョン: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^リビジョン: //')
 19 SVN_REV:=""

ドライバー/gpu/mali/mali/Makefile:

117 #SVN_REV := $(shell (cd $(DRIVER_DIR); (svnversion | grep -qv exported && svnversion) || git svn info | grep '^Revision: '| sed -e 's/ ^Revision: //' ) 2>/dev/null )
119 SVN_REV := ""

要約する

Linux カーネルと SVN バージョン間の競合の解決に関するこの記事はこれで終わりです。Linux カーネルと SVN バージョン間の競合の解決の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux システムに gcc と kernel-devel をインストールする方法
  • カーネルが提供するインターフェースを使用してプロセス番号(pid)を出力します。
  • Linuxカーネルで関数呼び出しスタックを出力する方法についての簡単な説明
  • Linuxカーネルで関数ポインタに対応する関数名を出力する方法
  • NEONを使用してカーネル状態のアルゴリズムを高速化する方法を学ぶ
  • Ubuntu の kvm コマンドラインで 64 ビット Ubuntu をインストールするときに発生する「Ubuntu ツリーの hvm カーネルが見つかりません。」という問題の分析
  • CentOS7 カーネル カーネル5.0 バージョンアップグレード
  • Linuxカーネルの浮動小数点演算のサポートに関する簡単な説明

<<:  Windows 7 での MySQL 8.0.18 の導入とインストールのチュートリアル

>>:  Vue 開発ツリー構造コンポーネント (コンポーネント再帰)

推薦する

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

VMware 仮想マシンで HTTP サービスを確立して分析する手順

1. xshell を使用して仮想マシンに接続するか、仮想マシンに直接コマンドを入力します。以下はx...

Baota LinuxパネルにFTP接続できない問題の解決方法の詳細な説明

Alibaba Cloud Server を使用している場合は、セキュリティ グループ設定でポート ...

ネイティブJSが様々なスポーツの均一な動きを実現

この記事では、ネイティブ JS で実装された均一なモーションを紹介します。その効果は次のとおりです。...

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

jsはポップアップウィンドウをクリックすることでポップアップログインボックスを実装します

この記事では、ポップアップウィンドウをクリックしたときにポップアップログインボックスを実現するための...

Vue.jsでタブ切り替えと色変更操作を実装する解説

この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...

JavaScript es6 の新しい配列メソッドの詳細な説明

目次1. 各() 2. arr.filter() 3. arr.every() 4. arr.map...

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

記事マインドマップマスター/スレーブ レプリケーションと読み取り/書き込み分離を使用する理由は何です...

VMware14 に CentOS 7 をインストールするグラフィック チュートリアル

CentOS の紹介CentOS は、Red Hat Linux が提供する無料で利用できるソースコ...

インスタンス化されたオブジェクトパラメータによるMySQLクエリ例の説明

この記事では、オブジェクト パラメータをインスタンス化して MySQL でデータをクエリする方法を紹...

Linux でコマンドまたはプロセスの実行時間を調べる方法

Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...

シェルスクリプトを使用したMySQLデータベースの自動バックアップ

シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...

jQueryは居住地を選択するためのドロップダウンボックスを実装します

居住地を選択するためのドロップダウンボックスをjQueryで実装するための具体的なコードは参考までに...

Linux での VMWare15.5 のインストールに関するチュートリアル

Linux に VMWare をインストールするには、公式 Web サイト https://www....