Re: Unable to resolve the OpenSSL functions while linking - Openssl

This is a discussion on Re: Unable to resolve the OpenSSL functions while linking - Openssl ; Hi Jimmy, [EMAIL PROTECTED] wrote: Hi, I am using the OpenSSL 0.9.7g 11 Apr 2005 on solaris machine for one appliacation.We are porting the same application to the Redhat Linux (Linux tam1 2.4.21-27.ELsmp #1 SMP ). We successfully deployed the ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Re: Unable to resolve the OpenSSL functions while linking

  1. Re: Unable to resolve the OpenSSL functions while linking

    Hi Jimmy,


    [EMAIL PROTECTED] wrote:


    Hi,

    I am using the OpenSSL 0.9.7g 11 Apr 2005 on solaris machine for one
    appliacation.We are porting the same application to the Redhat Linux (Linux
    tam1 2.4.21-27.ELsmp #1 SMP ).
    We successfully deployed the above openssl version in the linux box.And we
    successfully compiled the application. In this application I am using these
    OpenSSL functions in one shared library.Checked the shared library using ldd
    command whether these functions are correctly linked or not.That time we are
    facing undefined symbol errors against the OpenSSL functions.For more calrity
    please have a look at the below snapshot.

    ================================================== =====
    [EMAIL PROTECTED] libcode]# ldd -r libxauthn.so
    libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00717000)
    libpdxauthnutils.so => /usr/lib/libpdxauthnutils.so (0x006f0000)
    libpdauthzn.so => /usr/lib/libpdauthzn.so (0x00da4000)
    libc.so.6 => /lib/tls/libc.so.6 (0x0015e000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x002c4000)
    libdl.so.2 => /lib/libdl.so.2 (0x009d4000)
    libpdira.so => /usr/lib/libpdira.so (0x002da000)
    libpdutil.so => /usr/lib/libpdutil.so (0x00423000)
    libpdauthn.so => /usr/lib/libpdauthn.so (0x00b4f000)
    undefined symbol: d2i_X509 (./libxauthn.so)
    undefined symbol: ERR_get_error (./libxauthn.so)
    undefined symbol: X509_get_issuer_name (./libxauthn.so)
    undefined symbol: X509_NAME_get_entry (./libxauthn.so)
    undefined symbol: ASN1_STRING_data (./libxauthn.so)
    undefined symbol: OBJ_sn2nid (./libxauthn.so)
    undefined symbol: X509_get_ext_d2i (./libxauthn.so)
    undefined symbol: sk_num (./libxauthn.so)
    undefined symbol: sk_value (./libxauthn.so)
    undefined symbol: ASN1_STRING_length (./libxauthn.so)
    undefined symbol: regcmp (./libxauthn.so)
    undefined symbol: regex (./libxauthn.so)
    undefined symbol: __loc1 (./libxauthn.so)
    undefined symbol: X509_get_subject_name (./libxauthn.so)
    undefined symbol: X509_NAME_oneline (./libxauthn.so)
    undefined symbol: BIO_new_fp (./libxauthn.so)
    undefined symbol: ERR_print_errors_fp (./libxauthn.so)
    undefined symbol: X509_signature_print (./libxauthn.so)
    ================================================== ======

    May I know why I am getting there errors
    And onemore thing is whether the openSSL executable will be different fromUnix
    to Linux operating system.?
    Please help me out from this situation.



    So did you link with libssl and libcrypto while building the shared library(libxauthn.so)?

    Regards
    Sunil.


    -jb
    --
    Real computer scientists don't comment their code. The identifiers are
    so long they can't afford the disk space.

    Yes,We linked the sharedlibraries libssl and libcrypto while building.
    This is how my Makefile looks like

    =====================================
    LINUX_TARGET =libxauthn.so
    LINUX_LIBS =-lpthread -lpdxauthn -lpdxauthnutils -lpdauthzn
    LINUX_CFLAGS =-I. -I/opt/pdwebrte/pdxauthn_adk/include -I/opt/PolicyDirector/include -I/usr/local/ssl/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -g
    LINUX_LFLAGS =-L/opt/pdwebrte/pdxauthn_adk/lib -L/usr/lib -L/usr/local/ssl/lib/libcrypto.a -L/usr/local/ssl/lib/libssl.a

    #LINUX_LFLAGS =-L/opt/pdwebrte/pdxauthn_adk/lib -L/usr/lib -lcrypto -lssl
    LINUX_DCFLAGS =-g2
    LINUX_DLFLAGS =-g2
    LINUX_CC =gcc
    LINUX_LD =gcc
    LINUX_LINK_DLL =gcc -shared
    LINUX_DELETE =rm -f
    LINUX_O_EXT =o

    TARGET =$(LINUX_TARGET)
    DCFLAGS =$(LINUX_DCFLAGS)
    DLFLAGS =$(LINUX_DLFLAGS)
    CFLAGS =$(LINUX_CFLAGS) $(DCFLAGS)
    IFLAGS =$(LINUX_IFLAGS)
    LFLAGS =$(LINUX_LFLAGS) $(DLFLAGS)
    LIBS =$(LINUX_LIBS)
    CC =$(LINUX_CC)
    LD =$(LINUX_LD)
    LINK_DLL =$(LINUX_LINK_DLL)
    DELETE =$(LINUX_DELETE)
    O_EXT =$(LINUX_O_EXT)

    # ************************************************** *********************
    # Main body of the Makefile
    # ************************************************** *********************
    REQ_OBJS =xauthn.$(O_EXT) CCAIntialize.$(O_EXT) CCAAuthenticate.$(O_EXT)
    all: $(TARGET)
    clean:
    $(DELETE) $(REQ_OBJS) $(TARGET)
    libxauthn.a: $(REQ_OBJS)
    $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    libxauthn.so: $(REQ_OBJS)
    $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    libxauthn.sl: $(REQ_OBJS)
    $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    ================================================== =====

    Regards
    Sunil



    Please do not print this email unless it is absolutely necessary.

    The information contained in this electronic message and any attachments tothis message are intended for the exclusive use of the addressee(s) and maycontain proprietary, confidential or privileged information. If you are notthe intended recipient, you should not disseminate, distribute or copy thise-mail. Please notify the sender immediately and destroy all copies of thismessage and any attachments.

    WARNING: Computer viruses can be transmitted via email. The recipient shouldcheck this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.

    www.wipro.com


  2. Re: Unable to resolve the OpenSSL functions while linking

    sunil.kumarvvn@wipro.com wrote:
    > Hi Jimmy,
    >
    >
    > Yes,We linked the sharedlibraries libssl and libcrypto while building.
    >
    > This is how my Makefile looks like
    > =====================================
    >
    > LINUX_TARGET =libxauthn.so
    > LINUX_LIBS =-lpthread -lpdxauthn -lpdxauthnutils -lpdauthzn
    > LINUX_CFLAGS =-I. -I/opt/pdwebrte/pdxauthn_adk/include -I/opt/PolicyDirector/include -I/usr/local/ssl/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -g


    > LINUX_LFLAGS =-L/opt/pdwebrte/pdxauthn_adk/lib -L/usr/lib *-L/usr/local/ssl/lib/libcrypto.a -L/usr/local/ssl/lib/libssl.a


    This line above isn't right. The line commented below looks right. '-L'
    is for library search paths, specify libraries with '-l'. So -lssl
    -lcrypto is the way to do it.

    So it seems that you really aren't linking with openssl.

    >
    > *#LINUX_LFLAGS =-L/opt/pdwebrte/pdxauthn_adk/lib -L/usr/lib -lcrypto -lssl


    > LINUX_DCFLAGS =-g2
    > LINUX_DLFLAGS =-g2
    > LINUX_CC =gcc
    > LINUX_LD =gcc
    > LINUX_LINK_DLL =gcc -shared
    > LINUX_DELETE =rm -f
    > LINUX_O_EXT =o
    >
    >
    >
    > TARGET =$(LINUX_TARGET)
    > DCFLAGS =$(LINUX_DCFLAGS)
    > DLFLAGS =$(LINUX_DLFLAGS)
    > CFLAGS =$(LINUX_CFLAGS) $(DCFLAGS)
    > IFLAGS =$(LINUX_IFLAGS)
    > LFLAGS =$(LINUX_LFLAGS) $(DLFLAGS)
    > LIBS =$(LINUX_LIBS)
    > CC =$(LINUX_CC)
    > LD =$(LINUX_LD)
    > LINK_DLL =$(LINUX_LINK_DLL)
    > DELETE =$(LINUX_DELETE)
    > O_EXT =$(LINUX_O_EXT)
    >
    >
    > # ************************************************** *********************
    > # Main body of the Makefile
    > # ************************************************** *********************
    > REQ_OBJS =xauthn.$(O_EXT) CCAIntialize.$(O_EXT) CCAAuthenticate.$(O_EXT)
    >
    > all: $(TARGET)
    >
    > clean:
    > $(DELETE) $(REQ_OBJS) $(TARGET)
    >
    > libxauthn.a: $(REQ_OBJS)
    > $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    >
    > libxauthn.so: $(REQ_OBJS)
    > $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    >
    > libxauthn.sl: $(REQ_OBJS)
    > $(LINK_DLL) $(LFLAGS) -o $(TARGET) $(REQ_OBJS) $(LIBS)
    >
    > ================================================== =====
    >
    >
    >
    > Regards
    >
    > Sunil
    >


    -jb
    --
    Real computer scientists don't comment their code. The identifiers are
    so long they can't afford the disk space.
    __________________________________________________ ____________________
    OpenSSL Project http://www.openssl.org
    User Support Mailing List openssl-users@openssl.org
    Automated List Manager majordomo@openssl.org


+ Reply to Thread