ERRORs trying to install ruby-ldap on CentOS

Discussion in 'Ruby' started by Xeno Campanoli, Dec 28, 2009.

  1. # 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 extconf.rb
    --with-ldap-dir=/usr
    --with-openldap2
    checking for ldap.h... yes
    checking for lber.h... yes
    checking for ldap_ssl.h... no
    checking for openssl/ssl.h... yes
    checking for openssl/crypto.h... yes
    checking for main() in -lcrypto... yes
    checking for main() in -lssl... yes
    checking for main() in -lnsl... yes
    checking for main() in -lpthread... yes
    checking for main() in -lresolv... yes
    checking for main() in -llber... yes
    checking for main() in -lldap_r... yes
    checking for main() in -lldap... yes
    checking for ldap_init()... yes
    checking for ldap_set_option()... yes
    checking for ldap_get_option()... yes
    checking for ldap_start_tls_s()... yes
    checking for ldap_memfree()... yes
    checking for ldap_perror()... yes
    checking for ldap_sort_entries()... yes
    checking for ldapssl_init()... no
    checking for ldap_sslinit()... no
    checking for ldap_sasl_bind_s()... yes
    checking for ldap_compare_s()... yes
    checking for ldap_add_ext_s()... yes
    checking for ldap_compare_ext_s()... yes
    checking for ldap_delete_ext_s()... yes
    checking for ldap_modify_ext_s()... yes
    checking for ldap_search_ext_s()... yes
    checking for ldap_unbind_ext_s()... yes
    checking for ldap_sasl_interactive_bind_s()... yes
    creating Makefile

    make
    gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DUSE_OPENLDAP2
    -DUSE_OPENLDAP -DLDAP_DEPRECATED -D_REENTRANT -DHAVE_LDAP_H -DHAVE_LBER_H
    -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CRYPTO_H -DHAVE_LDAP_INIT
    -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_GET_OPTION -DHAVE_LDAP_START_TLS_S
    -DHAVE_LDAP_MEMFREE -DHAVE_LDAP_PERROR -DHAVE_LDAP_SORT_ENTRIES
    -DHAVE_LDAP_SASL_BIND_S -DHAVE_LDAP_COMPARE_S -DHAVE_LDAP_ADD_EXT_S
    -DHAVE_LDAP_COMPARE_EXT_S -DHAVE_LDAP_DELETE_EXT_S -DHAVE_LDAP_MODIFY_EXT_S
    -DHAVE_LDAP_SEARCH_EXT_S -DHAVE_LDAP_UNBIND_EXT_S
    -DHAVE_LDAP_SASL_INTERACTIVE_BIND_S -DRUBY_VERSION_CODE=185 -fPIC -O2 -g -pipe
    -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
    --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fno-strict-aliasing -fPIC
    -c ldap.c
    gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DUSE_OPENLDAP2
    -DUSE_OPENLDAP -DLDAP_DEPRECATED -D_REENTRANT -DHAVE_LDAP_H -DHAVE_LBER_H
    -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CRYPTO_H -DHAVE_LDAP_INIT
    -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_GET_OPTION -DHAVE_LDAP_START_TLS_S
    -DHAVE_LDAP_MEMFREE -DHAVE_LDAP_PERROR -DHAVE_LDAP_SORT_ENTRIES
    -DHAVE_LDAP_SASL_BIND_S -DHAVE_LDAP_COMPARE_S -DHAVE_LDAP_ADD_EXT_S
    -DHAVE_LDAP_COMPARE_EXT_S -DHAVE_LDAP_DELETE_EXT_S -DHAVE_LDAP_MODIFY_EXT_S
    -DHAVE_LDAP_SEARCH_EXT_S -DHAVE_LDAP_UNBIND_EXT_S
    -DHAVE_LDAP_SASL_INTERACTIVE_BIND_S -DRUBY_VERSION_CODE=185 -fPIC -O2 -g -pipe
    -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
    --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fno-strict-aliasing -fPIC
    -c misc.c
    misc.c: In function ‘rb_ldap_get_apiinfo’:
    misc.c:56: warning: implicit declaration of function ‘RARRAY_LEN’
    misc.c:60: warning: implicit declaration of function ‘RARRAY_PTR’
    misc.c:60: error: subscripted value is neither array nor pointer
    misc.c:61: warning: implicit declaration of function ‘RSTRING_LEN’
    misc.c:61: warning: implicit declaration of function ‘RSTRING_PTR’
    misc.c:61: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes pointer
    from integer without a cast
    misc.c:61: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer from
    integer without a cast
    misc.c:64: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes pointer
    from integer without a cast
    misc.c:64: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer from
    integer without a cast
    misc.c: In function ‘rb_ldap_control_set_value’:
    misc.c:164: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes
    pointer from integer without a cast
    misc.c:164: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer from
    integer without a cast
    misc.c: In function ‘rb_ldap_control_set_oid’:
    misc.c:237: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes
    pointer from integer without a cast
    misc.c:237: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer from
    integer without a cast
    make: *** [misc.o] Error 1


    Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/ruby-ldap-0.9.9
    for inspection.
    Results logged to /usr/lib64/ruby/gems/1.8/gems/ruby-ldap-0.9.9/gem_make.out
    #

    I have tried to install all the yum openssl and openldap stuff that seems
    reasonable, but still get the above.

    xc

    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 28, 2009
    #1
    1. Advertising

  2. I guess it might be helpful to add that, though one file and two methods are
    listed as not found, more help would be desireable if these being missing imply
    some package I need to yum install or something. I have tried all the various
    openssl and openldap thingies, including the -devel packages, and all that stuff
    seems to be in there in good stead. This is CentOS 5 if that helps, as well as
    it's standard pieces for the recent installs. That reminds me...I'll try a yum
    update right now just in case that fixes it...nope, I did a complete yum update,
    and rebooted, and the gem install still fails the same way...Anyone?

    Xeno Campanoli wrote:
    > # 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 extconf.rb
    > --with-ldap-dir=/usr
    > --with-openldap2
    > checking for ldap.h... yes
    > checking for lber.h... yes
    > checking for ldap_ssl.h... no
    > checking for openssl/ssl.h... yes
    > checking for openssl/crypto.h... yes
    > checking for main() in -lcrypto... yes
    > checking for main() in -lssl... yes
    > checking for main() in -lnsl... yes
    > checking for main() in -lpthread... yes
    > checking for main() in -lresolv... yes
    > checking for main() in -llber... yes
    > checking for main() in -lldap_r... yes
    > checking for main() in -lldap... yes
    > checking for ldap_init()... yes
    > checking for ldap_set_option()... yes
    > checking for ldap_get_option()... yes
    > checking for ldap_start_tls_s()... yes
    > checking for ldap_memfree()... yes
    > checking for ldap_perror()... yes
    > checking for ldap_sort_entries()... yes
    > checking for ldapssl_init()... no
    > checking for ldap_sslinit()... no
    > checking for ldap_sasl_bind_s()... yes
    > checking for ldap_compare_s()... yes
    > checking for ldap_add_ext_s()... yes
    > checking for ldap_compare_ext_s()... yes
    > checking for ldap_delete_ext_s()... yes
    > checking for ldap_modify_ext_s()... yes
    > checking for ldap_search_ext_s()... yes
    > checking for ldap_unbind_ext_s()... yes
    > checking for ldap_sasl_interactive_bind_s()... yes
    > creating Makefile
    >
    > make
    > gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DUSE_OPENLDAP2
    > -DUSE_OPENLDAP -DLDAP_DEPRECATED -D_REENTRANT -DHAVE_LDAP_H
    > -DHAVE_LBER_H -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CRYPTO_H
    > -DHAVE_LDAP_INIT -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_GET_OPTION
    > -DHAVE_LDAP_START_TLS_S -DHAVE_LDAP_MEMFREE -DHAVE_LDAP_PERROR
    > -DHAVE_LDAP_SORT_ENTRIES -DHAVE_LDAP_SASL_BIND_S -DHAVE_LDAP_COMPARE_S
    > -DHAVE_LDAP_ADD_EXT_S -DHAVE_LDAP_COMPARE_EXT_S -DHAVE_LDAP_DELETE_EXT_S
    > -DHAVE_LDAP_MODIFY_EXT_S -DHAVE_LDAP_SEARCH_EXT_S
    > -DHAVE_LDAP_UNBIND_EXT_S -DHAVE_LDAP_SASL_INTERACTIVE_BIND_S
    > -DRUBY_VERSION_CODE=185 -fPIC -O2 -g -pipe -Wall
    > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
    > --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall
    > -fno-strict-aliasing -fPIC -c ldap.c
    > gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DUSE_OPENLDAP2
    > -DUSE_OPENLDAP -DLDAP_DEPRECATED -D_REENTRANT -DHAVE_LDAP_H
    > -DHAVE_LBER_H -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CRYPTO_H
    > -DHAVE_LDAP_INIT -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_GET_OPTION
    > -DHAVE_LDAP_START_TLS_S -DHAVE_LDAP_MEMFREE -DHAVE_LDAP_PERROR
    > -DHAVE_LDAP_SORT_ENTRIES -DHAVE_LDAP_SASL_BIND_S -DHAVE_LDAP_COMPARE_S
    > -DHAVE_LDAP_ADD_EXT_S -DHAVE_LDAP_COMPARE_EXT_S -DHAVE_LDAP_DELETE_EXT_S
    > -DHAVE_LDAP_MODIFY_EXT_S -DHAVE_LDAP_SEARCH_EXT_S
    > -DHAVE_LDAP_UNBIND_EXT_S -DHAVE_LDAP_SASL_INTERACTIVE_BIND_S
    > -DRUBY_VERSION_CODE=185 -fPIC -O2 -g -pipe -Wall
    > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
    > --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall
    > -fno-strict-aliasing -fPIC -c misc.c
    > misc.c: In function ‘rb_ldap_get_apiinfo’:
    > misc.c:56: warning: implicit declaration of function ‘RARRAY_LEN’
    > misc.c:60: warning: implicit declaration of function ‘RARRAY_PTR’
    > misc.c:60: error: subscripted value is neither array nor pointer
    > misc.c:61: warning: implicit declaration of function ‘RSTRING_LEN’
    > misc.c:61: warning: implicit declaration of function ‘RSTRING_PTR’
    > misc.c:61: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes
    > pointer from integer without a cast
    > misc.c:61: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer
    > from integer without a cast
    > misc.c:64: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes
    > pointer from integer without a cast
    > misc.c:64: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer
    > from integer without a cast
    > misc.c: In function ‘rb_ldap_control_set_value’:
    > misc.c:164: warning: passing argument 2 of ‘__builtin___memcpy_chk’
    > makes pointer from integer without a cast
    > misc.c:164: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer
    > from integer without a cast
    > misc.c: In function ‘rb_ldap_control_set_oid’:
    > misc.c:237: warning: passing argument 2 of ‘__builtin___memcpy_chk’
    > makes pointer from integer without a cast
    > misc.c:237: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer
    > from integer without a cast
    > make: *** [misc.o] Error 1
    >
    >
    > Gem files will remain installed in
    > /usr/lib64/ruby/gems/1.8/gems/ruby-ldap-0.9.9 for inspection.
    > Results logged to
    > /usr/lib64/ruby/gems/1.8/gems/ruby-ldap-0.9.9/gem_make.out
    > #
    >
    > I have tried to install all the yum openssl and openldap stuff that
    > seems reasonable, but still get the above.
    >
    > xc
    >



    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 28, 2009
    #2
    1. Advertising

  3. Xeno Campanoli

    Eric Wong Guest

    Xeno Campanoli <> wrote:
    > misc.c: In function ‘rb_ldap_get_apiinfo’:
    > misc.c:56: warning: implicit declaration of function ‘RARRAY_LEN’
    > misc.c:60: warning: implicit declaration of function ‘RARRAY_PTR’
    > misc.c:60: error: subscripted value is neither array nor pointer
    > misc.c:61: warning: implicit declaration of function ‘RSTRING_LEN’
    > misc.c:61: warning: implicit declaration of function ‘RSTRING_PTR’


    Hi Xeno, it looks like the code was ported to work with Ruby 1.9 and
    didn't bother maintaining 1.8.5 (or 1.8.6?) compatibility.

    What happens when you add the following to misc.c?

    #ifndef RSTRING_PTR
    # define RSTRING_PTR(s) (RSTRING(s)->ptr)
    #endif
    #ifndef RSTRING_LEN
    # define RSTRING_LEN(s) (RSTRING(s)->len)
    #endif

    --
    Eric Wong
     
    Eric Wong, Dec 29, 2009
    #3
  4. Eric Wong wrote:
    > Xeno Campanoli <> wrote:
    >> misc.c: In function ‘rb_ldap_get_apiinfo’:
    >> misc.c:56: warning: implicit declaration of function ‘RARRAY_LEN’
    >> misc.c:60: warning: implicit declaration of function ‘RARRAY_PTR’
    >> misc.c:60: error: subscripted value is neither array nor pointer
    >> misc.c:61: warning: implicit declaration of function ‘RSTRING_LEN’
    >> misc.c:61: warning: implicit declaration of function ‘RSTRING_PTR’

    >
    > Hi Xeno, it looks like the code was ported to work with Ruby 1.9 and
    > didn't bother maintaining 1.8.5 (or 1.8.6?) compatibility.
    >
    > What happens when you add the following to misc.c?
    >
    > #ifndef RSTRING_PTR
    > # define RSTRING_PTR(s) (RSTRING(s)->ptr)
    > #endif
    > #ifndef RSTRING_LEN
    > # define RSTRING_LEN(s) (RSTRING(s)->len)
    > #endif
    >


    I'm trying to find the gem sequence to extract it to a directory and then
    install the local directory. No such thing is mentioned in the documentation I
    am reading. Can you help me with that?

    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 29, 2009
    #4
  5. Eric Wong wrote:

    Okay, I found the sequence in the README. Sorry. It still fails, and I tried
    putting the preprocessor stuff you recommend both before and after the two
    initial includes in the file, with these results:

    # ruby extconf.rb
    --with-ldap-dir=/usr
    --with-openldap2
    checking for ldap.h... yes
    checking for lber.h... yes
    checking for ldap_ssl.h... no
    checking for openssl/ssl.h... yes
    checking for openssl/crypto.h... yes
    checking for main() in -lcrypto... yes
    checking for main() in -lssl... yes
    checking for main() in -lnsl... yes
    checking for main() in -lpthread... yes
    checking for main() in -lresolv... yes
    checking for main() in -llber... yes
    checking for main() in -lldap_r... yes
    checking for main() in -lldap... yes
    checking for ldap_init()... yes
    checking for ldap_set_option()... yes
    checking for ldap_get_option()... yes
    checking for ldap_start_tls_s()... yes
    checking for ldap_memfree()... yes
    checking for ldap_perror()... yes
    checking for ldap_sort_entries()... yes
    checking for ldapssl_init()... no
    checking for ldap_sslinit()... no
    checking for ldap_sasl_bind_s()... yes
    checking for ldap_compare_s()... yes
    checking for ldap_add_ext_s()... yes
    checking for ldap_compare_ext_s()... yes
    checking for ldap_delete_ext_s()... yes
    checking for ldap_modify_ext_s()... yes
    checking for ldap_search_ext_s()... yes
    checking for ldap_unbind_ext_s()... yes
    checking for ldap_sasl_interactive_bind_s()... yes
    creating Makefile
    # make
    gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DUSE_OPENLDAP2
    -DUSE_OPENLDAP -DLDAP_DEPRECATED -D_REENTRANT -DHAVE_LDAP_H -DHAVE_LBER_H
    -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CRYPTO_H -DHAVE_LDAP_INIT
    -DHAVE_LDAP_SET_OPTION -DHAVE_LDAP_GET_OPTION -DHAVE_LDAP_START_TLS_S
    -DHAVE_LDAP_MEMFREE -DHAVE_LDAP_PERROR -DHAVE_LDAP_SORT_ENTRIES
    -DHAVE_LDAP_SASL_BIND_S -DHAVE_LDAP_COMPARE_S -DHAVE_LDAP_ADD_EXT_S
    -DHAVE_LDAP_COMPARE_EXT_S -DHAVE_LDAP_DELETE_EXT_S -DHAVE_LDAP_MODIFY_EXT_S
    -DHAVE_LDAP_SEARCH_EXT_S -DHAVE_LDAP_UNBIND_EXT_S
    -DHAVE_LDAP_SASL_INTERACTIVE_BIND_S -DRUBY_VERSION_CODE=185 -fPIC -O2 -g -pipe
    -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
    --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -fno-strict-aliasing -fPIC
    -c misc.c
    misc.c: In function ‘rb_ldap_get_apiinfo’:
    misc.c:63: warning: implicit declaration of function ‘RARRAY_LEN’
    misc.c:67: warning: implicit declaration of function ‘RARRAY_PTR’
    misc.c:67: error: subscripted value is neither array nor pointer
    make: *** [misc.o] Error 1
    #
    ---snip---

    I don't see any other of these R.*_ preprocessor functions (well, there is an
    RB.*something, but hopefully) so that maybe if you can give me an appropriate
    #define for that one it might work...????

    xc

    > Xeno Campanoli <> wrote:
    >> misc.c: In function ‘rb_ldap_get_apiinfo’:
    >> misc.c:56: warning: implicit declaration of function ‘RARRAY_LEN’
    >> misc.c:60: warning: implicit declaration of function ‘RARRAY_PTR’
    >> misc.c:60: error: subscripted value is neither array nor pointer
    >> misc.c:61: warning: implicit declaration of function ‘RSTRING_LEN’
    >> misc.c:61: warning: implicit declaration of function ‘RSTRING_PTR’

    >
    > Hi Xeno, it looks like the code was ported to work with Ruby 1.9 and
    > didn't bother maintaining 1.8.5 (or 1.8.6?) compatibility.
    >
    > What happens when you add the following to misc.c?
    >
    > #ifndef RSTRING_PTR
    > # define RSTRING_PTR(s) (RSTRING(s)->ptr)
    > #endif
    > #ifndef RSTRING_LEN
    > # define RSTRING_LEN(s) (RSTRING(s)->len)
    > #endif
    >



    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 29, 2009
    #5
  6. Xeno Campanoli

    Eric Wong Guest

    Xeno Campanoli <> wrote:
    > Okay, I found the sequence in the README. Sorry. It still fails, and I
    > tried putting the preprocessor stuff you recommend both before and after
    > the two initial includes in the file, with these results:
    >
    > -mtune=generic -Wall -fno-strict-aliasing -fPIC -c misc.c
    > misc.c: In function ‘rb_ldap_get_apiinfo’:
    > misc.c:63: warning: implicit declaration of function ‘RARRAY_LEN’
    > misc.c:67: warning: implicit declaration of function ‘RARRAY_PTR’
    > misc.c:67: error: subscripted value is neither array nor pointer
    > make: *** [misc.o] Error 1
    > #
    > ---snip---


    OK, we got farther since it's no longer barfing on RSTRING_*
    but RARRAY_* instead.

    > I don't see any other of these R.*_ preprocessor functions (well, there
    > is an RB.*something, but hopefully) so that maybe if you can give me an
    > appropriate #define for that one it might work...????


    So just add these now, and hopefully there aren't more
    incompatibilities....

    #ifndef RARRAY_PTR
    # define RARRAY_PTR(s) (RARRAY(s)->ptr)
    #endif
    #ifndef RARRAY_LEN
    # define RARRAY_LEN(s) (RARRAY(s)->len)
    #endif

    If upgrading your version of Ruby isn't an option for you, I suggest
    grabbing the latest 1.8.7 source and taking any other macros you might
    need from the headers.

    --
    Eric Wong
     
    Eric Wong, Dec 29, 2009
    #6
  7. Eric Wong wrote:
    > Xeno Campanoli <> wrote:
    >> Okay, I found the sequence in the README. Sorry. It still fails, and I
    >> tried putting the preprocessor stuff you recommend both before and after
    >> the two initial includes in the file, with these results:
    >>
    >> -mtune=generic -Wall -fno-strict-aliasing -fPIC -c misc.c
    >> misc.c: In function ‘rb_ldap_get_apiinfo’:
    >> misc.c:63: warning: implicit declaration of function ‘RARRAY_LEN’
    >> misc.c:67: warning: implicit declaration of function ‘RARRAY_PTR’
    >> misc.c:67: error: subscripted value is neither array nor pointer
    >> make: *** [misc.o] Error 1
    >> #
    >> ---snip---

    >
    > OK, we got farther since it's no longer barfing on RSTRING_*
    > but RARRAY_* instead.
    >
    >> I don't see any other of these R.*_ preprocessor functions (well, there
    >> is an RB.*something, but hopefully) so that maybe if you can give me an
    >> appropriate #define for that one it might work...????

    >
    > So just add these now, and hopefully there aren't more
    > incompatibilities....
    >
    > #ifndef RARRAY_PTR
    > # define RARRAY_PTR(s) (RARRAY(s)->ptr)
    > #endif
    > #ifndef RARRAY_LEN
    > # define RARRAY_LEN(s) (RARRAY(s)->len)
    > #endif

    Okay, I put all this stuff into rbldap.h instead of misc.c, as I got the same
    problem for RARRAY stuff from conn.c. Then I got a compile. I haven't checked
    to see if it works yet, and I'll post further if it does not, but this is a good
    step to reply with thanks.

    >
    > If upgrading your version of Ruby isn't an option for you, I suggest
    > grabbing the latest 1.8.7 source and taking any other macros you might
    > need from the headers.
    >

    That is what I will prefer for my stuff, but the whole point of this exercise is
    to get a fairly standard deliverable on CentOS, so I'll likely need to make a
    local gem for my deliverable. I will look and see about a 1.9 install, but I'm
    afraid for these purposes the rbldap.h hack will be more appropriate.

    Thanks. I will reply with a note on whether this really works.

    Sincerely, Xeno.

    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 29, 2009
    #7
  8. Eric Wong wrote:

    Looks like that gets me to my starting point on Ubuntu Server. I may have other
    questions, but you got me started Eric. Thank you.

    xc

    > Xeno Campanoli <> wrote:
    >> Okay, I found the sequence in the README. Sorry. It still fails, and I
    >> tried putting the preprocessor stuff you recommend both before and after
    >> the two initial includes in the file, with these results:
    >>
    >> -mtune=generic -Wall -fno-strict-aliasing -fPIC -c misc.c
    >> misc.c: In function ‘rb_ldap_get_apiinfo’:
    >> misc.c:63: warning: implicit declaration of function ‘RARRAY_LEN’
    >> misc.c:67: warning: implicit declaration of function ‘RARRAY_PTR’
    >> misc.c:67: error: subscripted value is neither array nor pointer
    >> make: *** [misc.o] Error 1
    >> #
    >> ---snip---

    >
    > OK, we got farther since it's no longer barfing on RSTRING_*
    > but RARRAY_* instead.
    >
    >> I don't see any other of these R.*_ preprocessor functions (well, there
    >> is an RB.*something, but hopefully) so that maybe if you can give me an
    >> appropriate #define for that one it might work...????

    >
    > So just add these now, and hopefully there aren't more
    > incompatibilities....
    >
    > #ifndef RARRAY_PTR
    > # define RARRAY_PTR(s) (RARRAY(s)->ptr)
    > #endif
    > #ifndef RARRAY_LEN
    > # define RARRAY_LEN(s) (RARRAY(s)->len)
    > #endif
    >
    > If upgrading your version of Ruby isn't an option for you, I suggest
    > grabbing the latest 1.8.7 source and taking any other macros you might
    > need from the headers.
    >



    --
    "It's the preponderance, stupid!" - Professor Stephen Schneider, IPCC member
     
    Xeno Campanoli, Dec 29, 2009
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. nat
    Replies:
    0
    Views:
    516
  2. Xeno Campanoli
    Replies:
    2
    Views:
    223
    Xeno Campanoli
    Sep 13, 2007
  3. Xeno Campanoli
    Replies:
    13
    Views:
    314
    Xeno Campanoli
    Jan 6, 2008
  4. Xeno Campanoli
    Replies:
    2
    Views:
    290
    Xeno Campanoli
    Mar 26, 2008
  5. Mike Papper
    Replies:
    1
    Views:
    242
    Brian Candler
    Mar 29, 2011
Loading...

Share This Page