I solved this problem with
make do_solaris-shared
 
Sorry to make unnecessary waves.
(but the documentation could be a bit clearer.....)
 
                                                                          Barry
----- Original Message -----
Sent: Thursday, February 28, 2002 11:03 AM
Subject: Failure to build shared libraries on Solaris7

It seems that gcc 2.8.1 is passing the wrong arguments to LD to build shared libraries
for openssl-0-9-6a on Solaris 7  
 
     $ make report
Checking compiler...
ar: creating cctest.a
+ rm -f libcrypto.so
+ rm -f libcrypto.so.0
+ rm -f libcrypto.so
+ rm -f libcrypto.so.0.9.6
+ rm -f libssl.so.0
+ rm -f libssl.so
+ rm -f libssl.so.0.9.6
making all in crypto...
making all in crypto/md2...
making all in crypto/md4...
making all in crypto/md5...
making all in crypto/sha...
making all in crypto/mdc2...
making all in crypto/hmac...
making all in crypto/ripemd...
making all in crypto/des...
making all in crypto/rc2...
making all in crypto/rc4...
making all in crypto/rc5...
making all in crypto/bf...
making all in crypto/cast...
making all in crypto/bn...
making all in crypto/rsa...
making all in crypto/dsa...
making all in crypto/dh...
making all in crypto/dso...
making all in crypto/buffer...
making all in crypto/bio...
making all in crypto/stack...
making all in crypto/lhash...
making all in crypto/rand...
making all in crypto/err...
making all in crypto/objects...
making all in crypto/evp...
making all in crypto/asn1...
making all in crypto/pem...
making all in crypto/x509...
making all in crypto/x509v3...
making all in crypto/conf...
making all in crypto/txt_db...
making all in crypto/pkcs7...
making all in crypto/pkcs12...
making all in crypto/comp...
making all in ssl...
making all in rsaref...
making all in apps...
making all in test...
making all in tools...
+ rm -f libcrypto.so.0
+ rm -f libcrypto.so
+ rm -f libcrypto.so.0.9.6
libs='-L. '; for i in crypto; do \
( set -x; gcc  -shared -o lib$i.so.0.9.6 \
        -Wl,-S,-soname=lib$i.so.0.9.6 \
        -Wl,--whole-archive lib$i.a \
        -Wl,--no-whole-archive $libs -lsocket -lnsl -ldl -lc ) || exit 1; \
libs="$libs -l$i"; \
done
+ gcc -shared -o libcrypto.so.0.9.6 -Wl,-S,-soname=libcrypto.so.0.9.6 -Wl,--whol
e-archive libcrypto.a -Wl,--no-whole-archive -L. -lsocket -lnsl -ldl -lc
/usr/ccs/bin/ld: illegal option -- -
/usr/ccs/bin/ld: illegal option -- w
/usr/ccs/bin/ld: illegal option -- -
/usr/ccs/bin/ld: illegal option -- n
ld: warning: option -o appears more than once, first setting taken
usage: ld [-abd:e:f:h:il:mo:rstu:z:B:D:F:GI:L:M:N:Q:R:S:VY:] file(s)
        [-a]            create an absolute file
        [-b]            do not do special PIC relocations in a.out
        [-d y|n]        operate in dynamic|static mode
        [-e sym]        use `sym' as entry point address
        [-f name]       specify library for which this file is an auxiliary
                        filter
        [-h name]       use `name' as internal shared object identifier
        [-i]            ignore LD_LIBRARY_PATH setting
        [-l x]          search for libx.so or libx.a
        [-m]            print memory map
        [-o outfile]    name the output file `outfile'
        [-r]            create a relocatable object
        [-s]            strip any symbol and debugging information
        [-t]            do not warn of multiply defined symbols of different
                        sizes
        [-u sym]        create an undefined symbol `sym'
        [-z absexec]    when building an exectutable absolute symbols referenced
 in dynamic objects are
promoted to the executable.
        [-z now]        mark object as requiring non-lazy binding
        [-z defs|nodefs]
                        disallow|allow undefined symbols
        [-z direct]     specify 'direct' bindings for executable when run
        [-z groupperm|nogroupperm]
                        enable|disable setting of GROUP permissions
                        on dynamic dependencies
        [-z ignore|record]
                        ignore|record unused dynamic dependencies
        [-z initfirst]  mark object so the .init section
                        of this object is executed before the .init section
                        of other objects
        [-z loadfltr]   mark filter as requiring immediate loading of its
                        filtees at runtime
        [-z interpose]
                dynamic object is to be an `interposer' on
                direct bindings
        [-z lazyload|nolazyload]
                        enable|disable delayed loading of shared objects
        [-z muldefs]    allow multiply defined symbols
        [-z nodelete]   mark object as non-deletable
        [-z nodlopen]   mark object as non-dlopen()'able
        [-z noversion]  don't record any version sections
        [-z origin]     mark object as requiring $ORIGIN processing
        [-z redlocsym]  reduce local syms in .symtab to a minimum
        [-z text]       disallow output relocations against text
        [-z textwarn]   warn if there are relocations against text
        [-z textoff]    allow output relocations against text
        [-z weakextract]
                        allow extraction of archive members to resolve weak
                        references
        [-z allextract] extract all member files from archive files
        [-z defaultextract]
                        extract member files from archive files
                        which resolve undefined or tentative symbols
        [-z combreloc]  combine multiple relocation sections
        [-B dynamic|static]
                        search for shared libraries|archives
        [-B group]      relocate object from within group
        [-B eliminate]  eliminate unqualified global
                        symbols from the symbol table
        [-B local]      reduce unqualified global symbols to local
        [-B reduce]     process symbol reductions
        [-B symbolic]   bind external references to definitions when creating
                        shared objects
        [-B direct]     specify 'direct' bindings for executable when run
        [-B translator] specify that this object is to act as a 'translator'
                        for an application bound with -Bdirect
        [-D options]    print diagnostic messages
        [-F name]       specify library for which this file is a filter
        [-G]            create a shared object
        [-I interp]     use `interp' as path name of interpreter
        [-L path]       search for libraries in directory `path'
        [-M mapfile]    use processing directives contained in `mapfile'
        [-N file]       create a dynamic dependency on `file'
        [-Q y|n]        do|do not place version information in output file
        [-R path]       specify a library search path to be used at run time
        [-S name]       specify a link-edit support library
        [-V]            print version information
        [-Y P,dirlist]  use `dirlist' as a default path when searching for
                        libraries
*** Error code 1
make: Fatal error: Command failed for target `do_gnu-shared'
OpenSSL self-test report:
OpenSSL version:  0.9.6b
 
 
                                                Barry A Byrne
Cable and Wireless Global

Reply via email to