matlab bindings on ubuntu 16.04_64

I ma trying to build the tango matlab bings on ubuntu 16.04 64 bit.
Matalb release is 2017a, omniobr 4.2.1, zeromq-4.0.7, tango 9.2.5a lts for github, the bindings are relase 3 from github.
The first problem one encounters is that matlab officialy supports gcc 4.9, while the distribution gcc is 5.1.
You have to compile tango, omniorb and zeromq with gcc-4.9. This is tricky due to the fact that autools/autoconf are tuned for gcc-5.1.
I managed to build a compile mex file for the platform, but it is not yet working.
While I am tryong to find a solution to thi sproble, I would like to konw if any body succeded in building tha matlab tango binding for the said platform.

Regards.

Claudio Scafuri

Edited 6 years ago
Update: tips and trick to build and run tango matlab bindings on ubuntu 16.04_64.

In the end I managed to build an run tango matlab bindings on ubuntu 16.04_64, matlab version 2017a.

tips:
You can use g++-5.1 even if Matlab says that it supports only gcc-4.9. The positive side effect is that you can use your standrd tango, omniorb and zmq shared libraries, no need to have a separate compilation with a downgraded compiler.

Use the Makefile.linux which comes with the source code and change the name of the mex extension to: MEX_EXT = mexa64 (this platform specific). According to Matlab documentation you should use the "mex" compiler to build extension mex files. The Makefile approach works equally well and is more readable.

trick:
Matlab comes with its own version of libstdc++, which seesms to do have big problems. You must force Matlab to use the system version!
During tests you can use the LD_PREOLAD env. variable, like this:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

For the final installation I just changed the symolic to libstdc++.so.6 to point to /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 .
The symobolic link is in $MATLAB_ROOT/sys/os/glnxa64.

All of the above apply to both relase 2.0.6 and 3.0.1 of the bindings. No tests with earliere releases.

Bets regards

Edited 6 years ago
Hi Claudio,
Thanks for sharing. This is the kind of invaluable input that saves hours of work.
Greetings from Corsica.
N.
Edited 6 years ago
 
Register or login to create to post a reply.