Hello,
I am trying to include a graphics library from Matlab so I can use Inline
Perl
to create a package which takes advantage of Matlab's plotting capabilities.
I am stuck on the following error:
<-----------------------Information
Section----------------------------------->
Information about the processing of your Inline C code:
Your module is already compiled. It is located at:
/home/bbcannon/shell/perl/MATLAB/_Inline/lib/auto/mlGraphics/mlGraphics.so
The following Inline C function(s) have been successfully bound to Perl:
void mlFill()
<-----------------------End of Information
Section---------------------------->
Had problems bootstrapping Inline module 'mlGraphics'
Can't load
'/home/bbcannon/shell/perl/MATLAB/_Inline/lib/auto/mlGraphics/mlGraphics.so'
for module mlGraphics: ld.so.1: /usr/local/bin/perl: fatal:
relocation error: file
/home/bbcannon/shell/perl/MATLAB/_Inline/lib/auto/mlGraphics/mlGraphics.so:
symbol libmwsglmTerminate: referenced symbol not found at
/usr/local/lib/perl5/5.00503/sun4-solaris/DynaLoader.pm line 169.
at /usr/local/lib/perl5/site_perl/5.005/Inline.pm line 432
at fill.pl line 0
END failed--cleanup aborted.
Can anyone tell me what causes this type of error message?
I'm not sure if anyone here has much experience with Matlab, but here is the
code I am using incase it helps:
#!/usr/local/bin/perl
use strict;
use mlGraphics;
mlFill();
And:
#!/usr/local/bin/perl
package mlGraphics;
use strict;
require Exporter;
@mlGraphics::ISA = qw(Exporter);
@mlGraphics::EXPORT = qw(
mlFill
);
use Inline (C => DATA =>
NAME => 'mlGraphics',
MYEXTLIB => ["/r1u3/matlab/extern/lib/sol2/libmmfile.so",
"/r1u3/matlab/extern/lib/sol2/libmwsglm.so",
"/r1u3/matlab/extern/lib/sol2/libsgl.so"],
INC => ["-I/r1u3/matlab/toolbox/compiler/bundles/",
"-I/r1u3/matlab/bin/sol2/",
"-I/r1u3/matlab/extern/include/",
"-I/home/bbcannon/shell/perl/MATLAB/files/"],
DIRECTORY => "/home/bbcannon/shell/perl/MATLAB/_Inline/"
);
1;
__DATA__
__C__
#include <libmmfile.h>
#include "libsgl.h"
#include "fill.h"
#include "fill.c"
#include "filled_sandw_vs_sizedspace.c"
#include "matlab.h"
/* mlfill()
*
*/
void mlFill()
{
/* Get any command line parameter. */
fillInitialize(); /* Initialize the library of M-Functions */
/* Call mlfHey, the compiled version of hello.m. */
mlfFilled_sandw_vs_sizedspace();
fillTerminate(); /* Terminate the library of M-functions */
}
Thanks in advance...
Brady Cannon