• Publicidad

Problema de instalación de extproc_perl

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Problema de instalación de extproc_perl

Notapor lyna041 » 2007-12-14 06:18 @304

Hola!
Mi problema es que estoy intentando instalar el módulo extproc_perl-2.51 para poder utilizar scripts en Perl desde PL/SQL, pero al hacer el "make test" me da estos errores:

Código: Seleccionar todo
DBD::Oracle::st execute failed: ORA-20100: PERL EXTPROC ERROR: Can't load module POSIX, dynamic loading not available in this perl.
  (You may need to build a new perl executable which either supports
  dynamic loading or has the POSIX module statically linked into it.)
 at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/version/vpp.pm line 49
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/version/vpp.pm line 49.
BEGIN failed--compilation aborted at (eval 12) line 2.
Compilation failed in require at /usr/local/lib/perl5/5.8.8/Text/Balanced.pm line 13.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.8/Text/Balanced.pm line 13.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/Parse/RecDescent.pm line 8.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Parse/RecDescent.pm line 8.
Compilation failed in require at /home/oracle/extproc_perl-2.51/ExtProc/blib/lib/ExtProc/Code.pm line 26.
BEGIN failed--compilation aborted at /home/oracle/extproc_perl-2.51 (DBD ERROR: error possibly near <*> indicator at char 7 in 'SELECT <*>TestPerl.func('ep_generic_func_noargs') from dual') [for Statement "SELECT TestPerl.func('ep_generic_func_noargs') from dual"] at t/10generic_wrapper.t line 17.


Al instalar Perl lo configuré para que fuera posible la carga dinámica, por lo que no entiendo porqué me da este error.
La salida de 'perl -V' es:
Código: Seleccionar todo
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.17-1.2142_fc4, archname=i686-linux
    uname='linux pc-4-111.uc3m.es 2.6.17-1.2142_fc4 #1 tue jul 11 22:41:14 edt 2006 i686 athlon i386 gnulinux '
    config_args=''
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    ccversion='', gccversion='4.0.2 20051125 (Red Hat 4.0.2-8)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.6.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.6'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/local/lib/perl5/5.8.8/i686-linux/CORE'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
  Built under linux
  Compiled at Dec 13 2007 18:33:01
  @INC:
    /usr/local/lib/perl5/5.8.8/i686-linux
    /usr/local/lib/perl5/5.8.8
    /usr/local/lib/perl5/site_perl/5.8.8/i686-linux
    /usr/local/lib/perl5/site_perl/5.8.8
    /usr/local/lib/perl5/site_perl
    .


Muchas gracias por todo.
lyna041
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2007-02-27 10:50 @493

Publicidad

Notapor explorer » 2007-12-14 08:44 @405

En el manual (CPAN) de ese módulo indica que, al no funcionar el método del DynaLoader, hay que declarar todos los módulos que vayas a usar en el momento del build (sección MODULES). Prueba a incluir POSIX en el fichero Makefile.PL, según cuenta ahí.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor lyna041 » 2007-12-14 10:42 @487

He hecho como me has dicho:
Modules to include in this build [IO Socket attrs Fcntl DBI DBD::Oracle POSIX]
y sigue dándome los mismos errores en el make test.

En el README de extproc_perl pone:
TESTING
-------
WARNING: The test suite is very immature. Failures DO NOT indicate that
extproc_perl will not run on your system, but you should feel free to report
them.


Quizá no haya que hacer mucho caso a los errores que aparezcan en el test, pero como al ejecutarlo tampoco me funciona, creía que podría ser por una mala instalación.
Al ejecutarlo me aparece un error muy extraño:
SQL> exec perl.import_perl('insertar-todo','insertar-todo.pl')
BEGIN Perl.import_perl('insertar-todo','insertar-todo.pl'); END;

*
ERROR at line 1:
ORA-20100: PERL EXTPROC ERROR: Global symbol "BEGIN" requires explicit package
name at (eval 1) line 1.
(in cleanup) BEGIN not safe after errors--compilation aborted at (eval 1) line
1.
ORA-06512: at "SYS.PERL", line 36
ORA-06512: at "SYS.PERL", line 194
ORA-06512: at line 1


¿Puede ser que haya incompatibilidad con Oracle 10g? Aunque bueno, esa pregunta más bien debería ir dirigida al autor del módulo...
lyna041
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2007-02-27 10:50 @493

Notapor lyna041 » 2007-12-14 11:03 @502

En un foro del autor he visto que extproc_perl y Oracle 10g parecen incompatibles, así que nada, muchas gracias por todo, y perdona las molestias (tendría que haberlo encontrado antes).

It looks like extproc_perl and oracle 10g are not getting along, even
though it builds just fine, so i'll need to get my hands on 10g and fix
whatever problems there are. if anyone else has 10g available and can
install extproc_perl on it, i would appreciate any success/failure
reports.
lyna041
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2007-02-27 10:50 @493


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados