LoginSignup
2
2

More than 3 years have passed since last update.

i386.rpm is for architecture i386 ; the package cannot be built on this systemとなったときの対応方法

Last updated at Posted at 2020-03-06
  • 環境
    • EC2インスタンス : Ubuntu Server 18.04 LTS(64 ビット x86)
    • Alien version 8.95

事象 : rpmパッケージをdebパッケージに変換したくてAlienコマンドを使ったら怒られた

$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm 
oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm is for architecture i386 ; the package cannot be built on this system

原因 : 32bit用のrpmを64bitの環境で変換しているから

i386.rpmってなっているのは32bit用らしい。へーーーー。

# ビット数を確認してみる
$ getconf LONG_BIT
64

対応方法1 : tgzパッケージに変換してからdebパッケージに変換する

# tgzパッケージに変換してから
$ sudo alien -ct oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm 
oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz generated
# debパッケージに変換する
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz 
2-basiclite_12.2.0.1.0-2_all.deb generated
# できた
$ ls -la | grep basiclite
-rw-r--r--  1 root root 20911000 Mar  6 13:53 2-basiclite_12.2.0.1.0-2_all.deb
-rw-rw-r--  1 root root 22974764 Mar  6 12:38 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
-rw-r--r--  1 root root 28482082 Mar  6 13:36 oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz

対応方法2 : 64bit用のrpmをとってくる

なぜかうっかり32bit用をとってくるのか・・・自分が憎い。
今回は、Oracle Clientのrpmなので、
Instant Client for Linux x86 (32-bit)ではなく
Instant Client for Linux x86-64 (64-bit) | Oracle 日本からrpmパッケージをダウンロードしてくればエラーにはならない。

$ ls -la | grep rpm
-rw-rw-r--  1 root root 26731248 Mar  6 21:42 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm 
oracle-instantclient12.2-basiclite_12.2.0.1.0-2_amd64.deb generated

対応方法3 : (未実施)ファイルを書き換える

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2