If they are the same, don't error out even if the minor versions are
different since libiio should have backwards and forwards compatibility
to some extent. When backwards incompatible ABI/API changes are made,
the major version should be incremented at which point an error will be
raised when trying to connect.
It often interacts with strings it's placed into in different ways,
sometimes terminating the string or appearing to be treated as
whitespace.
Signed-off-by: Tim Harder <timothy.harder@analog.com>
This stops matlab from complaining about the library class already
existing after it's loaded previously.
Signed-off-by: Tim Harder <timothy.harder@analog.com>
The loadlibrary can fail due to various reasons. On Linux this includes
having a recent toolchain that supports newer C++ ABIs compared to the
libstdc++.so.* bundled in sys/os/glnxa64 with Matlab.
Since Matlab searches its own directories for bundled libs before the
system patchs it tries to use the older lib which lacks for support for
newer ABIs required by system libs that Matlab uses and doesn't bundle.
This causes errors similar to the following to be shown:
/opt/matlab/R2015a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:
version `CXXABI_1.3.8' not found
(required by /usr/lib64/libicui18n.so.53)
The easiest fix is to override the libstdc++.so.6 symlink in
sys/os/glnxa64 to point to the system version instead of the bundled
Matlab version.
Catching the exception allows the user to take notice of it better and
provides better feedback to the app (in this case the filter wizard)
trying to load the library that things failed.
Signed-off-by: Tim Harder <timothy.harder@analog.com>