Solved

ldap_simple_bind_s problem with 64 bit compiled LDAP C SDK on Solaris 5.8

Posted on 2004-10-07
7
401 Views
Last Modified: 2013-12-21
I've downloaded the ldap c sdk for 64 bits from the Sun site and am trying to run the examples. I've built them with the flags in the Makefile for Solaris 64 bits. When running the csearch example the ldap_simple_bind_s call fails. If I run the same example in 32 bit mode with the 32 bit libraries it works fine. Has anyone been able to get ldap_simple_bind_s to work in 64 bit mode with the ldap c sdk kit? If so, what compiler did you use and what were the options? I'm using Forte 6.2.

Thanks in advance.
0
Comment
Question by:Russell_Shapiro
  • 2
  • 2
  • 2
7 Comments
 
LVL 38

Expert Comment

by:yuzh
ID: 12255621
I have not used Forte 6.2. to build 64 bit ldap_simple_bind_s bianry myself.

To use Forte compilers to build 64 bit binary, you need to complie with "-xarch=v9"
to produces 64 bit bianry. eg, setting CXXFLAGS to -xarch=v9 before   running configure .

see "Solaris 64 bit Developer's FAQ":
http://docs.sun.com/db/doc/806-0477/6j9r2e2bq?a=view

"Solaris 64-bit Developer's Guide"
http://docs.sun.com/db/doc/806-0477

If you want to use gcc to produce 64 bit binary, you need to use "-mcpu=v9 -m64" with gcc.
0
 

Author Comment

by:Russell_Shapiro
ID: 12257571
Thanks I am already using the -xarch=v9 flag with the Forte compiler. Have you gotten ldap_simple_bind_s to work with gcc with the 64 bit flags?
0
 
LVL 38

Expert Comment

by:yuzh
ID: 12283795
No, I have not tried it.

ldap_simple_bind_s shipped with Solaris OS, SUNWcsl (32-bit), SUNWcslx (64-bit).
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 51

Expert Comment

by:ahoffmann
ID: 12312001
can you please post results of:
  isainfo -vk
  isainfo -v
  ldd ldap_simple_bind_s
  elfdump ldap_simple_bind_s   # just the relevant parts here
0
 

Accepted Solution

by:
Russell_Shapiro earned 0 total points
ID: 12312154

I have found out that this is an existing bug in Solaris 5.8 ldap C SDK 64 bit libraries. Note: this is the downloaded ldap C SDK that has more functionality than the ldap libs that Sun provides with Solaris which are quite old.

The call to ldap_simple_bind_s is broken with this configuration.

If you are in this situation you can either upgrade to Solaris 9 which doesn't have this problem with the 64 bit libraries or call prldap_init instead of ldap_init as a workaround. This workaround will make the ldap_simple_bind_s call work. Sun may come out with a patch for the Solaris 5.8 64 bit libs but not sure if/when that will happen.

Do I get a discount for answering my own question? :-)
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 12312370
the PE will koin soon, I'd suggest PAQ and refund
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
UNiX Script filesystem space usage 19 77
Skill Development 15 183
UNIX SCP 5 83
Linux "time" command output redirection 16 181
Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question