[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: OpenLDAP Perl Module (XS)



I found another patch for Net::LDAPapi that makes the source Perl 5.6+
compatiable - which I assume was applied to yours as this changed na to
PL_na and sv_undef to PL_sv_undef

But I now have a single error remaining:

[dj@frost Net-LDAPapi-1.43-patched-perl6-build]$ make
cp LDAPapi.pm blib/lib/Net/LDAPapi.pm
AutoSplitting blib/lib/Net/LDAPapi.pm (blib/lib/auto/Net/LDAPapi)
/usr/local/bin/perl constant.gen >constant.h
/usr/local/bin/perl /usr/local/lib/perl5/5.8.4/ExtUtils/xsubpp  -
typemap /usr/local/lib/perl5/5.8.4/ExtUtils/typemap -typemap typemap
LDAPapi.xs > LDAPapi.xsc && mv LDAPapi.xsc LDAPapi.c
gcc -c  -I/usr/local/include -fno-strict-aliasing -I/usr/local/include -
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.43\" -
DXS_VERSION=\"1.43\" -fPIC "-I/usr/local/lib/perl5/5.8.4/i86pc-
solaris/CORE"  -DOPENLDAP LDAPapi.c
LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_set_rebind_proc':
LDAPapi.xs:1070: too few arguments to function `ldap_set_rebind_proc'
LDAPapi.xs:1080: warning: passing arg 2 of `ldap_set_rebind_proc' from
incompatible pointer type
LDAPapi.xs:1080: too few arguments to function `ldap_set_rebind_proc'
make: *** [LDAPapi.o] Error 1

Looks like its so close to working - This error occurs on both the
solaris box and the Linux box

<--snip-->
#ifdef NETSCAPE_LDAP
      ldap_set_rebind_proc(ld,NULL,NULL);
#else
1070: ldap_set_rebind_proc(ld,NULL);
#endif
  } else {
    if (ldap_perl_rebindproc == (SV*)NULL)
      ldap_perl_rebindproc = newSVsv(rebind_function);
    else
      SvSetSV(ldap_perl_rebindproc,rebind_function);
#ifdef NETSCAPE_LDAP
      ldap_set_rebind_proc(ld,ns_internal_rebind_proc,NULL);
#else
1080: ldap_set_rebind_proc(ld,internal_rebind_proc);
#endif

<--snip-->


On Tue, 2005-02-01 at 11:26 +1100, David J Radunz wrote:
> On Mon, 2005-01-31 at 16:10 -0800, Quanah Gibson-Mount wrote:
> > 
> > --On Tuesday, February 01, 2005 10:14 AM +1100 David J Radunz 
> > <david.radunz@staff.netspace.net.au> wrote:
> > 
> > >> What does line 108 show in your LDAPapi.xs file?
> > >> What version of perl are you using to compile with?
> > >>
> > >
> > >
> > > <--snip-->
> > >
> > >    for (ldap_value_count = 0; ldap_value_count <=ldap_arraylen;
> > > 	ldap_value_count++)
> > >    {
> > >       ldap_current_value_sv = av_fetch
> > > (ldap_value_array_av,ldap_value_count,0);
> > > 108:  ldap_current_value_char = SvPV(*ldap_current_value_sv,na);
> > >       ldap_pvlen = SvCUR(*ldap_current_value_sv);
> > >       if (strcmp(ldap_current_value_char,"") != 0)
> > >       {
> > >          if (ldap_isa_ber == 1)
> > >          {
> > >             New(1,ldap_current_bval,1,struct berval);
> > > 		    ldap_current_bval->bv_len = ldap_pvlen;
> > > 		    ldap_current_bval->bv_val = ldap_current_value_char;
> > >
> > >
> > > <!--snip-->
> > >
> > > So line 108 is: ldap_current_value_char = SvPV
> > > (*ldap_current_value_sv,na);
> > 
> > Hm, are you sure this is the XS file and not the .c file?
> > 
> > My line is:
> > 
> >       ldap_current_value_char = SvPV(*ldap_current_value_sv,PL_na);
> > 
> > (See the PL_na), which is in use throughout my .XS file.
> > 
> 
> Im quite sure its the xs file. I changed all the 'na's to PL_na's and
> that got me a little further...
> 
> [dj@frost Net-LDAPapi-1.43-patched-build-PL_na]$ make
> cp LDAPapi.pm blib/lib/Net/LDAPapi.pm
> AutoSplitting blib/lib/Net/LDAPapi.pm (blib/lib/auto/Net/LDAPapi)
> /usr/local/bin/perl constant.gen >constant.h
> /usr/local/bin/perl /usr/local/lib/perl5/5.8.4/ExtUtils/xsubpp  -
> typemap /usr/local/lib/perl5/5.8.4/ExtUtils/typemap -typemap typemap
> LDAPapi.xs > LDAPapi.xsc && mv LDAPapi.xsc LDAPapi.c
> gcc -c  -I/usr/local/include -fno-strict-aliasing -I/usr/local/include -
> D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.43\" -
> DXS_VERSION=\"1.43\" -fPIC "-I/usr/local/lib/perl5/5.8.4/i86pc-
> solaris/CORE"  -DOPENLDAP LDAPapi.c
> LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_get_dn':
> LDAPapi.xs:875: `sv_undef' undeclared (first use in this function)
> LDAPapi.xs:875: (Each undeclared identifier is reported only once
> LDAPapi.xs:875: for each function it appears in.)
> LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_first_attribute':
> LDAPapi.xs:969: `sv_undef' undeclared (first use in this function)
> LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_next_attribute':
> LDAPapi.xs:991: `sv_undef' undeclared (first use in this function)
> LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_set_rebind_proc':
> LDAPapi.xs:1070: too few arguments to function `ldap_set_rebind_proc'
> LDAPapi.xs:1080: warning: passing arg 2 of `ldap_set_rebind_proc' from
> incompatible pointer type
> LDAPapi.xs:1080: too few arguments to function `ldap_set_rebind_proc'
> LDAPapi.xs: In function `XS_Net__LDAPapi_ldap_url_parse':
> LDAPapi.xs:1201: `sv_undef' undeclared (first use in this function)
> make: *** [LDAPapi.o] Error 1
> 
> Perhaps if you could send me the version of your XS file or a tar if
> your whole source dir that would be best. I was using 1.43 with the
> patches on the FAQ, however I did find 1.43 on some guys website and not
> an official mirror or anything (as it wasnt on CPAN).
> 
> Cheers,
> 
> David
> 
> 
> > --Quanah
> > 
> > --
> > Quanah Gibson-Mount
> > Principal Software Developer
> > ITSS/Shared Services
> > Stanford University
> > GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html
> > 
> > "These censorship operations against schools and libraries are stronger
> > than ever in the present religio-political climate. They often focus on
> > fantasy and sf books, which foster that deadly enemy to bigotry and blind
> > faith, the imagination." -- Ursula K. Le Guin
> > 
> 
> This email and any files transmitted with it are confidential and intended solely for the 
> use of the individual or entity to whom they are addressed. Please notify the sender 
> immediately by email if you have received this email by mistake and delete this email 
> from your system. Please note that any views or opinions presented in this email are solely
>  those of the author and do not necessarily represent those of the organisation. 
> Finally, the recipient should check this email and any attachments for the presence of 
> viruses. The organisation accepts no liability for any damage caused by any virus 
> transmitted by this email. 
> 
>