Fedora24でmatlabR2016aを実行していますが、plotコマンドを使用できません。
これは私が得るエラーです:
_
Error using gca
__
While setting the 'Parent' property of 'Axes':
_
Can't load '/usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so': /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /lib64/libGLU.so.1)
Error in newplot (line 73)
_ax = gca(fig);
_
また、私は見ました 修正方法:[プログラム名] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:バージョンCXXABI_1.3.8 'が見つかりません([プログラム名]に必要) =そしてそれは役に立ちません。
私がしたことは、.matlab7rc.sh( "path_to_ matlab/bin"フォルダーとその非表示にある)というファイルを編集し、コメントを外したことです(いくつかあります)。
LDPATH_PREFIX='$MATLAB/sys/opengl/lib/$Arch'
この行のコメントを解除するためのファイルには、次のように記載されています。
MATLABに付属のOpenGLライブラリを常に使用するには、次の行のコメントを外します。
それは確かにトリックを行いましたが、MATLABに付属のOpenGLを使用するとパフォーマンスが低下するかどうか、そして一般的にこのアプローチは@joe_st_amandの答えとどのように比較されるのか興味があります。
そのバージョンのmatlabとFedoraでも同じ問題が発生しました。 matlabは、起動時にLD_LIBRARY_PATHの前に独自のライブラリパスを追加しているようです。
でmatlabを起動し、次を使用して適切なバージョンのlibstdc ++を使用するように指示できます。LD_PRELOAD=/usr/lib64/libstdc ++。so.6matlab -desktop
私がしたことは、.bashrcファイルにエイリアスを追加することでした:alias matlab = 'LD_PRELOAD =/usr/lib64/libstdc ++。so.6matlab -desktop'
お役に立てば幸いです。
代替修正:
Libstdc ++。so.6ライブラリファイルの名前を変更して、MATLABがそれを見つけられず、システムのバージョンのライブラリを使用するように強制します。このファイルはmatlabroot/sys/os/glnxa64 /にあります
出典: https://in.mathworks.com/matlabcentral/answers/329796-issue-with-libstdc-so-6
試してみたところ、魅力のように機能しました。
以下はFedora28Scientificで動作しました
> cd ~/usr/lib64
> ls libstd*
私にとっての出力は
libstdc++.so.6 libstdc++.so.6.0.25
だから私は~/.bashrc
にディレクトリをlibstdc++.so.6.0.25
にエイリアスを追加しました
> emacs ~/.bashrc
最後に次の行を書きます。
alias matlab='LD_PRELOAD=/usr/lib64/libstdc++.so.6.025 /your/dir/to/bin/glnxa64/MATLAB -desktop'
ここで、/your/dir/to/
はMATLABインストールのディレクトリです。次に
> source ~/.bashrc
その後、ターミナルで> matlab
を実行するだけで、すべて問題ありません。
編集。デスクトップエントリに追加
動作させるには、matlab.desktopファイルを次のように作成/編集し、.applications
フォルダーに配置する必要があります。
[Desktop Entry]
Name=Matlab R2017a
Exec=LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.25 /usr/local/MATLAB/R2017a/bin/matlab -desktop &
Icon=~/username/.icons/Matlab_Logo.png
Terminal=false
Type=Application
Categories=Development;Science;Education
デスクトップエントリから開くと、適切なlibstdcがロードされます。うまく機能します。