[ome-devel] OME and matlab - trouble connecting

Arpun Nagaraja arpun at MIT.EDU
Sat Jul 29 00:45:54 BST 2006


I ran into the setPixels problem as well.  There was also a lazy  
symbol binding problem that I solved by switching to GCC 4.0.  Here  
is what worked for me:

Modify the Makefile in your src/matlab/OMEIS directory.  Change the  
MEX_FLAGS line to this:

MEX_FLAGS = -O -inline -I../../C/omeis-http/ -L../../C/omeis-http  - 
lcurl -lhttpOMEISMATLAB CC=gcc-4.0 LD=gcc-4.0

You should remove all the *.mexglx files.  Then reinstall OME - when  
it installs the matlab connection, it should compile with these new  
flags.

The Web UI problems are a whole different story.  We have been  
working to fix them, and the only real solution we found was to  
modify the _openEngine function in the src/perl2/OME/Analysis/ 
Handlers/MatlabHandler.pm

There is a line in _openEngine that looks something like this:
$_engine = OME::Matlab::Engine->open("$matlab_exec $matlab_flags");

Modify it so that it looks like this:
$_engine = OME::Matlab::Engine->open("env PATH=/usr/bin:/bin  
$matlab_exec $matlab_flags");

You may have to reinstall OME at this point, to make sure it's using  
this copy of the MatlabHandler.  For reasons I haven't been able to  
discern, it sometimes doesn't use your modified version of the  
Handler.  It might be helpful to put some print statements around  
these calls to make sure everything is doing what it's supposed to do.

I'm not certain this will work on Linux.  One of the reasons we  
haven't committed this stuff is because we didn't get a chance to  
test it on non-Mac systems.  Looks like you'll be our guinea pig.

Let us know how things turn out.  Good luck!

-Arpun

On Jul 28, 2006, at 6:30 PM, debartolomeo at ece.ucsb.edu wrote:

> Hi,
>
> I'm trying to get Matlab working with ome and am running into  
> problems.
>
> When I try to use the UI to run the analysis chain, I get the  
> following
> error in the UI:
> "Cannot open a connection to Matlab! at /usr/share/perl/5.8/CGI/ 
> Carp.pm
> line 314"
>
> But, when I try this from the command line:
> ome execute -d "MyDataset" -a "Matlab Test Chain", I get the following
> error in the UI:
> "ERROR saving pixels to omeis w/ command:
> 	ome_output_9_PixelsArray_pix =
> setPixels(openConnectionOMEIS('http://claw/cgi-bin/omeis'), 686,
> ome_output_9_PixelsArray);
>>> ??? Invalid MEX-file
> '/home/omedev/OME/src/matlab/OMEIS/setPixels.mexglx':
> /home/matlab/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1: version
> `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)."
>
> Again, running "Histogram Equalization Preprocessing Chain" from  
> the UI, I
> get:
> "Cannot open a connection to Matlab! at /usr/share/perl/5.8/CGI/ 
> Carp.pm
> line 314."
>
> But, when I try:
> ome execute -d "MyDataset" -a "Histogram Equalization Preprocessing
> Chain", I get:
> "getROI/getPixels failed for pixels 482. The returned MATLAB array has
> dimensions (0, 0, 1, 1, 1) at
> /usr/local/share/perl/5.8.4/OME/Analysis/Handlers/MatlabHandler.pm  
> line
> 562,  line 1."
>
> I'm new at this system, so there may be something very fundamental  
> that
> I'm not yet understanding, but any suggestions on how to proceed  
> would be
> very appreciated.
>
>
> _______________________________________________
> ome-devel mailing list
> ome-devel at lists.openmicroscopy.org.uk
> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel



More information about the ome-devel mailing list