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

8 visualizzazioni (ultimi 30 giorni)
Goksan ISIL
Goksan ISIL il 9 Mag 2019
Commentato: Stefan il 5 Set 2023
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?

Risposte (1)

Pruthvi Muppavarapu
Pruthvi Muppavarapu il 13 Mag 2019
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 Commenti
Goksan ISIL
Goksan ISIL il 13 Mag 2019
Modificato: Goksan ISIL il 14 Mag 2019
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 il 5 Set 2023
Hi @Goksan ISIL could you let me know how you found out libprotobuf was causing the issue. Thanks

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by