Ruby-ldap on Windows (built)

I have finally managed to build the ruby-ldap library for the Windows
platform (i.e. not a cygwin or ming build, but an mswin32 build).

This has been an issue for awhile as the maintainer of the project does
not have access to a Windows machine for testing.

So far, it seems to be working (I use it only for ActiveDirectory
authentication).

Anyway, if you are like me and have been struggling to get ldap working
on the mswin32 build, please try the pre-built package:

Download:
http://webtest.wvu.edu/users/cbscharf/ldap/

Put ldap.so in:
C:\ruby\lib\ruby\site_ruby\1.8\i386-msvcrt

Put *.rb in:
C:\ruby\lib\ruby\site_ruby\1.8\ldap

I believe these are the proper locations. Hopefully this helps someone
out there :slight_smile:

Note: This was build using 0.9.4 of ruby-ldap on WinXP SP2.

···

--
Posted via http://www.ruby-forum.com/.

Cool. Would you be interested in alpha-testing a different solution
and providing advice toward the development in it?

-austin

···

On 4/18/06, Chris Scharf <scharfie@gmail.com> wrote:

I have finally managed to build the ruby-ldap library for the Windows
platform (i.e. not a cygwin or ming build, but an mswin32 build).

This has been an issue for awhile as the maintainer of the project does
not have access to a Windows machine for testing.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

I would LOVE to know how you managed this. I struck out hard on
several occasions, and I'd like to learn from my mistakes.

--Wilson.

···

On 4/18/06, Chris Scharf <scharfie@gmail.com> wrote:

I have finally managed to build the ruby-ldap library for the Windows
platform (i.e. not a cygwin or ming build, but an mswin32 build).

This has been an issue for awhile as the maintainer of the project does
not have access to a Windows machine for testing.

So far, it seems to be working (I use it only for ActiveDirectory
authentication).

Anyway, if you are like me and have been struggling to get ldap working
on the mswin32 build, please try the pre-built package:

Download:
http://webtest.wvu.edu/users/cbscharf/ldap/

Put ldap.so in:
C:\ruby\lib\ruby\site_ruby\1.8\i386-msvcrt

Put *.rb in:
C:\ruby\lib\ruby\site_ruby\1.8\ldap

I believe these are the proper locations. Hopefully this helps someone
out there :slight_smile:

Note: This was build using 0.9.4 of ruby-ldap on WinXP SP2.

Hi..

Someone has build ruby-ldap with openldap2 (--with-openldap2) for
windows xp?

I'm using openldap and the pre-built package, i have problem when
updating attributes from my rails app.

No such attribute...

I build openldap, ruby-ldap with openldap2, and installed activeldap and
works full gut!..

Someone can help?

thankx

···

--
Posted via http://www.ruby-forum.com/.

Chris Scharf wrote:

I have finally managed to build the ruby-ldap library for the Windows
platform (i.e. not a cygwin or ming build, but an mswin32 build).

This has been an issue for awhile as the maintainer of the project does
not have access to a Windows machine for testing.

So far, it seems to be working (I use it only for ActiveDirectory
authentication).

Anyway, if you are like me and have been struggling to get ldap working
on the mswin32 build, please try the pre-built package:

Download:
http://webtest.wvu.edu/users/cbscharf/ldap/

Put ldap.so in:
C:\ruby\lib\ruby\site_ruby\1.8\i386-msvcrt

Put *.rb in:
C:\ruby\lib\ruby\site_ruby\1.8\ldap

I believe these are the proper locations. Hopefully this helps someone
out there :slight_smile:

Note: This was build using 0.9.4 of ruby-ldap on WinXP SP2.

hi,I feel excited to the mswin32 build,but the download url provided
can't be accessed. can you help me?
my email address is weijinxianforyou@gmail.com.
thank you in advance.

···

--
Posted via http://www.ruby-forum.com/\.

Wilson Bilkovich wrote:

on the mswin32 build, please try the pre-built package:
I believe these are the proper locations. Hopefully this helps someone
out there :slight_smile:

Note: This was build using 0.9.4 of ruby-ldap on WinXP SP2.

I would LOVE to know how you managed this. I struck out hard on
several occasions, and I'd like to learn from my mistakes.

--Wilson.

Well, the first step was to download the latest Platform SDK
(http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en\).
The reason is that I have MSVC C++ 6.0, and apparently that distribution
has a known issue with the wldap32.lib library. After downloading the
SDK, I grabbed the latest ruby-ldap source from sourceforge.

Now, the ruby-ldap source has a win directory, which has a wldap32.def
file, and this is used to build the wldap32.lib file. However, I think
this .def creates the BAD .lib that comes with MSVC 6, so what I did was
drop in the one from the platform SDK.

Now, the tricky part: modifiying the source. I had to open the
sslconn.c file, and change a few things. The first is that the
rb_ldap_sslconn_bind_f function (around line 260) is missing an
argument. The function definition should be:

  VALUE rb_ldap_sslconn_bind_f(int argc, VALUE argv, VALUE self,
    VALUE (*rb_ldap_sslconn_bind_func) (int, VALUE, VALUE))

The two functions that follow (rb_ldap_sslconn_bind_s and
rb_ldap_sslconn_simple_bind_s) make calls to a function called

  rb_ldap_sslconn_bind_func

However, it should be

  rb_ldap_sslconn_bind_f

Next - the SDK includes special command prompt shortcuts that set up the
paths and all that, so I used the one for my machine (Win XP 32-bit),
and went to the directory where I had extracted the source.

Then:

ruby extconf.rb --with-wldap32
nmake
nmake install

I believe the Platform SDK itself should be sufficient to build
everything - the real trick is getting that .lib from the SDK and
dropping it in the \win directory of the extracted source, and then
changing the source code.

···

On 4/18/06, Chris Scharf <scharfie@gmail.com> wrote:

--
Posted via http://www.ruby-forum.com/\.

sorry!

when i say..: I build openldap, ruby-ldap with openldap2, and installed
activeldap and works full gut!..

works full gut in Leopard... but on Windows?

···

--
Posted via http://www.ruby-forum.com/.

Chris Scharf wrote:

Now, the ruby-ldap source has a win directory, which has a wldap32.def
file, and this is used to build the wldap32.lib file. However, I think
this .def creates the BAD .lib that comes with MSVC 6, so what I did was
drop in the one from the platform SDK.

Can you possibly provide me with the good wldap32.def file from the SDK?
I assume it's redistributable, in which case I'll substitute it for the
bad one.

Now, the tricky part: modifiying the source. I had to open the
sslconn.c file, and change a few things. The first is that the
rb_ldap_sslconn_bind_f function (around line 260) is missing an
argument. The function definition should be:

  VALUE rb_ldap_sslconn_bind_f(int argc, VALUE argv, VALUE self,
    VALUE (*rb_ldap_sslconn_bind_func) (int, VALUE, VALUE))

The two functions that follow (rb_ldap_sslconn_bind_s and
rb_ldap_sslconn_simple_bind_s) make calls to a function called

  rb_ldap_sslconn_bind_func

However, it should be

  rb_ldap_sslconn_bind_f

I'll make these changes to the source.

This would make for a nice 0.9.5 release. If you can send me the .def
file, I'll package up a tar file and send it to you for verification
that things work out of the box.

Thanks for your work on this.

···

--
Posted via http://www.ruby-forum.com/\.

Chris Scharf wrote:

Wilson Bilkovich wrote:

on the mswin32 build, please try the pre-built package:
I believe these are the proper locations. Hopefully this helps someone
out there :slight_smile:

Note: This was build using 0.9.4 of ruby-ldap on WinXP SP2.

I would LOVE to know how you managed this. I struck out hard on
several occasions, and I'd like to learn from my mistakes.

--Wilson.

Well, the first step was to download the latest Platform SDK
(http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en\).
The reason is that I have MSVC C++ 6.0, and apparently that distribution
has a known issue with the wldap32.lib library. After downloading the
SDK, I grabbed the latest ruby-ldap source from sourceforge.

Now, the ruby-ldap source has a win directory, which has a wldap32.def
file, and this is used to build the wldap32.lib file. However, I think
this .def creates the BAD .lib that comes with MSVC 6, so what I did was
drop in the one from the platform SDK.

Now, the tricky part: modifiying the source. I had to open the
sslconn.c file, and change a few things. The first is that the
rb_ldap_sslconn_bind_f function (around line 260) is missing an
argument. The function definition should be:

  VALUE rb_ldap_sslconn_bind_f(int argc, VALUE argv, VALUE self,
    VALUE (*rb_ldap_sslconn_bind_func) (int, VALUE, VALUE))

The two functions that follow (rb_ldap_sslconn_bind_s and
rb_ldap_sslconn_simple_bind_s) make calls to a function called

  rb_ldap_sslconn_bind_func

However, it should be

  rb_ldap_sslconn_bind_f

Next - the SDK includes special command prompt shortcuts that set up the
paths and all that, so I used the one for my machine (Win XP 32-bit),
and went to the directory where I had extracted the source.

Then:

ruby extconf.rb --with-wldap32
nmake
nmake install

I believe the Platform SDK itself should be sufficient to build
everything - the real trick is getting that .lib from the SDK and
dropping it in the \win directory of the extracted source, and then
changing the source code.

I'm getting the following error when i try to install ruby-ldap-0.9.7 in
Windows Vista.

extconf.rb:162:in ``': No such file or directory - lib
/def:./win/wldap32.def /o
ut:./win/wldap32.lib (Errno::ENOENT)
        from extconf.rb:162

Someone can help me?

···

On 4/18/06, Chris Scharf <scharfie@gmail.com> wrote:

--
Posted via http://www.ruby-forum.com/\.

Ian Macdonald wrote:

I'll make these changes to the source.

This would make for a nice 0.9.5 release. If you can send me the .def
file, I'll package up a tar file and send it to you for verification
that things work out of the box.

Current Ruby/LDAP CVS has the changes, so I'm curious to know if the
Windows build now works out of the box. I'd be grateful if Windows users
could try this out and report back.

···

--
Posted via http://www.ruby-forum.com/\.

I'm getting the following error when i try to install ruby-ldap-0.9.7 in
Windows Vista.

extconf.rb:162:in ``': No such file or directory - lib
/def:./win/wldap32.def /o
ut:./win/wldap32.lib (Errno::ENOENT)
        from extconf.rb:162

Someone can help me?

But who use Windows Vista ???
sorry -->

···

--
Posted via http://www.ruby-forum.com/\.

Ian Macdonald wrote:

Current Ruby/LDAP CVS has the changes, so I'm curious to know if the
Windows build now works out of the box. I'd be grateful if Windows users
could try this out and report back.

I worked with Chris Scharf to fix the issues on Windows and am pleased
to say that the result is the release of version 0.9.5, the first
version known to work on Windows since I took over maintenance of the
code.

If anyone experiences any problems with this version, please let me
know. It should just work out of the box.

···

--
Posted via http://www.ruby-forum.com/\.

It say's that file you want open or do something else don't exist. Maybe you
just do some mistake in path to this file or you don't have permissions to
access.

···

2008/3/13, Rcmn 73 <rcmn73@gmail.com>:

> I'm getting the following error when i try to install ruby-ldap-0.9.7 in
> Windows Vista.
>
> extconf.rb:162:in ``': No such file or directory - lib
> /def:./win/wldap32.def /o
> ut:./win/wldap32.lib (Errno::ENOENT)
> from extconf.rb:162
>
> Someone can help me?

But who use Windows Vista ???
sorry -->

--
Posted via http://www.ruby-forum.com/\.

Ian Macdonald wrote:

Ian Macdonald wrote:

Current Ruby/LDAP CVS has the changes, so I'm curious to know if the
Windows build now works out of the box. I'd be grateful if Windows users
could try this out and report back.

I worked with Chris Scharf to fix the issues on Windows and am pleased
to say that the result is the release of version 0.9.5, the first
version known to work on Windows since I took over maintenance of the
code.

If anyone experiences any problems with this version, please let me
know. It should just work out of the box.

The new version worked on Windows for me. I updated my Platform SDK to
the newest version just in case and then ran 'ruby extconf.rb
--with-wldap32', 'nmake', and
'nmake install', as mentioned above. I had a small problem at first
though, I think because it didn't like spaces in my path (I put the
files on my desktop). I also used require 'LDAP' instead of require
'ldap' when I was testing it, which it didn't like. I guess the
convention is to use lower-case for require?

···

--
Posted via http://www.ruby-forum.com/\.

Peter Tseng wrote:

Ian Macdonald wrote:

Ian Macdonald wrote:

Current Ruby/LDAP CVS has the changes, so I'm curious to know if the
Windows build now works out of the box. I'd be grateful if Windows users
could try this out and report back.

I worked with Chris Scharf to fix the issues on Windows and am pleased
to say that the result is the release of version 0.9.5, the first
version known to work on Windows since I took over maintenance of the
code.

If anyone experiences any problems with this version, please let me
know. It should just work out of the box.

The new version worked on Windows for me. I updated my Platform SDK to
the newest version just in case and then ran 'ruby extconf.rb
--with-wldap32', 'nmake', and
'nmake install', as mentioned above. I had a small problem at first
though, I think because it didn't like spaces in my path (I put the
files on my desktop). I also used require 'LDAP' instead of require
'ldap' when I was testing it, which it didn't like. I guess the
convention is to use lower-case for require?

Hi
Just wondering how to build this. Have never built a windows app from
source before. Have downloaded SDK and Visual C++ Express Edition. Not
really sure what I'm doing with these apps., but decided to set v0.9.5
as a new project and run build against it. This throws up the error
that the include ruby.h can't be found.
Not sure when or where I would use "ruby extconf.rb ..." apart from in
command prompt. If so, where does 'nmake' and 'nmake install' go?
Finally, why not either provide some clearer instruction on the project,
or provide a binary?
thanks
Jason

···

--
Posted via http://www.ruby-forum.com/\.

Jason Woodruff wrote:

Peter Tseng wrote:

Ian Macdonald wrote:

Ian Macdonald wrote:

Current Ruby/LDAP CVS has the changes, so I'm curious to know if the
Windows build now works out of the box. I'd be grateful if Windows users
could try this out and report back.

I worked with Chris Scharf to fix the issues on Windows and am pleased
to say that the result is the release of version 0.9.5, the first
version known to work on Windows since I took over maintenance of the
code.

If anyone experiences any problems with this version, please let me
know. It should just work out of the box.

The new version worked on Windows for me. I updated my Platform SDK to
the newest version just in case and then ran 'ruby extconf.rb
--with-wldap32', 'nmake', and
'nmake install', as mentioned above. I had a small problem at first
though, I think because it didn't like spaces in my path (I put the
files on my desktop). I also used require 'LDAP' instead of require
'ldap' when I was testing it, which it didn't like. I guess the
convention is to use lower-case for require?

Hi
Just wondering how to build this. Have never built a windows app from
source before. Have downloaded SDK and Visual C++ Express Edition. Not
really sure what I'm doing with these apps., but decided to set v0.9.5
as a new project and run build against it. This throws up the error
that the include ruby.h can't be found.
Not sure when or where I would use "ruby extconf.rb ..." apart from in
command prompt. If so, where does 'nmake' and 'nmake install' go?
Finally, why not either provide some clearer instruction on the project,
or provide a binary?
thanks
Jason

I should probably add that I am running OpenLDAP and not Active
Directory. Therefore is the --with-wldap32 command correct? Using
--with-openldap2 I get the error that ldap.h and other folders cannot be
found. This is because OpenLDAP for Windows port is compiled ... Tried
using the ldap.h files from the Linux source, but not sure of the
command prompt for this ... ?

···

--
Posted via http://www.ruby-forum.com/\.

Jason Woodruff wrote:

Just to post a solution to my problems: a gem has been made available

http://66.249.93.104/search?q=cache:XGh2OrFoEVMJ:toolbox.boudry.org/articles/2006/05/09/building-ruby-ldap-for-win32+ruby+ldap+windows+0.9.5&hl=en&gl=uk&ct=clnk&cd=14

Perhaps this should be made available through the project?

···

--
Posted via http://www.ruby-forum.com/.

my goal is installing ruby with support for Mssql and LDAP on windows
XP:
//Already installed and tested:
ruby184-20.exe (on click installer)
dbi-0.1.1 (for driver ADO)

//related to my problem:
log4r-1.0.5 (installed)
Ruby-activeldap-0.7.4.gem (installed)

ruby-ldap-0.9.7 (Failed) =>
mkmf.log :

···

==============================================================================

have_header: checking for ldap.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <ldap.h>
/* end */

--------------------

have_header: checking for lber.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <lber.h>
/* end */

--------------------

have_header: checking for ldap_ssl.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <ldap_ssl.h>
/* end */

--------------------

==============================================================================

i looked into c:\ruby and i can't find any of this files.
Am i missing a step ?

--
Posted via http://www.ruby-forum.com/.

Sorry for the offtopic, but you may find that the Net::LDAP library
meets your needs. It's pure Ruby and doesn't require a compiler.

···

On 8/28/06, Rcmn Rcmn <rcmn73@gmail.com> wrote:

my goal is installing ruby with support for Mssql and LDAP on windows
XP:
//Already installed and tested:
ruby184-20.exe (on click installer)
dbi-0.1.1 (for driver ADO)

//related to my problem:
log4r-1.0.5 (installed)
Ruby-activeldap-0.7.4.gem (installed)

ruby-ldap-0.9.7 (Failed) =>
mkmf.log :

As far as I can recall I was able to install the MSSQL support without
incident using the Ruby DBI project in my 1.8.2 One-Click Installer for
Windows environment. As for LDAP I struggled for awhile trying to build
the Ruby/LDAP library and recently was able to stumble across the
Net::LDAP library which installs right from the command prompt without
requiring compliation.

Rcmn Rcmn wrote:

···

my goal is installing ruby with support for Mssql and LDAP on windows
XP:
//Already installed and tested:
ruby184-20.exe (on click installer)
dbi-0.1.1 (for driver ADO)

//related to my problem:
log4r-1.0.5 (installed)
Ruby-activeldap-0.7.4.gem (installed)

ruby-ldap-0.9.7 (Failed) =>
mkmf.log :

==============================================================================
have_header: checking for ldap.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <ldap.h>
/* end */

--------------------

have_header: checking for lber.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <lber.h>
/* end */

--------------------

have_header: checking for ldap_ssl.h... -------------------- no

"cl -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -MD -Zi -O2b2xg- -G6
conftest.c -P"
checked program was:
/* begin */
#include <ldap_ssl.h>
/* end */

--------------------

==============================================================================

i looked into c:\ruby and i can't find any of this files.
Am i missing a step ?

--
Posted via http://www.ruby-forum.com/\.