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 開発ツリー構造コンポーネント (コンポーネント再帰)

推薦する

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

ページ切り替え効果を作成するための純粋な CSS3 のサンプルコード

前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...

EasyUEFI を使用して Windows 10 で USB ドライブなしで Ubuntu 18 をインストールする

1. BIOSを確認するまず、コンピュータの起動モードを確認します。win+R と入力し、msinf...

Dockerコンテナのインポ​​ートとエクスポートに関するチュートリアル

背景Docker の人気は、コンテナの共有と移植が容易であることと密接に関係しています。ユーザーは、...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

Vue で親コンポーネントから子コンポーネントにデータを渡すいくつかの方法

最近、Vue のソースコードを勉強していて、Vue で親コンポーネントと子コンポーネント間でデータを...

Ubuntu システムにおけるネットワーク構成ファイルの分析と説明

今日は奇妙なネットワーク問題に遭遇しました。調査プロセスといくつかの構成状況を記録し、Linux で...

Vueナンバープレート入力コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

TLS暗号化通信を使用してDockerにリモート接続する詳細な例

デフォルトでは、Docker はネットワーク化されていない UNIX ソケット上で実行されます。オプ...

Docker ベースのよく使われる CentOS7 イメージの概要

目次1 Dockerをインストールする2 国内ミラーソースの設定3 中国語環境基本版Centos7イ...

MySQLのインデックス

序文早速本題に入りましょう。これからお話しするのは次のマインドマップです。まずは印象をつかんでくださ...

Ubuntu インストール時にブラックスクリーンが表示される場合の解決策 (3 種類)

私のコンピューターのグラフィック カードは Nvidia グラフィック カードです。再起動後、画面に...

vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...