I’m trying to run the pr_ctl example script provided with the 0.9.2
distribution of ruby-ldap. It dies with “./pr_ctl:41: uninitialized
constant LDAP::LDAP_CONTROL_PAGEDRESULTS (NameError)”.
I need to use this control, but I can’t figure out why this is
happening. This constant is mentioned in ldap.c:
I’ve installed the source distribution of ruby-ldap in place of the
version that Debian provides. I thought perhaps the script was
accessing an older version of the shared library, but there don’t seem
to be any old versions lying around. I’ve added
/usr/local/lib/site_ruby/1.8/i486-linux (the location of the 0.9.2
shared lib) to /etc/ld.so.conf and run ldconfig: no joy.
Any other ideas on how to debug this?
thanks
jh
–
James H.
Web application developer
Centre for Health Services and Policy Research
Vancouver, BC
Done, rebuilt the .so, no joy. Same error. I have verified that the
script is loading the correct shared lib by temporarily renaming it,
which causes the script to die at “require ‘ldap’”.
As I was about to send this response some of my gcc/make fu started
returning to me, and I added “-DLDAP_CONTROL_PAGEDRESULTS” to the
CPPFLAGS in the Makefile. Should have thought of that first.
But now the script dies with
“in `initialize’: wrong argument type Fixnum (expected String)
(TypeError)”
This is the offending line:
control = LDAP::Control.new(LDAP::LDAP_CONTROL_PAGEDRESULTS,
ber_string,
critical )
Anyone familiar with ruby-ldap know what’s going on?
thanks,
jh
jh
–
James H.
Web application developer
Centre for Health Services and Policy Research
Vancouver, BC