cassidyc has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: perlembed problems
by tachyon (Chancellor) on Nov 13, 2004 at 07:31 UTC | |
by cassidyc (Sexton) on Nov 15, 2004 at 11:03 UTC | |
by cassidyc (Sexton) on Nov 15, 2004 at 14:09 UTC | |
|
Re: perlembed problems
by cassidyc (Sexton) on Nov 12, 2004 at 17:22 UTC |