Hi,
I think it is the libcrypto.so that is bad although the file command does not notice this.
That least that what was happening to me.

What I did was to create the shared libraries by running ld directly instead of
using cc as a frontend (this is how shared libs was build for hpux in version 0.9.7).
Basically I removed all the "-Wl,"  in front  of  linker arguments
passed via cc since they are now going directly to ld.
I also hardcoded the symbol SHAREDCMD=ld and removed the CFLAGS argument on from
the link command line since these CFLAGS should not be relevant to the linker.
I have attached patches for changed files.  I have done my changes for the "hpux-parisc-cc"
config taget in the Configure file, but you probably want to do similar changes  to the  "hpux-ia64-cc" target.
 
/Leif
 

Urjit Gokhale wrote:
Hi,
This is interesting ...
1) The piece of code in the Makefile that builds the shared object
libcrypto.so and libssl.so is here. You can notice SHLIBDEPS='-lcrypto' for
libssl.so
==================
libcrypto$(SHLIB_EXT): libcrypto.a
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
                $(MAKE) SHLIBDIRS=crypto build-shared; \
        else \
                echo "There's no support for shared libraries on this
platform" >&2; \
                exit 1; \
        fi

libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
                $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
        else \
                echo "There's no support for shared libraries on this
platform" >&2; \
                exit 1; \
        fi
==================
If I remove SHLIBDEPS='-lcrypto', the libssl.so is created. Otherwise I get
the "unknown file type" error from ld.
I still fail to understand what problem ld may have with libcrypto.so. It
reports unknown file type error whereas 'file' command gives information
about the shared object as:
==================
openssl-0.9.8b> file libcrypto.so
libcrypto.so:   ELF-32 executable object file - IA64
==================

After this, though I could create libssl.so, The make proceeds ahead and
stops while building all in engines directory. Here is the make output:
==================
+ rm -f libssl.exp
+ rm -f libssl.so
+ ln -s libssl.so.0.9.8 libssl.so
making all in engines...
+ LIBDEPS=-L.. -lcrypto -ldl
+ SHAREDCMD=cc
+
SHAREDFLAGS=+Z -DOPENSSL_PIC -DOPENSSL_THREADS  -DDSO_DLFCN -DHAVE_DLFCN_H -
D_REENTRANT -Ae +DD64 +O3
+Olit=all -z -DB_ENDIAN -D_REENTRANT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -D
AES_ASM +DD64 -b -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,lib4758cca.sl
+ nm -Pg e_4758cca.o
+ grep  [BDT]
+ cut -f1 -d
+ 1> lib4758cca.exp
+ + echo -L..
+ grep ^ *-L
+ 1> /dev/null 2>& 1
+ echo -L..
+ uniq
+ sed -e s/^ *-L//
+ echo -lcrypto
+ grep ^ *-L
+ 1> /dev/null 2>& 1
+ echo -ldl
+ grep ^ *-L
+ 1> /dev/null 2>& 1
LIBPATH=..
+ + echo ..
+ sed -e s/ /:/g
LIBPATH=..
+ cc
+Z -DOPENSSL_PIC -DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H -D_REENTRANT -
Ae +DD64 +O3
+Olit=all -z -DB_ENDIAN -D_REENTRANT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -D
AES_ASM
+DD64 -b -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,lib4758cca.sl -o
lib4758cca.sl -Wl,+forceload e_4758cca.o -L.. -lcrypto -ldl
+ LD_LIBRARY_PATH=..:/usr/lib/hpux64
(Bundled) cc: warning 922: "-Ae" is unsupported in the bundled compiler,
ignored.
(Bundled) cc: warning 922: "+O3" is unsupported in the bundled compiler,
ignored.
(Bundled) cc: warning 922: "+Olit=all" is unsupported in the bundled
compiler, ignored.
(Bundled) cc: warning 922: "-b" is unsupported in the bundled compiler,
ignored.
ld: Unknown input file type: "../libcrypto.so"
Fatal error.
+ rm -f lib4758cca.exp
chmod: can't access lib4758cca.sl
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
*** Error exit code 1
===============

Leif, could you please throw some more light on the changes made from 0.9.7
to 0.9.8 and what changes you think cause this problem.
It will be great if you could share with us, what changes you made to the
Makefile to things to work

Thanks,
~ Urjit

----- Original Message ----- 
From: "Leif Thuresson" <[EMAIL PROTECTED]>
To: <openssl-users@openssl.org>
Sent: Tuesday, August 29, 2006 11:35 PM
Subject: Re: Build problem on HP Itanium 64 bit machine


  
Hi,
I have also had problems building shared version of openssl-0.9.8b
 on hpux-11.00 parisc using the hp ansi-c compiler.
It looks like the openssl shared-library building part is completely
re-implemented in 0.9.8 (compared to 0.9.7 which worked out of the box)
In 0.9.7 shared libraries where linked using ld directly on this platform,
but in 0.9.8 the configuration is setup to link shared libraries by
running cc as a frontend to ld and this does not work for me.
(maybe I have an ancient version of hp ansi-c that does not support this?)

You can get a bit more insight into what is going on during the  linking
by uncommenting the  #SET_X=set -x  line in the  Makefile.shared

At this stage I have hand edited the Makefile and Makefile.shared
to make it link directly with ld as in 0.9.7 and I have now managed to
build shared libraries. I'm running the tests as I write this and it looks
at least some test works okay now. :-)

/Leif

Urjit Gokhale wrote:
    
Hi everyone,

I am having problem building openssl on HP Itanium 64 bit box.
Attached are the files that show the output of Configure and make. The
output of make is stripped to show the last section where error is
reported.

The error is
ld: Unknown input file type: "./libcrypto.so"
Fatal error.
I am also getting many "Unsatisfied symbol" errors during make.

The cc version is:
openssl-0.9.8b> cc --version
(Bundled) cc: HP aC++/ANSI C B3910B A.05.50 [May 15 2003]
at the end of unsuccessful make, this is what I have
 libcrypto.a
libcrypto.so -> libcrypto.so.0.9.8
libcrypto.so.0.9.8
libssl.a

Has anyone faced this problem? Does openssl have dependency on a
specific version of cc? Is there any problem with the enable-shared
option?
If you require any more information about the environment, please let
me know.

Thanks,
~ Urjit
DISCLAIMER ========== This e-mail may contain privileged and
confidential information which is the property of Persistent Systems
Pvt. Ltd. It is intended only for the use of the individual or entity
to which it is addressed. If you are not the intended recipient, you
are not authorized to read, retain, copy, print, distribute or use
this message. If you have received this communication in error, please
notify the sender and delete all copies of this message. Persistent
Systems Pvt. Ltd. does not accept any liability for virus infected
      
mails.
  
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

    


DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the property of Persistent Systems Pvt. Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Pvt. Ltd. does not accept any liability for virus infected mails.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]
  

Attachment: openssl098b-hpux11_conf_patch.tgz
Description: application/compressed

Reply via email to