Hi all,
I think the problem lays with the openssl lib that I wanted to use.
If I configure using "--with-tls=no" there is no problem for the libldap.so.
It took me a while to find out that openssl is by default not compiled as a
shared lib and hence gets included in full (and probably unrelocatable?) in
the openldap lib.
The "symbol (unknown)" didn't really provide a clue. :-)

Kind regards,
Kristof Van Damme.


On 2/03/11 13:00, "Kristof Van Damme" <[email protected]> wrote:

> Hi all,
> Platform is Sun Solaris x64 10 u8.
> Compiler used is Sun Studio 12u1.
> Version is openldap-2.4.23-stable-20100719.
> 
> Configure was done with CFLAGS='-xO3 -KPIC -m64 -xtarget=generic' and
> CC="/usr/bin/cc"
> $ ./configure --prefix=/opt/app/damp64 --with-pic --with-tls=openssl
> Compilation in 64-bit (-m64) of libldap was succesfull and installed in
> /opt/app/damp64/lib.
> 
> If I create a simple main.c file:
>  int main(){ return 0; }
> 
> I compile (also 64-bit) and link this main.c file with libldap as a test.
> $ /usr/bin/cc -o conftest -xO4 -m64 -KPIC -xtarget=generic -s
> -I/opt/app/damp64/include -L/opt/app/damp64/lib -R/opt/app/damp64/lib main.c
> -lldap
> 
> When I try to run this exec linked to the newly build library libldap.so I get
> the following error:
> # ./conftest 
> ld.so.1: conftest: fatal: relocation error: R_AMD64_32: file
> /opt/app/damp64/lib/libldap-2.4.so.2: symbol (unknown): value
> 0xfffffd7fff2542f0 does not fit
> 
> This is a relocation error from the linker on the libldap. But I compiled
> everything with -KPIC (position independent code) and gave the --with-pic
> option to configure.
> This is a serious issue, as I cannot link the library to anything else and
> thus it is unusable.
> Can I file a bug report?
> 
> If I have a look in the libldap shared object, I can see .text relocations...
> # elfdump -d /opt/app/damp64/lib/libldap-2.4.so.2 | fgrep TEXTREL
>       [18]  TEXTREL           0
>       [27]  FLAGS             0x4                 [ TEXTREL ]
> 
> Kind regards,
> Kristof Van Damme.

Reply via email to