RE: [PHP-INSTALL] installing php 5.5.1 on to solaris 10 results in error during make
| From: | KAs Coenen | Date: | Mon, 12 Aug 2013 09:27:31 +0000 |
| Subject: | RE: [PHP-INSTALL] installing php 5.5.1 on to solaris 10 results in error during make | ||
| References: | 1 2 3 4 5 6 | Groups: | php.install |
| Request: | Send a blank email to php-install+get-20275@lists.php.net to get a copy of this message | ||
Why is that the best option?
In the meantime I was able to compile and install php using openssl 32 bit. But there is something I
don't understand. This is a 32 bit system so how comes lib are compiled in 64 bit? What is the
difference?
Kas
Date: Mon, 12 Aug 2013 13:30:38 +0600
From: eugene@zhegan.in
To: kascoenen@hotmail.com
CC: php-install@lists.php.net
Subject: Re: [PHP-INSTALL] installing php 5.5.1 on to solaris 10 results in error during make
Hi.
On 12.08.2013 13:04, KAs Coenen wrote:
I don't know if this is complete or not. I
installed openssl from source. But it reports all files as 64
bit although I downloaded the 32 bit version??
Source tarball contains sources for both architectures. It's the
compiler and linker making decision based on your environment falgs
and stuff about the target architecture.
root@zone-eu4# file libcrypto.so
libcrypto.so: ELF 64-bit LSB dynamic lib AMD64 Version 1,
dynamically linked, not stripped, no debugging information
available
root@zone-eu4# file libcrypto.so.1.0.0
libcrypto.so.1.0.0: ELF 64-bit LSB dynamic lib AMD64 Version
1, dynamically linked, not stripped, no debugging information
available
root@zone-eu4# file libssl.so
libssl.so: ELF 64-bit LSB dynamic lib AMD64 Version 1,
dynamically linked, not stripped, no debugging information
available
root@zone-eu4# file libcrypto.a
libcrypto.a: current ar archive, not a dynamic executable or
shared object
root@zone-eu4# file libssl.so.1.0.0
libssl.so.1.0.0: ELF 64-bit LSB dynamic lib AMD64 Version
1, dynamically linked, not stripped, no debugging information
available
Yup, your openssl binaries are for amd64 architecture.
I also have 2 versions installed:
root@zone-eu4# /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1e 11 Feb 2013
root@zone-eu4# which openssl
/usr/sfw/bin/openssl
root@zone-eu4# openssl version
OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969
CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339
CVE-2006-4343 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077
CVE-2009-0590 CVE-2009-3555)
root@zone-eu4#
So do I need to recompile openssl in 32 bit? Any idea how to do
it?
Well, you have now multiple choices:
- build 32-bit PHP with 32-bit openssl from Solaris base,
/usr/sfw/lib
- build 32-bit openssl 1.0.0 by supplying proper Configure arguments
(solaris-x86-gcc)
- build 64-bit PHP with 64-bit openssl you already have, by
supplying -m64 in environment CFLAGS to PHP's configure. This option
will probably require rebuilding your supplementary libraries that
you use with PHP and not contained in Solaris base (mysql, gd,
mcrypt, whatever) in 64-bit, but this is probably the most wise
option.
Eugene.