a untested and opportunist proposal :
might be libssl & libcrypto cross depency. gcc is pointy with library order.
try to replace "-lssl -lcrypto" <with "-lssl -lcrypto -lssl" or with " -lcrypto 
-lssl -lcrypto"
Can sounds weird but when there are cross dependency, library should be listed 
twice.

Regards

________________________________
From: owner-openssl-us...@openssl.org [owner-openssl-us...@openssl.org] on 
behalf of Sachin Srivastava [sachin.srivast...@enterprisedb.com]
Sent: Thursday, May 24, 2012 5:12 PM
To: openssl-users@openssl.org
Subject: Undefined symbol _OCSP_RESPID_free in libssl.1.0.0.dylib

Hi all,

I build openssl-1.0.1c on Snow Leopard (10.6.8) with 10.5 SDK used this as 
configure option:
./Configure darwin-i386-cc --prefix=/usr/local/i386 --shared "-isysroot 
/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
make all
make install

now when I use the libs to compile a test program, I get an error, The sample 
program is (conftest.c):

 /* confdefs.h.  */
 #define PACKAGE_NAME "PostgreSQL"
 #define PACKAGE_TARNAME "postgresql"
 #define PACKAGE_VERSION "9.0.7"
 #define PACKAGE_STRING "PostgreSQL 9.0.7"
 #define PACKAGE_BUGREPORT 
"pgsql-b...@postgresql.org<mailto:pgsql-b...@postgresql.org>"
 #define PG_VERSION "9.0.7"
 #define PG_MAJORVERSION "9.0"
 #define USE_INTEGER_DATETIMES 1
 #define DEF_PGPORT 5432
 #define DEF_PGPORT_STR "5432"
 #define BLCKSZ 8192
 #define RELSEG_SIZE 131072
 #define XLOG_BLCKSZ 8192
 #define XLOG_SEG_SIZE (16 * 1024 * 1024)
 #define ENABLE_THREAD_SAFETY 1
 #define KRB5 1
 #define PG_KRB_SRVNAM "postgres"
 #define USE_PAM 1
 #define USE_LDAP 1
 #define USE_BONJOUR 1
 #define USE_SSL 1
 #define USE_LIBXML 1
 #define USE_LIBXSLT 1
 #define HAVE_LIBM 1
 #define HAVE_LIBREADLINE 1
 #define HAVE_LIBZ 1
 #define HAVE_SPINLOCKS 1
 #define HAVE_LIBCRYPTO 1
 #define HAVE_LIBSSL 1
 #define HAVE_LIBPAM 1
 #define HAVE_LIBXML2 1
 #define HAVE_LIBXSLT 1
 /* end confdefs.h.  */
 #include <ctype.h>
 #include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
 #else
 # define ISLOWER(c)              (('a' <= (c) && (c) <= 'i')               || 
('j' <= (c) && (c) <= 'r')                   || ('s' <= (c) && (c) <= 'z'))
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif

 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
 int
 main ()
 {
   int i;
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
       || toupper (i) != TOUPPER (i))
       return 2;
   return 0;
 }

And compile the above code as:

gcc -o conftest -isysroot /Developer/SDKs/MacOSX10.5.sdk 
-mmacosx-version-min=10.5 -headerpad_max_install_names -arch i386 -Wall 
-Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement 
-Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv   
-I/usr/local/include/libxml2 -I/usr/local/include -L/usr/local/lib  conftest.c 
-lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -ledit -lm

When I run the contest executable as

./conftest
dyld: Symbol not found: _OCSP_RESPID_free
  Referenced from: /usr/local/lib/libssl.1.0.0.dylib
  Expected in: /usr/local/lib/libssl.1.0.0.dylib
 in /usr/local/lib/libssl.1.0.0.dylib
Trace/BPT trap

Any help regarding the above is really helpful. The same was working when I was 
using OpenSSL 0.9.8.

Also If I use 10.6 SDK then I get no errors.


--

--
Regards,
Sachin Srivastava
EnterpriseDB, India

Reply via email to