1

Linux/arm 用の Go アプリをコンパイルしようとしていますが、Ubuntu マシンで問題が発生し続けています。ソースディレクトリで実行するGOOS=linux GOARCH=arm go buildと、次のバリエーションである大量のエラーが発生します。

# github.com/huin/mqtt

gccgo: エラー: コマンド ライン オプション `-marm` を認識できません

実行gccgo --helpすると、-g、-f -m (およびその他) で始まるオプションが gccgo によって開始されたすべてのサブプロセスに渡されることが通知されるため、どのプロセスに -marm を送信しているのかわかりません。

手がかりはありますか?Ubuntu 14.10 LTS、64 ビット

4

1 に答える 1

0

ディーンの手がかりのおかげで、私は問題を解決して解決しました。

この問題は、apt-get 経由で Go をインストールしてから (apt-get 経由で) 削除し、golang Web サイトから Go をインストールしたことが原因でした。-marm最初のインストールから残ったファイルがまだありました。これはおそらく古いバージョンであり、フラグをサポートしていませんでした。

とにかく開発マシンをワイプするつもりだったので、Ubuntuを再度インストールし、WebサイトからGoをインストールし(apt-get経由ではなく)、すべてが初めて機能しました。マシンをワイプしたくない場合は、バージョンの競合がないかどうかを確認してください。

私は以前にこの種のことに悩まされていました(apt-getを介してnode.jsをインストールするとき、それが多くのバージョンが古くなっていることに気づき、ソースを介してnode.jsを削除してインストールするとき)、誰かがこれを読んでいるなら、apt-get 経由でソフトウェアをインストールしてからアップグレードする場合は注意してください。私と同じようなバージョンの問題が発生する可能性があります。

于 2015-01-09T11:23:35.147 に答える