RE: installing php 5.5.1 on to solaris 10 results in error during make

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,

Because of your advice I tried to recompile php to 64 bit. First I recompiled all dependencies with flag -m64. All went well. When running make for php I get the following error:

fprintf                             0x94        /usr/local/ssl/lib/libcrypto.a(pem_lib.o)
fprintf                             0x5ce       /usr/local/ssl/lib/libcrypto.a(ui_openssl.o)
fprintf                             0x323e      /usr/local/ssl/lib/libssl.a(s3_srvr.o)
fprintf                             0x117b      /usr/local/ssl/lib/libssl.a(t1_enc.o)
fprintf                             0x1b02      /usr/local/ssl/lib/libssl.a(d1_both.o)
fprintf                             0x22d9      /usr/local/ssl/lib/libssl.a(d1_both.o)
fprintf                             0x99        /usr/local/ssl/lib/libssl.a(d1_enc.o)
fprintf                             0x348       /usr/local/ssl/lib/libcrypto.a(txt_db.o)
exit                                0x96b       /usr/local/ssl/lib/libcrypto.a(eng_rsax.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

So anything to help me out?

Kas



Date: Mon, 12 Aug 2013 15:49:31 +0600
From: eugene@xxxxxxxxx
To: kascoenen@xxxxxxxxxxx
CC: php-install@xxxxxxxxxxxxx
Subject: Re: installing php 5.5.1 on to solaris 10 results in error during make

Hi.

On 12.08.2013 15:27, KAs Coenen wrote:
Why is that the best option?
Because 64-bit binaries (processes started by them) can address (use) way more memory on amd64 architecture, while 32-bit binaries/processes can use/address less than 4 gigs of memory while running on amd64.

If total amount of memory in your server is lesser than 4 Gigs, then you don't care.

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?
Solaris is one of the oldest OS on market, that's why it has the largest experience in 64-bit area. That's, in turn, why Solaris is able to detect while booting the architecture of your machine and boot in the appropriate mode. If during the boot Solaris detects that your processor can operate in long mode, then Solaris boots 64-bit kernel. Otherwise it boots i386 kernel and operates in 32-bit mode. Solaris has both kernels and base system to operate 64- or 32-bit mode in one installation (most of the other systems are only able to run 32-bit binaries when in 64 mode, and they cannot boot 32-bit mode on 64-bit installation). That's a part of the answer why you are able to build 64-bit and 32-bit binaries. You can determine what mode your server is running by issuing the 'isainfo' command. If your server is running 64-bit kernel, you will see 'amd64 i386' output. Otherwize, 'i386'.

Eugene.

[Index of Archives]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [Postgresql]     [PHP Books]     [PHP Databases]     [PHP SOAP]
  Powered by Linux