[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openssl-dev
Subject:    Re: build error
From:       Geoff Thorpe <geoff () openssl ! org>
Date:       2001-04-23 18:59:34
[Download RAW message or body]

Hi there,

On Mon, 23 Apr 2001, Schoenwaelder Oliver wrote:

> Hi,
> 
> for use with openssh I tried to build openssl. It fails due to undefined
> symbol problems, but not the ones listed in README.
> I made "make clean ; ./Configure unixware-2.1 ; ./Configure gcc ; make"
> What's wrong?

As Lynn already pointed out, it's a problem in the linker settings OpenSSL's
configuration set up for you during "./Configure". By running "./Configure" a
second time, you are obliterating any settings you obtained from the first. I
assume that if you run;
    ./config ; make
everything is fine? (you should ensure the tree is clean before you start this
of course). You only really need "./Configure" if you want to change the target
of the build from that chosen by "./config". Even if you want to pass *extra*
precompiler settings or linker flags for any customisations you've made,
"./config" can do this for you. Likewise for any compilation options like
"no-threads", "no-asm", etc. Many platforms require certain settings to compile
and link, the "gcc" target is not aware of those things. :-) For platforms that
have multiple compilers available that are supported, there should be multiple
targets for those platforms;

FYI: If you want to see which target is being chosen by default, run;
    ./config -t
If you want to see the list of *available* targets, run;
    perl Configure -?

You probably don't want to use the "gcc" target as it knows nothing about your
system so will not add any special linker flags and may also get certain things
wrong that break the code (endianess, sizes of primitive types, etc). "gcc", if
it's used by anyone at all, is probably used by other build systems where
settings for OpenSSL and other components are centralised somewhere else.

Cheers,
Geoff


> OpenSSL version:  0.9.6a
> Last change:      Fix a couple of memory leaks in PKCS7_dataDecode()...
> OS (uname):       UNIX_SV eks-svr 4.2MP 2.1.3 i386 x86at
> OS (config):      i386-whatever-unixware213
> Target (default): unixware-2.1
> Target:           gcc
> Compiler:         gcc version 2.7.2.2
> 
> Failure!
> ----------------------------------------------------------------------------
> -

[snip]

> 	gcc -o openssl -DMONOLITH -I../include -O3 openssl.o verify.o
> asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o  ca.o
> pkcs7.o crl2p7.o crl.o  rsa.o rsautl.o dsa.o dsaparam.o  x509.o genrsa.o
> gendsa.o s_server.o s_client.o speed.o  s_time.o apps.o s_cb.o s_socket.o
> app_rand.o version.o sess_id.o  ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o
> smime.o rand.o  -L.. -lssl -L.. -lcrypto 
> Undefined			first referenced
>  symbol  			    in file
> accept                              s_socket.o
> socket                              s_socket.o
> connect                             s_socket.o
> listen                              s_socket.o
> gethostbyname                       s_socket.o
> getservbyname                       s_socket.o
> setsockopt                          s_socket.o
> ftime                               speed.o
> bind                                s_socket.o
> gethostbyaddr                       s_socket.o
> shutdown                            s_server.o
> getsockopt                          ../libcrypto.a(b_sock.o)

[snip]



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majordomo@openssl.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic