Simulink crashes when libstdc++.so.6 is replaced

6 次查看(过去 30 天)
Hi,
I'm using Matlab 2017b for Linux, and since Im getting the `GLIBCXX_3.4.21' not found' error when I'm compiling my s-func which includes a mex file that was built with gcc 5.x, I tried to follow the following post https://se.mathworks.com/matlabcentral/answers/329796-issue-with-libstdc-so-6
As suggested in this post I have tried to replace the libstdc++.so.6 under matlab installation path with the /usr/lib/x86_64-linux-gnu/libstdc++.so.6, but when I do this my model crashes immediately when I try to compile it.
I have realized that it is also immediately crashing when I completely delete the ibstdc++.so.6 under matlab installation path, or just create symbolic link to the /usr/lib/x86_64-linux-gnu/libstdc++.so.6.
Are there additional changes required?

回答(1 个)

Pruthvi Muppavarapu
Hi Goksan,
The issue might be due to incompatibility between the libstc++ shipped by MATLAB and the libstdc++ shipped with the system. Try to update the Standard C++ library in your Linux distribution the below steps:
  • Open terminal and run the command:
sudo apt –get install libstdc++
  • Re-launch Matlab.
  • If the issue persists, then run the follwing commands in the termina:
sudo add -apt -repository ppa:ubuntu-toolchain-r/test
sudo apt -get update
sudo apt -get upgrade
sudo apt -get dist-upgrade
Regards,
Pruthvi
  2 个评论
Goksan ISIL
Goksan ISIL 2019-5-13
编辑:Goksan ISIL 2019-5-14
Thanks for the suggestion Pruthvi.
When I have investigated the core dump, I have actually realized that the reason for the crash was that Matlab was looking for the wrong version of the libprotobuf.so, compared to the libprotobuf that I've used to generate my mex function.
I've used legacy code tool to generate a mex function and specified protobuf 3.5 version installation for the dependency folder. But when Matlab calls this mex function, it somehow tries to use it's own libprotobuf.so (an older version). Renaming the libprotobuf.so under matlab install directory to .old seems to allow me to run the mex function, but I guess since some internal matlab tools is using this libprotobuf.so library, I see some errors in the Matlab terminal like "error in matlab.internal.webwindow"
Luckily, these errors dont interfere with the simulation
Stefan
Stefan 2023-9-5
Hi @Goksan ISIL could you let me know how you found out libprotobuf was causing the issue. Thanks

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 C Shared Library Integration 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by