オペレーティングシステム:Oracle Solaris 11.3.1.5.2、CPUアーキテクチャ:X86
最近Squidをインストールしました。
$ pkg install squid
これはスムーズに行われます。
root@darwin1:~# pkg info squid
Name: web/proxy/squid
Summary: Squid Web Proxy Cache
Description: Squid is a caching proxy for the Web supporting HTTP, HTTPS,
FTP, and more.
Category: Web Services/Application and Web Servers
State: Installed
Publisher: solaris
Version: 3.5.5
Build Release: 5.11
Branch: 0.175.3.0.0.30.0
Packaging Date: Fri Aug 21 17:30:06 2015
Size: 51.84 MB
FMRI: pkg://solaris/web/proxy/[email protected],5.11-0.175.3.0.0.30.0:20150821T173006Z
しかし、イカをプレイすることはできません。
root@darwin1:~# /usr/squid/sbin/squid -h
Illegal Instruction (core dumped)
コマンドはfile
以下を提供します。
root@darwin1:~# file /usr/squid/sbin/squid
/usr/squid/sbin/squid: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped
私はローカル(非カーネル)領域内にいます。それは重要ではありません、そうですか?
なぜコアダンプですか?
ベストアンサー1
申し訳ありません。私が直接答えを見つけたようです。http://wiki.squid-cache.org/KnowledgeBase/IllegalInstructionError。
(引用開始)
Squid 3.4の誤ったコマンドエラー
概要 Squid 3.4 以降、一部の環境で実行半仮想化システム完全な仮想化(少なくともこれまでKVM、Xen、およびXen派生製品が識別されている)を主張するいくつかの主張でさえ、起動直後に違法コマンドエラーが原因で競合が発生します。
兆候
Intel互換プロセッサの仮想マシンを起動した直後に、Squidが誤ったコマンドエラーによってクラッシュする
説明する
Squidビルドシステムは
-march=native
デフォルトでgccオプションを使用して生成されたバイナリを最適化します。残念ながら、いくつかの(半)仮想化システムは、彼らが宣伝する完全な命令セットをサポートしていません。コンパイラはそれを知らず、このエラーをトリガするコマンドを生成します。解決策
これらの最適化は役立ちますが、特にia64 / amd64プラットフォームでSquidが完全に機能するために必ずしも必要ではありません。
--disable-arch-native
検出されたデフォルト値は、設定スクリプトにオプションを提供することで無視できます。
(引用終了)
私たちはSolarisを実行していますVMware ESXi 6.0の内部。だからこんな感じです。
他の人もこの問題に遭遇するので、私の質問は削除しません。