Our xs_init is pretty much taken from the perldocsif ((my_perl = perl_alloc()) == NULL) { perror("Failed to create interpreter"); return 2; } perl_construct(my_perl); /* Run the startup script */ startup[0] = soapGlobals.service; startup[1] = soapGlobals.config; if (perl_parse(my_perl, xs_init, NumberOf(startup), startup, NULL) != 0) { perror ("Failed to parse startup file"); return 3; } /* Define the proper exit flags */ #ifdef PERL_EXIT_DESTRUCT_END PL_exit_flags |= PERL_EXIT_DESTRUCT_END; #endif /* Run the interpreter */ if (perl_run(my_perl) != 0) { perror ("Failed to run interpreter"); return 3; }
Though I couldn`t find any mengion of dXSUB_SYS, but it is used within the perl souce code, having it there or having it removed doesn`t appear to make any difference anyway. Our snippet of perl that we are trying to use is:static void xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; /* Bring in the dynamic loader */ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); }
To basically use our own module. However when this is run on our dec boxes (TRU64) running perl 5.6.1 this works fine. On AIX5.2 with perl 5.8.2 we get the following error:use Enmac::Transaction; 1;
Now the file does indeed exist in the place that is mentioned, but no other clues are given. Has anyone seen this before, or are there any other sagely words of wisdom/places to look.Can't load '/users/lib/modules/lib/perl5/site_perl/5.8.5/aix-64all/aut +o/Enmac/Transaction/Transaction.so' for module Enmac::Transaction: A +file or directory in the path name does not exist. at /usr/local/lib/ +perl5/5.8.5/aix-64all/DynaLoader.pm line 230.
Thanks
CJC
In reply to perlembed problems by cassidyc
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |