Ubuntu Desktop 22.04にbuild-essentialをインストールする!

Ubuntu Desktop 22.04にbuild-essentialをインストールします。

aptコマンドでbuild-essentialをインストールする!

aptコマンドでbuild-essentialをインストールします。

$ sudo apt install build-essential

パッケージの依存関係のエラーが発生する場合は・・・

build-essentialは以下のように、パッケージの依存関係のエラーが発生して、インストールできないことが多々あります。

$ sudo apt install build-essential 
[sudo] password for usradmin: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installed
E: Unable to correct problems, you have held broken packages.

この場合、依存関係の解消方法として、パッケージのダウングレードが有効なことが多いです。今回の例として、libc6をダウングレードします。

$ sudo apt install libc6=2.35-0ubuntu3
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  glibc-doc
Recommended packages:
  libnss-nis libnss-nisplus
The following packages will be REMOVED:
  libc6-dbg
The following packages will be DOWNGRADED:
  libc6
0 upgraded, 0 newly installed, 1 downgraded, 1 to remove and 5 not upgraded.
Need to get 3,235 kB of archives.
After this operation, 18.7 MB disk space will be freed.
Do you want to continue? [Y/n] 
Get:1 http://jp.archive.ubuntu.com/ubuntu jammy/main amd64 libc6 amd64 2.35-0ubuntu3 [3,235 kB]
Fetched 3,235 kB in 4s (773 kB/s)  
Preconfiguring packages ...
(Reading database ... 206356 files and directories currently installed.)
Removing libc6-dbg:amd64 (2.35-0ubuntu3.1) ...
dpkg: warning: downgrading libc6:amd64 from 2.35-0ubuntu3.1 to 2.35-0ubuntu3
(Reading database ... 205885 files and directories currently installed.)
Preparing to unpack .../libc6_2.35-0ubuntu3_amd64.deb ...
Unpacking libc6:amd64 (2.35-0ubuntu3) over (2.35-0ubuntu3.1) ...
Setting up libc6:amd64 (2.35-0ubuntu3) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...

再度、インストールを試みます。

$ sudo apt install build-essential

おわりに

build-essentialのインストールでは、パッケージの依存関係のエラーが発生する場合が多いです。粘り強く、依存関係の解消を図ってインストールを行います。