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

Reply via email to