[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: symbol not found ?!



Solaris programs that use sockets used to have to link with -lsocket, and there
may have been another library.

To compile my middleware (http://home.netcom.com/~tgagne - shameless plug) on
solaris I have to use "-lsocket -lnsl" on the link line.

Speaking of the middleware, I'm thinking of add LDAP authentication to it so
that server programs can be certain clients have been authenticated...  I like
the idea.  That way, every worker may be able to avoid implementing
authentication if the middleware is doing it for it.

"Jan Z." wrote:

> > dear list,
> >
> > I've actually successfully installed and configured openldap-2.0.8 &
> 2.0.11
> > on Solaris 8. Both are running fine.
> > But now I wanted to compile php-4.0.6 --with-ldap support.
> > Compilation itself seems to work fine.
> > But unfortunately I can't start apache-1.3.20. Everytime I have this
> message
> > :
> >
> > /usr/local/www/bin/apachectl start
> > Syntax error on line 222 of /usr/local/www/conf/httpd.conf:
> >
> > Cannot load /usr/local/www/libexec/libphp4.so into server: ld.so.1:
> > /usr/local/www/bin/httpd: fatal: relocation error: file
> > /usr/lib/libldap.so.2: symbol __eprintf: referenced symbol not found
> >
> > /usr/local/www/bin/apachectl start: httpd could not be started
> >
> >
> >
> > I ldd -r /usr/local/openldap-2.08./lib/libldap.so.2 (which is the same in
> > /usr/lib) and
> >
> > libc.so.1 =>     /usr/lib/libc.so.1
> >         libdl.so.1 =>    /usr/lib/libdl.so.1
> >         symbol not found: ber_sockbuf_io_debug
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_io_tcp
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_io_readahead
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_io_fd
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         /usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1
> >         symbol not found: ber_pvt_log_print
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_memcalloc
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_memfree
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_alloc
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_add_io
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: __eprintf
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_ctrl
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_get_next
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_get_int
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_free
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_peek_tag
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_scanf
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_printf
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_reset
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_skip_tag
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_dup
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_strdup
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_memalloc
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_first_element
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_memrealloc
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_next_element
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_flatten
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_memvfree
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_bvfree
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_flush
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_sockbuf_free
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_bvecfree
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_set_option
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_alloc_t
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_write
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_log_dump
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_pvt_socket_set_nonblock
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: socket
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: shutdown
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: setsockopt
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: getpeername
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: connect
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: getaddrinfo
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: inet_ntop
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: freeaddrinfo
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: inet_ntoa
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: ber_init
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: gethostbyname_r
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: gethostbyaddr_r
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: res_query
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >         symbol not found: dn_expand
> > (/usr/local/openldap-2.0.8/lib/libldap.so.2)
> >
> >
> >
> > The problem is the same with 2.0.11
> >
> > What happened ? and why is openldap running fine itself ??
>
> ok I've recompiled 2.0.11 like this :
>
> ./configure --prefix=/usr/local/openldap-2.0.11 --enable-debug --enable-sysl
> og --with-threads
> make depend
> make
> make install
>
> libraries have been installed in /usr/local/openldap-2.0.11/lib
>
> ldd -r libldap.so gives me the same "symbol not found" output.
>
> Does anyone know why it happens ?
>
> regards,
>
> Jan

--
.tom