Hi,
> The Linux machines in our department use SuSE, so we don't encounter the
> Matlab crashes that occur with RedHat. I have therefore very little idea of
Matlab mainly relies on glibc, the system C library, which shouldn't be
very different from one Linux distribution to another. It also relies on
a few other system libraries, such as the thread library which is the
cause of the compatibility issues with Red Hat 9 and later, which
require setting LD_ASSUME_KERNEL.
Wether we're running SUSE or Red Hat shouldn't be very important. Apart
from the thread library issue, ideally only the version of glibc should
matter, and possibly the version of the X server and associated drivers.
What could be specific to our lab:
* We have dual-processor Linux workstations.
* We use Nvidia's proprietary drivers.
Anyone in the same situation and able to run Matlab without erratic errors?
> which workarounds we can incorporate into SPM in order to make Matlab run
> more smoothly on RedHat systems. We don't get to see what lies under the
> hood of Matlab (and wouldn't have time to become as intimately acquainted
> with the Linux source code as would be necessary), so it's difficult to
> figure out why some fixes seem to help. All I know is that changing the
> renderer of the figures sometimes seems to help.
>
> Most of SPM2 was developed using Matlab 6.0 and 6.1. There was some testing
> using 6.5 (although not enough to notice the reshape bug). Matlab 7 came
> along after SPM2 was released, and I have only just begun to figure out where
> the Matlab 7.0.1 problems occur on SuSE linux. Most of the SPM2 functions
> should work under 5.3, although there are definately a few functions that
> don't (DICOM conversion etc).
Yes, the problem is that Matlab started officially supporting recent
Linux distributions only with Matlab 7.0.1. No version of Matlab prior
to 7.0.1 is supported by Mathworks on modern hardware (such as S-ATA disks).
We have no choice, either we run Matlab 7.0.1 and we get at least some
theoretical support form Mathworks, or we run Matlab 6.5 and we get no
support at all on any decent Linux distribution :-(
What we'll probably do is run SPM99 on Matlab 6.5 (I'll try convincing
our sysadmins to upgrade to 6.5.1 since some serious 6.5 bugs seem to
have been fixed in 6.5.1) and hopefully be able to fix all remaining
issues without help from Mathworks. We may need to recompile SPM, see below.
We'll run SPM2 on Matlab 7.0.1 and try to fix all remaining issues with
possible help from Mathworks. Please post any fixes that apply to SPM2 +
Matlab 7 as you find them.
> If you encounter Segmentation Faults, these are usually to do with Matlab and
> the operating system, rather than SPM itself. Apart from possible bugs in
> the mexglx files released with SPM or the way that they were compiled, if
> there is a Segmentation Fault, then it's not our fault.
It looks like we have compiled SPM99 with Matlab 6.1 and are running it
under Matlab 6.5. Also we have compiled SPM2 with Matlab 6.5 (maybe even
6.1) and are running it under Matlab 7.0.1.
Mathworks support suggest this could be causing our problems. Is this
also your experience?
So we'll try recompiling SPM on a Linux distribution with a supported
compiler + the Matlab version that will be eventually used.
> I have no idea which Linux kernel is used by RedHat 9/Fedora, but according to
> the Mathworks, the following should work for 7.0.1:
> http://www.mathworks.com/support/sysreq/current_release/unix.html
Actually the version of the Linux kernel is not very important for
end-user programs. This list is just a list of systems Mathworks have
tested Matlab on, but I can see no technical reason why Matlab shouldn't
work on other systems or should rely on a specific kernel. More
important is the version of the glibc and the thread library.
Anyway, 7.0.1 is theoretically supported on Red Hat 9 and Fedora Core 2
according to this list.
> RedHat 9 seems to have a few problems with Matlab:
> http://www.mathworks.com/support/solutions/data/1-1AY16.html?solution=1-1AY16
> http://www.mathworks.com/support/solutions/data/1-QB3JW.html?solution=1-QB3JW
> http://www.mathworks.com/support/solutions/data/1-1A523.html?solution=1-1A523
> http://www.mathworks.com/support/solutions/data/1-1ATCE.html?solution=1-1ATCE
> http://www.mathworks.com/support/solutions/data/1-1BDU5.html?solution=1-1BDU5
Mmmh... These issues do not apply to a specific Linux distribution as
far as I can see. They are not specific to Red Hat, it's just that Red
Hat is/was more common among Matlab users and is/was perceived as the de
facto standard Linux distribution.
Note that some of the above "solutions" are plain wrong:
http://www.mathworks.com/support/solutions/data/1-QB3JW.html
This one seems to imply that Red Hat 9 runs a 2.6 kernel or glibc 2.3.3.
That is not the case, Red Hat 9 runs a 2.4 kernel and glibc 2.3.2.
> A move to Fedora Core 2 is likely to throw up a different bunch of problems.
> Some of these may be solved by re-compiling the mex functions (making sure
> that a compatible compiler is used). With such a wide number of different
> Linux versions appearing, it is difficult to ensure that a version of Matlab
> will run on all of them.
Mmmh... There are also a bunch of Solaris or Windows versions out there.
Ensuring Matlab works on a variety of platforms and keeps running
programs written under previous Matlab versions is what we're paying
Mathworks for - and we're paying a lot. At least I would expect Matlab
to bail out with a nice error message about incompatible compiler or
Matlab versions instead of crashing. I'm not saying it's easy, as Linux
does have its share of problems (compatibility used not to be a concern
for the GNU/Linux community as much as it has been for Microsoft or
commercial Unix vendors) but I expect Mathworks to deliver worth the
money they're given and they don't.
Anyway, we'll try recompiling the mex files as both Mathworks support
and you suggest, I'm confident this will at least improve the situation.
I'll keep you informed about our progress.
Dimitri
|