web-dev-qa-db-ja.com

gcc-4.3をインストールするにはどうすればよいですか?

Oneiricにgcc-4.3をインストールする簡単な方法はありますか? matlabはmexファイルの作成をiに依存しているため、本当に必要です。

Gcc-4.3をインストールするために、すべてのresopistoriesをMaverickに戻そうとしましたが、このエラーが表示されます。

refl_v0p8_linux_and_windows % Sudo apt-get install gcc-4.3-multilib libstdc++6-4.3-        dev
Reading package lists... Done
Building dependency tree       
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:
 gcc-4.3-multilib : Depends: gcc-4.3 (= 4.3.5-3ubuntu1) but it is not going to be     installed
                Depends: libc6-dev-i386 (>= 2.5) but it is not going to be installed
 libstdc++6-4.3-dev : Depends: g++-4.3 (= 4.3.5-3ubuntu1) but it is not going to be         installed
    E: Broken packages
5
Martin Hansen

Gcc-4.3を使用する必要はありません。もちろん、mexファイルの作成中に常に警告メッセージが表示されます:

警告:gccバージョン "4.6.x.x)"を使用しています。 MEXで現在サポートされているバージョンは「4.3.4」です。現在サポートされているコンパイラのリストについては、以下を参照してください: http://www.mathworks.com/support/compilers/current_release/

しかしこれは警告です-MEX関数はまだコンパイルされます!!!

変更する必要があるのは、libc.so.6ライブラリの新しいリンクだけです( http://morganbye.net/blog/2011/10/matlab-ubuntu-111 を参照)

64ビットの場合:古いリンクを削除します

Sudo rm /lib64/libc.so.6

(古いリンクを削除するときは注意してください。Linuxが起動することは不可欠です。したがって、リンクを新しいバージョンに置き換える前に再起動する場合は、ライブディスクを掘り当てる時間になります。 「cp」libc.so.6を先にlibc.so.6.backupのようなものにコピーします。

新しいリンクに置き換える

Sudo ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

32ビットの場合:(x64システムのみを実行しているため、これをテストしていませんが、コメントからは動作するはずです)

古いリンクを削除する(このコマンドにも注意してください)

Sudo rm /lib32/libc.so.6

新しいリンクに置き換える

Sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

もちろん、これが新規のUbu​​ntuインストールである場合、おそらくrm(削除)コマンドは必要ないでしょう。

1

1)sources.listファイルを編集します。

Sudo gedit /etc/apt/sources.list

次の行を追加します。

deb http://mirror.pnl.gov/ubuntu/ hardy-updates main universe

ミラーサイトの完全なリストはここにあります

ファイルを保存して閉じます

2)ログインをログアウトする

3)Synapticを開きます。左側のソースリストにmirror.pnl.gov/ubuntu/ hardy-updates main universeが表示されない場合は、Reloadをクリックします。

4)左の列からmirror.pnl.gov/ubuntu/ hardy-updates main universeを選択します-パッケージのリストが表示されます。

5)リストからg77を選択し、インストールのマークを付けて適用します。 g77がインストールされ、使用できる状態になりました。

1
Kaustubh

考えられる回避策:(MATLABではなく、GCC-4.ではなく)

from: http://xcorr.net/2010/05/07/getting-gcc-to-work-with-matlab-r2009b-on-linux-ubuntu-karmic-to-compile-mex-files/

(要約)

ステップ1:

mATLABの場合、Sudomex -setupを実行し、(最新の)GCCコンパイラーを選択します。

ステップ2:

Sudo gedit ~/.matlab/R2009b/mexopts.sh

CC = ’gcc’のすべてのインスタンスをCC = ’gcc-4.6′に置き換えます

(オプション)-ansi-std = c99に置き換えて、C++スタイルの//コメントを使用できるようにします。

注:後で再実行する場合mex -setup、これはmexopts.shファイルを上書きします。

0
david6

依存関係が壊れています。あなたは彼らをやって「修理」することができます

Sudo apt-get -f install

しかし、yesと言う前に、aptがアンインストールしようとするものを見てください。

また、ヒントとして:gccの別のバージョンを取得するためだけにUbuntuのバージョンをダウングレードすることはお勧めできません。 1台のマシンで複数のバージョンのgccを使用できます!ダウングレードに失敗する前のバージョンに再度移動し、以前のバージョンのgccバージョンを保持します。次に、gcc 4.3のtarボールを入手して自分でコンパイルします。難しくありません。その後、2つのgccバージョンがあり、matlabを他のバージョンにポイントできます(matlabのどこかにgccパスを指定します)。

Ubuntuにデフォルトでインストールされているバージョン以外のgccバージョンで他のソフトウェアをコンパイルすることはお勧めしません。

0
Michael K

私はこの質問が2年前であることを知っていますが、受け入れられた答えが決して得られない質問を見たくないので、私は助けようとしています。

これはパッケージマネージャーを使用しませんが、 http://gcc-uk.internet.bs/releases/ でGCCのほぼすべてのバージョンを見つけることができます。バージョン4.3.0(およびおそらく他のすべて)には、HTMLインストール手順が含まれています。英国のサーバーが気に入らない場合は、GCC Webサイトにミラーのリストがあります。それらの一部には、このバージョンのように古いバージョンが含まれている場合があります。

Michal Kvasnickaに同意する必要があります。GCCの指定されたバージョンを常に使用する必要があります。

0
Wutaz