From: Nutsy Ben on
Hi everybody;

I am running unix commands into a matlab scripts.
I was quite used to do it until the recent error.

I run an external c++ mesh generator but when I wall it I obtain the followig error:
usr/local/matlab2008/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

I read on the forum that this is due to the symbolic links of matlab in the $MATLABROOT/sys/os/{glnx,36, glnx84} and that I should call the real libraries.

I tried to export the library path without success ....

Is someone could explain me step by steps how to fix this problem.


Best
Ben
From: Matthias Keil on
Hi,
I just was able to resolve a similar problem that occurred when I was compiling (old) C++ files with a not quite recent Matlab version and a very new linux system (Xubuntu 10.04; gcc version 4.4.3-4ubuntu5). Perhaps this information helps you for fixing your problem as well.

In the directory $MATLAB/sys/os/glnxa64 (make a backup before you start to change things) do the following:

Delete the these libs (first one is a symlink to the second)

# rm libstdc++.so.6
# rm libstdc++.so.6.0.3

Then subsitute the last two by the current ones used by gcc (copy or symlink). I found them in /usr/lib:

# ln -s /usr/lib/libstd* .

Then, remove Matlab's libgcc_s.so.1

# rm libgcc_s.so.1

And copy (or make a symlink) to the OS's current one (I found it in /lib)

# ln -s /lib/libgcc_s.so.1 .

With these steps I could compile my mex files and execute them.

Best,

Matthias
From: Nutsy on
On Jun 22, 8:22 pm, "Matthias Keil" <m...(a)cvc.uab.es> wrote:
> Hi,
> I just was able to resolve a similar problem that occurred when I was compiling (old) C++ files with a not quite recent Matlab version and a very new linux system (Xubuntu 10.04; gcc version 4.4.3-4ubuntu5).  Perhaps this information helps you for fixing your problem as well.
>
> In the directory $MATLAB/sys/os/glnxa64 (make a backup before you start to change things) do the following:
>
> Delete the these libs (first one is a symlink to the second)
>
> # rm libstdc++.so.6      
> # rm libstdc++.so.6.0.3
>
> Then subsitute the last two by the current ones used by gcc (copy or symlink).  I found them in /usr/lib:
>
> # ln -s /usr/lib/libstd* .
>
> Then, remove Matlab's libgcc_s.so.1
>
> # rm libgcc_s.so.1
>
> And copy (or make a symlink) to the OS's current one (I found it in /lib)
>
> # ln -s /lib/libgcc_s.so.1 .
>
> With these steps I could compile my mex files and execute them.
>
> Best,
>
> Matthias

Hi Matthias;

Well done, the tip is doing the job and I do not have the problem any
longer.
Thank you for that, it was, despite the rest of answers I saw, clear
and straight to the point !!

Cheers

Ben
 | 
Pages: 1
Prev: repair sript
Next: repeating molecules loop