web-dev-qa-db-ja.com

Ubuntuでバイナリを実行できません

私はこれを求めているとは信じられません...明らかに私は今日珍しい形になっています。

新しいUbuntuマシンをセットアップしようとして、「p4」(Perforceコマンドラインクライアント)をダウンロードしました。これは単一ファイルのダウンロードであり、静的にリンクされたバイナリ実行可能ファイルなので、次のようにしました。

wget http://www.perforce.com/downloads/perforce/r09.2/bin.linux26x86/p4

.../usr/binに直接。十分に単純です。例外:

root@aj-ubuntu:/usr/bin# ll p4 
-rwxr-xr-x 1 root root 748808 2010-02-11 16:54 p4
root@aj-ubuntu:/usr/bin# ./p4 
-su: ./p4: No such file or directory
root@aj-ubuntu:/usr/bin# /usr/bin/p4 
-su: /usr/bin/p4: No such file or directory

ここで何が起こっているのか...?!

あなたの嘲笑を前もってありがとう:)

-aj

4
AJ.

OK、私はあなたのURL(800KB未満)からファイルを取得し、これを試しました(便利なCygwinターミナルから)。

$ファイルp4
p4:ELF 32ビットLSB実行可能ファイル、Intel 80386、バージョン1(SYSV)、GNU/Linux 2.2.5用、動的リンク(共有ライブラリを使用)、削除

しかし、あなたはそれが静的にリンクされていることを期待しています、なぜですか?


更新:念のため、32ビットUbuntuを実行していることを確認してください。
64ビットシステムを実行している場合は、おそらく 'ia32-libs' パッケージ。

4
nik

これは、実行可能ファイルが有効でない場合に発生します。別のアーキテクチャまたは別のカーネルの場合があります。または、破損したELFヘッダーだけです。

1
visudo

chmod + x/usr/bin/p4

1
Quandary

readelf -a /usr/bin/p4 | grep interpreterが指すインタプリタがおそらく欠落しています。他のコメント提供者が指摘しているように、おそらくいくつかの互換パッケージで出荷されています。

1
al.

file ./p4を試して、その内容を確認してください。実行するための適切なライブラリがインストールされていない可能性があります(したがって、バイナリをまったくロードできません-適切なdllがない場合、Windowsでも同じ問題が発生します)

1
gbjbaanb

行う ls -lb p4*ファイル名に漂遊文字が含まれていないかどうかを確認します。

静的実行可能ファイルはライブラリに依存しません...互換性のあるカーネル、つまり、構築されたものと同じシステムコールを持つカーネルが必要です。

p4はPERFORCEクライアントであり、あなたのクライアントは10年前にカーネルv2.2.5に対して構築されています...

それは(長い間サポートされていない)後の2.2カーネルで動作します。

(サポートされていない月から)2.4カーネルで動作する可能性があります。

2.6および3.xカーネルでは動作しません(引き続きサポートされます)

2.6クライアント用のバージョンを作成します http://www.perforce.com/downloads/complete_list ニーズに合わせて利用できます。

0
ZaB