Не могу установить ruby-ldap под Windows / Cygwin - PullRequest
0 голосов
/ 20 января 2012

gem install ruby-ldap

Building native extensions.  This could take a while...
ERROR:  Error installing ruby-ldap:
         ERROR: Failed to build gem native extension.

         /usr/bin/ruby.exe extconf.rb
--with-ldap-dir=/usr
--with-openldap2
checking for ldap.h... yes
[...]
creating Makefile

make
gcc -I. -I. -I/usr/lib/ruby/1.8/i386-cygwin -I. ...
[...]
gcc -shared -s -o ldap.so ...

Конфигурация и компиляция работают просто отлично.Но установка выдает эту ошибку:

make install
/usr/bin/install -c -m 0755 ldap.so /usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib
/usr/bin/install -c -m 644 ./lib/ldap/control.rb /usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib/ldap
/usr/bin/install: `./lib/ldap/control.rb' and `/usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib/ldap/control.rb' are the same file
Makefile:130: recipe for target `/usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib/ldap/control.rb' failed
make: *** [/usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib/ldap/control.rb] Error 1

./lib/ldap/control.rb и /usr/lib/ruby/gems/1.8/gems/ruby-ldap-0.9.12/lib/ldap/control.rb действительно один и тот же файл, но почему?Другие драгоценные камни с нативными привязками вроде mysql работали просто отлично.Я сообщил об этом как об ошибке, но у какого-то другого парня такой проблемы нет, поэтому сам пакет не поврежден.

Если я загружаю гем и запускаю:

ruby extconf.rb
make install

Запуск Makefileпросто хорошо.Это должна быть моя система / конфигурация.Что здесь не так?

Ответы [ 2 ]

0 голосов
/ 28 августа 2012

Если вы используете Ubunty, попробуйте выполнить

  sudo apt-get install libsasl2-dev

Подробнее об этом на https://github.com/alexey-chebotar/ruby-ldap/issues/7

0 голосов
/ 21 января 2012

Вау, как ни странно, я получил это, понизив RubyGems и затем обновив его обратно.Сначала я понизил его, чтобы он соответствовал версии (1.4.1), которая была у меня в другой системе, которая могла прекрасно установить ruby-ldap.Я думал, что это может заставить его работать на моей нынешней системе, но я получил ту же ошибку, что и вы.Я обновил RubyGems до того, что имел (1.8.15), затем все волшебным образом заработало.

Итак:

$ gem update --system 1.4.1  # Downgrade to 1.4.1
...
$ gem update --system        # Go back to current
...
$ gem install ruby-ldap
Building native extensions.  This could take a while...
Successfully installed ruby-ldap-0.9.12
1 gem installed
Installing ri documentation for ruby-ldap-0.9.12...
Installing RDoc documentation for ruby-ldap-0.9.12...
$

К вашему сведению, мне не пришлось использовать sudo, потому чтоЯ использую rvm, и я устанавливал ruby-ldap в набор проектов для каждого проекта.

...